Repository navigation
Benchmark: score the winapp-performance and winui-devtools skills - #1111
Conversation
Add a current winapp capability map for all 14 shipped skills, keep legacy maps for older results, recognize 'winapp perf' commands, and reword the winapp-performance description so it no longer leaks a held-out fixture's wording. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 72865eb6-685a-4ede-8516-17cfe8abcc86
There was a problem hiding this comment.
🟡 Changes recommended
Performance-only skill loads incorrectly pass unrelated build and crash scenarios, inflating benchmark scores.
1 open finding
What changed in this PR
Updates agent benchmark scoring for the current 14-skill winapp plugin while retaining maps for older skill sets.
Changes:
- Adds current and historical capability maps.
- Recognizes
winapp perfcommands and adds scoring tests. - Updates benchmark documentation and adjusts skill wording to clear prompt-leak lint.
| File | Description |
|---|---|
| plugins/winapp/skills/winapp-performance/SKILL.md | Replaces “crash dumps” with “crash analysis”. |
| benchmarks/agents/tests/Capabilities.Tests.ps1 | Tests performance capability scoring. |
| benchmarks/agents/tests/Benchmark.Tests.ps1 | Tests performance command extraction. |
| benchmarks/agents/README.md | Documents the updated map and performance credit. |
| benchmarks/agents/lib/Benchmark.psm1 | Recognizes perf commands. |
| benchmarks/agents/capabilities.json | Adds skill-set maps and performance scoring rules. |
🧠 Review effort: Balanced
💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Mapping it to winui.build let a perf-only load pass unrelated build and crash scenarios. No scenario measures runtime performance, so map it to no capability and stop counting perf commands toward winui.build. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 72865eb6-685a-4ede-8516-17cfe8abcc86
Build Metrics ReportValidation passed. All required build and validation jobs succeeded. Binary Sizes
.NET Test Results (TRX reports)Other suites are reflected in the overall validation status above. ✅ 10419 passed, 43 skipped out of 10462 tests in 1951.7s (-292.8s vs. baseline) Test Coverage✅ 87.2% line coverage, 81.3% branch coverage · ✅ no change vs. baseline CLI Startup Time60ms median (x64, Updated 2026-10-16 08:26:08 UTC · commit |

What and why
The agent benchmark is broken on main since
winapp-performance(#837) andwinui-devtools(#943) shipped:benchmarks\agents\run.ps1 -Lintreports 1 error, and benchmark Pester has 2 failures.winapp perf ...commands aren't recognized by the command extractor.This PR:
winappmap for all 14 skills.winapp-performancemaps to no capability for now: no scenario measures runtime performance, and crediting it aswinui.buildwould let it pass unrelated build and crash scenarios.winapp perfcommands are recorded but count toward nothing.winapp-performance, 13 withoutwinui-devtools, and the original 12.winapp-performanceskill description, "not crash dumps" → "not crash analysis". A held-out benchmark prompt mentions a "crash dump", so the old wording leaked into routing and failed lint. The meaning is the same.Before / after
Before (main)
After
Not tested / risks
No live agent runs. Validation covers lint, Pester,
-Plan, and the plugin validator.Checklist
plugins/winapp/skills/updated if user-facing behavior changedNotes for reviewers
Commands run on this branch:
.\benchmarks\agents\run.ps1 -Lint: 0 errorsInvoke-Pester -Path .\benchmarks\agents\tests,.\benchmarks\tasks\tests,.\benchmarks\ui\tests: 350 passed, 0 failed.\benchmarks\agents\run.ps1 -Plan: runs (1710 sessions).\scripts\validate-plugin-package.ps1: passedSkill-set hashes (computed on main's skill names): current 14 =
e20195ae2f87; without performance =ea21288d7949(main's former current map); without devtools =93d52ca8d877; without both =4a4abc8b6541.Giving
winapp-performanceits own capability would need at least two held-out scenarios (a test requires that for every capability), so it's left for a follow-up. Ported from the benchmark part of draft #1060 only; none of its skill splits are included.