Fix dotnet-msbuild skill eval regressions and coverage gaps (#896) - #910
Conversation
Addresses the cross-family evaluation findings in #896. P0: - eval-performance: add diagnostic-first framing + explicit stop-conditions and gate prescriptive fixes on measurement, to stop over-application regressions. - msbuild-antipatterns: rewrite description with an action-verb lead and concrete trigger phrases to fix low invocation (FIX-DISCOVERY). P1: - Add cross-family eval.vally.yaml for extension-points, item-management, property-patterns, and target-authoring (previously excluded from the matrix). - check-bin-obj-clash: trim 465 -> 315 lines, removing the redundant text-log fallback steps, duplicate example workflow, and verbose tips (TRIM-COST). P2: - build-parallelism: add an opinionated 'start here' critical-path checklist. - binlog-generation: add one-build-one-binlog rule and a verify step. Keeps the plugin under the 15,000-char rendered skill-menu budget (14,981 -> 14,873).
Skill Coverage Report
Uncovered:
|
|
/evaluate |
There was a problem hiding this comment.
Pull request overview
This PR updates the dotnet-msbuild plugin’s skill docs and cross-family Vally evaluation coverage to address the evaluation findings/regressions tracked in #896, with a focus on improving skill discovery/behavior and expanding the scored test matrix.
Changes:
- Add cross-family
eval.vally.yamlcoverage for additionaldotnet-msbuildskills (extension points, item management, property patterns, target authoring). - Refine multiple
dotnet-msbuildSKILL.md documents to improve invocation triggers, reduce over-prescription, and tighten diagnostic guidance (notablyeval-performance,msbuild-antipatterns,check-bin-obj-clash,build-parallelism,binlog-generation).
Show a summary per file
| File | Description |
|---|---|
| tests/dotnet-msbuild/target-authoring/eval.vally.yaml | Adds cross-family Vally stimuli/graders for target-authoring. |
| tests/dotnet-msbuild/property-patterns/eval.vally.yaml | Adds cross-family Vally stimuli/graders for property-patterns. |
| tests/dotnet-msbuild/item-management/eval.vally.yaml | Adds cross-family Vally stimuli/graders for item-management. |
| tests/dotnet-msbuild/extension-points/eval.vally.yaml | Adds cross-family Vally stimuli/graders for extension-points. |
| plugins/dotnet-msbuild/skills/msbuild-antipatterns/SKILL.md | Reworks description to improve discovery/trigger phrasing and scope clarity. |
| plugins/dotnet-msbuild/skills/eval-performance/SKILL.md | Adds measurement-first framing and stop-conditions to avoid misapplication. |
| plugins/dotnet-msbuild/skills/check-bin-obj-clash/SKILL.md | Trims/condenses the fallback workflow guidance and tips. |
| plugins/dotnet-msbuild/skills/build-parallelism/SKILL.md | Adds a “start here” critical-path checklist and sharpens the trigger. |
| plugins/dotnet-msbuild/skills/binlog-generation/SKILL.md | Adds “one build = one binlog” guidance and a “verify binlog exists” step. |
Copilot's findings
Tip
Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Files reviewed: 9/9 changed files
- Comments generated: 2
|
👋 @JanKrivanek — this PR has 2 unresolved review thread(s). When you're ready, please address the feedback and push an update; the triage bot will pick up the next state automatically. (Add the |
Skill Validation Results
[1] (Plugin) Quality unchanged but weighted score is -3.4% due to: tokens (103651 → 171992)
Model: claude-opus-4.6 | Judge: claude-opus-4.6 🔍 Full Results - additional metrics and failure investigation steps
▶ Sessions Visualisation -- interactive replay of all evaluation sessions |
… shell-labeled binlog verify commands (#896) - check-bin-obj-clash: use [[:space:]] instead of non-portable \s in ERE; replace 'grep -c' note with an accurate per-project uniq -c count. - binlog-generation: label verify commands by shell and add the Windows cmd (dir /b) equivalent instead of mislabeling ls as cmd.
…roject path in per-project eval count (#896) - build-parallelism: spell out 'dotnet build -m -bl:{{}}' for PowerShell so the -m flag isn't dropped. - check-bin-obj-clash: match the full quoted project path (not just filename) so same-named projects in different dirs stay distinct and paths with spaces work.
|
/evaluate |
Skill Validation Results
[1] Model: claude-opus-4.6 | Judge: claude-opus-4.6 🔍 Full Results - additional metrics and failure investigation steps
▶ Sessions Visualisation -- interactive replay of all evaluation sessions |
|
✅ Evaluation passed for |
Addresses the cross-family skill-evaluation findings in #896 for the
dotnet-msbuildplugin.P0
eval-performance(FIX-REGRESSION) — added diagnostic-first framing and explicit stop-conditions (do not act on compile-time slowness, incremental issues, or unmeasured builds), and reframed prescriptiveFix:bullets as measurement-gated remedies. Stops the skill over-applying and regressing baseline.msbuild-antipatterns(FIX-DISCOVERY) — rewrote the description with an action-verb lead (Detect and fix…) and concrete trigger phrases ('is this project file correct?','what's wrong with my build file?') to raise invocation.P1
eval.vally.yamlforextension-points,item-management,property-patterns, andtarget-authoring(previously excluded from the matrix), translated from each skill's baseeval.yaml.check-bin-obj-clash(TRIM-COST) — trimmed 465 -> 315 lines by collapsing the redundant text-log fallback (Steps 2-9), removing the duplicate example workflow, and condensing tips. MCP primary workflow, Common Causes/Fixes, and the Global Properties table are kept.P2 (strengthen)
build-parallelism— added an opinionatedDiagnose a slow parallel build (start here)critical-path checklist and sharpened the trigger.binlog-generation— added aone build = one binlogrule and averify the binlog existsstep.Validation
eval-performancerubric keywords andcheck-bin-obj-clashdetection keywords preserved; no editor errors.skill-validator checkand the full cross-family vally evals were not runnable locally (SDK build blocked by network TLS; evals need live model runs) — they should run in CI to confirm the P0/P2 skills now win and the 4 newly-covered skills land on the scorecard.Refs #896
(Coauthored by Copilot)