Skip to content

[TEST] Combined eval troubleshooting guide + MCP C# skills - #443

Closed
danmoseley wants to merge 43 commits into
mainfrom
danmose/eval-combined-test
Closed

[TEST] Combined eval troubleshooting guide + MCP C# skills#443
danmoseley wants to merge 43 commits into
mainfrom
danmose/eval-combined-test

Conversation

@danmoseley

Copy link
Copy Markdown
Contributor

Throwaway PR to test evaluation troubleshooting guide (#441) with MCP C# skills (#317).

Combines both PRs to see if the troubleshooting output is useful when there are real eval failures.

This PR should be closed after testing -- do not merge.

leslierichardson95 and others added 30 commits March 10, 2026 10:55
Four new skills for the C# MCP server development lifecycle:
- mcp-csharp-create: Scaffolding with dotnet new mcpserver, tools/prompts/resources, transport config
- mcp-csharp-debug: MCP Inspector, VS Code integration, breakpoint debugging, logging
- mcp-csharp-test: Unit tests with ClientServerTestBase, integration with WebApplicationFactory, evals
- mcp-csharp-publish: NuGet packaging, Docker/Azure deployment, MCP Registry publishing

Each skill includes SKILL.md with progressive disclosure references/ and eval.yaml tests.
…te syntax

Replace scaffolding-heavy scenarios with implementation-focused ones that
test MCP-specific features (resources, prompts, logging). Fix assertion
patterns to match combined C# attribute syntax [McpServerTool, Description()]
instead of requiring standalone [McpServerTool]. Increase timeouts to 180s
to account for skill-reading overhead.

Validator result: passed=True, improvement=44.6% (threshold=10%)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…aging.md

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Cross-skill references used ../sibling/SKILL.md paths which the
validator rejects. Replace with backtick-quoted skill names to match
the convention used by other skills in the repo.
Add domains referenced by the mcp-csharp-* skills:
- github.com/modelcontextprotocol/registry
- github.com/open-telemetry/semantic-conventions
- npmjs.com, xunit.net, fluentassertions.com, nugettest.org

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
The URL regex truncates at angle brackets (invalid in URIs), so
placeholder URLs like https://github.com/<yourusername>/<repo>
become https://github.com/ which didn't match any path-scoped entry.
Adding github.com/ (with trailing slash) covers only this case without
broadly allowing all github.com URLs.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
leslierichardson95 and others added 11 commits March 20, 2026 15:37
McpServerToolType is only needed with WithToolsFromAssembly(), which is
discouraged because it is not Native AOT compatible. Updated eval assertions
and rubrics to prefer WithTools<T>() instead.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Increase mcp-csharp-create timeouts from 180s (or default 120s) to 360s
  for all 3 scenarios. These scenarios consistently time out because the
  model spends time on bash exploration/scaffolding before writing code.

- Add explicit timeout to scenario 3 which was relying on the 120s default.

- Broaden mcp-csharp-debug Inspector rubric to accept both the concise
  single CLI command style and the step-by-step UI configuration walkthrough,
  since both are correct approaches.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Add InvestigatingResults.md with:
- How to find and download evaluation artifacts from workflow runs
- Full results.json schema documentation
- Common failure patterns (timeouts, empty output, variance, rubric
  issues, skill not activated) with diagnosis steps and fixes
- Example analysis script for AI agents to parse results

Link the doc from:
- Reporter.cs: show a link in the PR comment when any skill fails
- skill-validator README.md: Output section
- CONTRIBUTING.md: CI evaluation section

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…oaches

The rubric criterion 'Shows how to attach a debugger' was too narrow.
The skilled answer correctly focused on the #1 cause (stdout pollution)
but scored low because it didn't show a specific 'attach to process' flow.
Broadened to accept any valid debugging approach: attaching, Debugger.Launch(),
or launch.json configuration.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings March 25, 2026 03:17
@danmoseley

Copy link
Copy Markdown
Contributor Author

/evaluate

@danmoseley danmoseley added the DO NOT MERGE Flagging for ensuring that the issue is not merged. label Mar 25, 2026
- Use skillActivationIsolated/skillActivationPlugin (not generic skillActivation)
- Clarify timestamp is when results were written, not run start

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Combines an evaluation troubleshooting guide with new MCP C# skills and their eval scenarios, and wires CI reporting to provide investigation guidance when evals fail.

Changes:

  • Add MCP C# skills (create/debug/test/publish) reference content plus new eval scenarios under tests/dotnet-ai/.
  • Add InvestigatingResults.md and link it from skill-validator outputs, README, and CONTRIBUTING.
  • Update the evaluation workflow to append a copy/paste investigation prompt and expand known-domains.txt / CODEOWNERS.

Reviewed changes

Copilot reviewed 23 out of 23 changed files in this pull request and generated 8 comments.

Show a summary per file
File Description
tests/dotnet-ai/mcp-csharp-create/eval.yaml New eval scenarios for MCP server creation guidance.
tests/dotnet-ai/mcp-csharp-debug/eval.yaml New eval scenarios for MCP server debugging/IDE/Inspector guidance.
tests/dotnet-ai/mcp-csharp-test/eval.yaml New eval scenarios for unit/integration testing guidance.
tests/dotnet-ai/mcp-csharp-publish/eval.yaml New eval scenarios for NuGet/Docker/Azure/Registry publishing guidance.
plugins/dotnet-ai/skills/mcp-csharp-create/SKILL.md New skill content for creating MCP servers in C#.
plugins/dotnet-ai/skills/mcp-csharp-create/references/api-patterns.md Reference doc for C# MCP SDK attributes/DI/return types/builder API.
plugins/dotnet-ai/skills/mcp-csharp-create/references/transport-config.md Reference doc for stdio/HTTP transport config, auth, observability.
plugins/dotnet-ai/skills/mcp-csharp-debug/SKILL.md New skill content for running/debugging MCP servers.
plugins/dotnet-ai/skills/mcp-csharp-debug/references/ide-config.md Reference doc for VS Code/VS configuration (mcp.json/launch.json).
plugins/dotnet-ai/skills/mcp-csharp-debug/references/mcp-inspector.md Reference doc for MCP Inspector usage/troubleshooting.
plugins/dotnet-ai/skills/mcp-csharp-test/SKILL.md New skill content for testing MCP servers.
plugins/dotnet-ai/skills/mcp-csharp-test/references/test-patterns.md Reference code patterns for mocking/in-memory/HTTP testing.
plugins/dotnet-ai/skills/mcp-csharp-publish/SKILL.md New skill content for packaging/deployment/registry publishing.
plugins/dotnet-ai/skills/mcp-csharp-publish/references/nuget-packaging.md Reference doc for NuGet tool packaging + server.json example.
plugins/dotnet-ai/skills/mcp-csharp-publish/references/docker-azure.md Reference doc for Dockerfile + Azure deployment patterns.
plugins/dotnet-ai/skills/mcp-csharp-publish/references/mcp-registry.md Reference doc for MCP Registry publishing workflows.
eng/skill-validator/InvestigatingResults.md New troubleshooting guide describing results.json + failure patterns.
eng/skill-validator/README.md Adds link to troubleshooting guide from output docs.
CONTRIBUTING.md Adds link to troubleshooting guide in CI evaluation section.
eng/skill-validator/src/Evaluate/Reporter.cs Appends troubleshooting link in generated markdown summaries on failures.
.github/workflows/evaluation.yml Adds “copy/paste to AI agent” prompt to PR comment when failures detected.
eng/known-domains.txt Expands allowlist and documents matching behavior.
.github/CODEOWNERS Adds ownership entries for new skills/tests and an agent entry.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +56 to +60
await using var client = await CreateMcpClientForServer();
var result = await client.CallToolAsync("my_tool",
new() { ["input"] = "test" },
cancellationToken: TestContext.Current.CancellationToken);
Assert.NotNull(result);

Copilot AI Mar 25, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This sample uses TestContext.Current.CancellationToken, which is not part of standard xUnit test projects and will be unfamiliar/unavailable to most users. Prefer CancellationToken.None (or omit the parameter) in documentation samples, or show how to pass a cancellation token via the test’s own setup if you want to demonstrate cancellation.

Copilot uses AI. Check for mistakes.
Comment on lines +645 to +646
# If any skill failed, add a copy-paste prompt for AI-assisted investigation
if grep -q '❌' summary-body.md; then

Copilot AI Mar 25, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The failure detection here keys off the presence of the '❌' glyph in the consolidated markdown. GenerateMarkdownSummary emits '❌' for any scenario with a negative improvement score, which can happen even when a skill passes overall (since pass/fail is based on average improvement vs --min-improvement). Consider detecting failures by inspecting the JSON results (e.g., any .verdicts[].passed == false) instead of grepping the markdown output.

Suggested change
# If any skill failed, add a copy-paste prompt for AI-assisted investigation
if grep -q '❌' summary-body.md; then
# If any skill actually failed (based on JSON verdicts), add a copy-paste prompt for AI-assisted investigation
if jq -e 'any(.verdicts[]?; .passed == false)' $JSON_FILES > /dev/null 2>&1; then

Copilot uses AI. Check for mistakes.
Comment on lines +612 to +615
bool anyFailure = verdicts.Any(v => !v.Passed);
if (anyFailure)
sb.AppendLine("\n> 📖 See [InvestigatingResults.md](https://github.com/dotnet/skills/blob/main/eng/skill-validator/InvestigatingResults.md) for how to diagnose failures — or use the copy-paste prompt below.");

Copilot AI Mar 25, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The generated markdown links to InvestigatingResults.md on the main branch. During PR evaluation runs (before merge), that link can 404 or show stale content. Consider resolving the doc URL against the current commit when running in CI (e.g., using GITHUB_SHA/GITHUB_REPOSITORY env vars) and falling back to main for local runs.

Copilot uses AI. Check for mistakes.
Comment thread .github/workflows/evaluation.yml Outdated
echo ""
echo "> **To investigate failures**, paste this to your AI coding agent:"
echo ">"
echo "> _Download eval artifacts with \`gh run download ${RUN_ID} --repo ${{ github.repository }} --dir /tmp/eval-results\`, then fetch https://raw.githubusercontent.com/${{ github.repository }}/main/eng/skill-validator/InvestigatingResults.md and follow it to analyze the results.json files. Diagnose each failure, suggest fixes to the eval.yaml and skill content, and tell me what to fix first._"

Copilot AI Mar 25, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The investigation prompt fetches InvestigatingResults.md from /main, which can be missing/outdated for the workflow run being diagnosed (especially within the PR that introduces the file). Use the workflow’s exact ref (e.g., ${{ github.sha }}) so the prompt always downloads the guide that matches the evaluated commit.

Suggested change
echo "> _Download eval artifacts with \`gh run download ${RUN_ID} --repo ${{ github.repository }} --dir /tmp/eval-results\`, then fetch https://raw.githubusercontent.com/${{ github.repository }}/main/eng/skill-validator/InvestigatingResults.md and follow it to analyze the results.json files. Diagnose each failure, suggest fixes to the eval.yaml and skill content, and tell me what to fix first._"
echo "> _Download eval artifacts with \`gh run download ${RUN_ID} --repo ${{ github.repository }} --dir /tmp/eval-results\`, then fetch https://raw.githubusercontent.com/${{ github.repository }}/${{ github.sha }}/eng/skill-validator/InvestigatingResults.md and follow it to analyze the results.json files. Diagnose each failure, suggest fixes to the eval.yaml and skill content, and tell me what to fix first._"

Copilot uses AI. Check for mistakes.
Comment thread eng/known-domains.txt
#
# Format: one domain per line. Lines starting with # are comments.
# For GitHub, use github.com/<org>/<repo> to scope to a specific repo.
# Entries containing a slash match URLs with that exact prefix followed by

Copilot AI Mar 25, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This comment describes path-scoped entries as matching the exact prefix, but the implementation also allows an optional www. prefix for slash entries. Please update the text to mention the optional www. so the file accurately documents matching behavior.

Suggested change
# Entries containing a slash match URLs with that exact prefix followed by
# Entries containing a slash match URLs with that prefix (optionally preceded by 'www.') followed by

Copilot uses AI. Check for mistakes.
Comment thread .github/CODEOWNERS
Comment on lines +25 to +26
/plugins/dotnet/agents/optimizing-dotnet-performance.agent.md @dotnet/appmodel

Copilot AI Mar 25, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This CODEOWNERS entry points to /plugins/dotnet/agents/optimizing-dotnet-performance.agent.md, but that path doesn’t exist in the repo (the agent file is under /plugins/dotnet-diag/agents/). As written it’s redundant (same entry already exists later) and can confuse ownership expectations—please remove or correct it.

Suggested change
/plugins/dotnet/agents/optimizing-dotnet-performance.agent.md @dotnet/appmodel

Copilot uses AI. Check for mistakes.
Comment on lines +130 to +134
ENV ASPNETCORE_URLS=http://+:8080
EXPOSE 8080
HEALTHCHECK --interval=30s --timeout=3s --start-period=10s --retries=3 \
CMD curl -f http://localhost:8080/health || exit 1
ENTRYPOINT ["dotnet", "MyMcpServer.dll"]

Copilot AI Mar 25, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Dockerfile example uses curl in the HEALTHCHECK, but the mcr.microsoft.com/dotnet/aspnet runtime images don’t reliably include curl. Either install curl in the runtime stage or use a healthcheck approach that doesn’t depend on extra tools, otherwise users may copy this and end up with failing health checks.

Copilot uses AI. Check for mistakes.
Comment on lines +33 to +36
# Health check
HEALTHCHECK --interval=30s --timeout=3s --start-period=10s --retries=3 \
CMD curl -f http://localhost:8080/health || exit 1

Copilot AI Mar 25, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same as in the SKILL.md example: this HEALTHCHECK relies on curl, which may not exist in the dotnet/aspnet runtime image. Please adjust the guidance to either install curl (and clean up package lists) or use an alternative healthcheck mechanism.

Copilot uses AI. Check for mistakes.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@github-actions

Copy link
Copy Markdown
Contributor

Skill Validation Results

Skill Scenario Quality (Isolated) Quality (Plugin) Skills Loaded Agents Invoked Overfit Verdict
csharp-scripts Test a C# language feature with a script 3.0/5 → 4.0/5 🟢 3.0/5 → 5.0/5 🟢 ✅ csharp-scripts; tools: skill, create, edit / ✅ csharp-scripts; tools: skill, create — / — 🟡 0.33
nuget-trusted-publishing Set up trusted publishing for a new NuGet library 3.0/5 → 4.0/5 🟢 3.0/5 → 4.0/5 🟢 ✅ nuget-trusted-publishing; tools: skill, task, grep / ✅ nuget-trusted-publishing; tools: skill, task explore / explore ✅ 0.11
nuget-trusted-publishing Set up NuGet publishing without mentioning trusted publishing 3.0/5 → 5.0/5 🟢 3.0/5 → 5.0/5 🟢 ✅ nuget-trusted-publishing; tools: skill, glob / ✅ nuget-trusted-publishing; tools: skill, glob — / — ✅ 0.11
nuget-trusted-publishing Migrate existing workflow from API key to trusted publishing 3.0/5 → 5.0/5 🟢 3.0/5 → 5.0/5 🟢 ✅ nuget-trusted-publishing; tools: skill, bash / ✅ nuget-trusted-publishing; tools: skill — / — ✅ 0.11
dotnet-pinvoke Generate LibraryImport declaration from C header (.NET 8+) 4.0/5 → 5.0/5 🟢 4.0/5 → 5.0/5 🟢 ✅ dotnet-pinvoke; tools: skill / ✅ dotnet-pinvoke; tools: skill — / — ✅ 0.07
dotnet-pinvoke Generate LibraryImport declaration from C header (.NET Framework) 3.0/5 → 5.0/5 🟢 3.0/5 → 5.0/5 🟢 ✅ dotnet-pinvoke; tools: skill / ✅ dotnet-pinvoke; tools: skill — / — ✅ 0.07
dotnet-trace-collect High CPU in Kubernetes on Linux (.NET 8) 4.0/5 → 5.0/5 🟢 4.0/5 → 5.0/5 🟢 ✅ dotnet-trace-collect; tools: skill, report_intent, view / ✅ dotnet-trace-collect; tools: skill, report_intent, view — / — ✅ 0.14
dotnet-trace-collect .NET Framework on Windows without admin privileges 2.0/5 → 5.0/5 🟢 2.0/5 → 5.0/5 🟢 ✅ dotnet-trace-collect; tools: skill / ✅ dotnet-trace-collect; tools: skill — / — ✅ 0.14
dotnet-trace-collect .NET 10 on Linux with root access and native call stacks 1.0/5 → 4.0/5 🟢 1.0/5 → 3.0/5 🟢 ✅ dotnet-trace-collect; tools: skill / ✅ dotnet-trace-collect; tools: skill — / — ✅ 0.14
dotnet-trace-collect Memory leak on Linux (.NET 8) 2.0/5 → 3.0/5 🟢 2.0/5 → 3.0/5 🟢 ✅ dotnet-trace-collect; tools: report_intent, skill, view / ✅ dotnet-trace-collect; tools: skill, report_intent, view — / — ✅ 0.14
dotnet-trace-collect Slow requests on Windows with PerfView 3.0/5 → 5.0/5 🟢 3.0/5 → 5.0/5 🟢 ✅ dotnet-trace-collect; tools: skill, report_intent, view / ✅ dotnet-trace-collect; tools: skill — / — ✅ 0.14
dotnet-trace-collect Excessive GC on Linux (.NET 8) 3.0/5 → 5.0/5 🟢 3.0/5 → 5.0/5 🟢 ✅ dotnet-trace-collect; tools: skill / ✅ dotnet-trace-collect; tools: skill — / — ✅ 0.14
dotnet-trace-collect Hang or deadlock diagnosis on Linux 3.0/5 → 4.0/5 🟢 3.0/5 → 3.0/5 ✅ dotnet-trace-collect; tools: skill, report_intent, view / ✅ dotnet-trace-collect; tools: report_intent, skill — / — ✅ 0.14
dotnet-trace-collect Windows container high CPU with PerfView 1.0/5 → 5.0/5 🟢 1.0/5 → 5.0/5 🟢 ✅ dotnet-trace-collect; tools: report_intent, skill, view / ✅ dotnet-trace-collect; tools: report_intent, skill, view — / — ✅ 0.14
dotnet-trace-collect Long-running intermittent issue with PerfView triggers 2.0/5 → 4.0/5 🟢 2.0/5 → 5.0/5 🟢 ✅ dotnet-trace-collect; tools: skill, report_intent, view / ✅ dotnet-trace-collect; tools: report_intent, skill, view — / — ✅ 0.14
dotnet-trace-collect Linux pre-.NET 10 needing native call stacks 5.0/5 → 5.0/5 5.0/5 → 5.0/5 ✅ dotnet-trace-collect; tools: report_intent, skill, view / ✅ dotnet-trace-collect; tools: skill, report_intent, view — / — ✅ 0.14 [1]
dotnet-trace-collect Windows modern .NET with admin high CPU 5.0/5 → 5.0/5 5.0/5 → 5.0/5 ✅ dotnet-trace-collect; tools: report_intent, skill, view / ✅ dotnet-trace-collect; tools: skill, report_intent, view — / — ✅ 0.14 [2]
dotnet-trace-collect Memory leak on .NET Framework Windows 4.0/5 → 5.0/5 🟢 4.0/5 → 5.0/5 🟢 ✅ dotnet-trace-collect; tools: report_intent, skill, view / ✅ dotnet-trace-collect; tools: report_intent, skill, view — / — ✅ 0.14
dotnet-trace-collect Kubernetes with console access prefers console tools 4.0/5 → 5.0/5 🟢 4.0/5 → 5.0/5 🟢 ✅ dotnet-trace-collect; tools: skill, report_intent, view / ✅ dotnet-trace-collect; tools: report_intent, skill, view — / — ✅ 0.14
dotnet-trace-collect Container installation without .NET SDK 3.0/5 → 5.0/5 🟢 3.0/5 → 4.0/5 🟢 ✅ dotnet-trace-collect; tools: skill / ✅ dotnet-trace-collect; tools: skill — / — ✅ 0.14
dotnet-trace-collect HTTP 500s from downstream service on Linux (.NET 8) 5.0/5 → 5.0/5 5.0/5 → 5.0/5 ✅ dotnet-trace-collect; tools: skill, report_intent, view / ✅ dotnet-trace-collect; tools: report_intent, skill, view — / — ✅ 0.14 [3]
dotnet-trace-collect Networking timeouts on Windows with admin (.NET 8) 2.0/5 → 5.0/5 🟢 2.0/5 → 5.0/5 🟢 ✅ dotnet-trace-collect; tools: skill, report_intent, view / ✅ dotnet-trace-collect; tools: skill, report_intent, view — / — ✅ 0.14
dotnet-trace-collect Assembly loading failure on Linux (.NET 8) 4.0/5 → 5.0/5 🟢 4.0/5 → 5.0/5 🟢 ✅ dotnet-trace-collect; tools: report_intent, skill, view / ✅ dotnet-trace-collect; tools: skill, report_intent, view — / — ✅ 0.14
microbenchmarking Investigate runtime upgrade performance impact 4.0/5 → 3.0/5 🔴 4.0/5 → 5.0/5 🟢 ✅ microbenchmarking; tools: skill / ✅ microbenchmarking; tools: skill — / — ✅ 0.10
clr-activation-debugging Diagnose unexpected FOD dialog from native build tool 5.0/5 → 5.0/5 5.0/5 → 5.0/5 ✅ clr-activation-debugging; tools: skill / ✅ clr-activation-debugging; tools: skill, bash — / — ✅ 0.08 [4]
clr-activation-debugging Diagnose FOD suppressed but activation still failing 4.0/5 → 5.0/5 🟢 4.0/5 → 5.0/5 🟢 ✅ clr-activation-debugging; tools: skill / ✅ clr-activation-debugging; tools: skill — / — ✅ 0.08
clr-activation-debugging Explain why same binary behaves differently under different launch methods 5.0/5 → 5.0/5 5.0/5 → 5.0/5 ✅ clr-activation-debugging; tools: skill / ✅ clr-activation-debugging; tools: skill — / — ✅ 0.08 [5]
clr-activation-debugging Analyze healthy managed EXE activation 5.0/5 → 5.0/5 5.0/5 → 5.0/5 ✅ clr-activation-debugging; tools: skill / ✅ clr-activation-debugging; tools: skill — / — ✅ 0.08 [6]
clr-activation-debugging Identify multiple activation sequences in a single log 5.0/5 → 5.0/5 5.0/5 → 5.0/5 ✅ clr-activation-debugging; tools: skill, bash / ✅ clr-activation-debugging; tools: skill — / — ✅ 0.08 [7]
clr-activation-debugging Explain useLegacyV2RuntimeActivationPolicy in activation log 3.0/5 → 3.0/5 3.0/5 → 4.0/5 🟢 ✅ clr-activation-debugging; tools: skill / ✅ clr-activation-debugging; tools: skill — / — ✅ 0.08
clr-activation-debugging Decline non-CLR-activation issue 1.0/5 → 5.0/5 🟢 1.0/5 → 5.0/5 🟢 ✅ clr-activation-debugging; tools: skill, glob / ℹ️ not activated (expected) — / — ✅ 0.08
analyzing-dotnet-performance Detects compiled regex startup budget and regex chain allocations 5.0/5 → 5.0/5 5.0/5 → 5.0/5 ✅ analyzing-dotnet-performance; tools: skill, bash / ✅ analyzing-dotnet-performance; tools: skill, bash — / — ✅ 0.17 [8]
analyzing-dotnet-performance Detects CurrentCulture comparer and compiled regex budget in inflection rules 5.0/5 → 4.0/5 ⏰ 🔴 5.0/5 → 1.0/5 ⏰ 🔴 ✅ analyzing-dotnet-performance; tools: skill, bash / ✅ analyzing-dotnet-performance; tools: skill, bash — / — ✅ 0.17
analyzing-dotnet-performance Finds per-call Dictionary allocation not hoisted to static 5.0/5 → 5.0/5 5.0/5 → 5.0/5 ✅ analyzing-dotnet-performance; tools: skill, bash / ✅ analyzing-dotnet-performance; tools: skill, bash — / — ✅ 0.17 [9]
analyzing-dotnet-performance Catches compound allocations in recursive number converter with ToLower 3.0/5 → 4.0/5 🟢 3.0/5 → 4.0/5 🟢 ✅ analyzing-dotnet-performance; tools: skill, bash / ✅ analyzing-dotnet-performance; tools: skill, bash — / — ✅ 0.17
analyzing-dotnet-performance Finds StringComparison.Ordinal missing and FrozenDictionary opportunities 5.0/5 → 5.0/5 5.0/5 → 5.0/5 ✅ analyzing-dotnet-performance; tools: skill, bash / ✅ analyzing-dotnet-performance; tools: skill, bash — / — ✅ 0.17 [10]
analyzing-dotnet-performance Detects Aggregate+Replace chain and struct missing IEquatable 4.0/5 → 5.0/5 🟢 4.0/5 → 5.0/5 🟢 ✅ analyzing-dotnet-performance; tools: skill, bash / ✅ analyzing-dotnet-performance; tools: skill, bash — / — ✅ 0.17
analyzing-dotnet-performance Finds branched Replace chain in format string manipulation 3.0/5 → 4.0/5 🟢 3.0/5 → 4.0/5 🟢 ✅ analyzing-dotnet-performance; tools: skill, bash / ✅ analyzing-dotnet-performance; tools: skill, bash — / — ✅ 0.17
analyzing-dotnet-performance Catches LINQ on hot-path string processing and All(char.IsUpper) 4.0/5 → 5.0/5 🟢 4.0/5 → 5.0/5 🟢 ✅ analyzing-dotnet-performance; tools: skill, bash / ✅ analyzing-dotnet-performance; tools: skill, bash — / — ✅ 0.17
analyzing-dotnet-performance Detects LINQ pipeline in TimeSpan formatting and collection processing 5.0/5 → 4.0/5 🔴 5.0/5 → 5.0/5 ✅ analyzing-dotnet-performance; tools: skill, bash, write_bash, stop_bash / ✅ analyzing-dotnet-performance; tools: skill, bash — / — ✅ 0.17
analyzing-dotnet-performance Flags Span inconsistencies and compound method chains in truncation library 4.0/5 → 5.0/5 🟢 4.0/5 → 5.0/5 🟢 ✅ analyzing-dotnet-performance; tools: skill, bash / ✅ analyzing-dotnet-performance; tools: skill, bash — / — ✅ 0.17
analyzing-dotnet-performance Identifies unsealed leaf classes and locale hierarchy patterns 4.0/5 → 5.0/5 🟢 4.0/5 → 1.0/5 ⏰ 🔴 ✅ analyzing-dotnet-performance; tools: skill, bash / ✅ analyzing-dotnet-performance; tools: skill, bash, read_bash — / — ✅ 0.17
android-tombstone-symbolication Symbolicate .NET frames in an Android tombstone 4.0/5 → 3.0/5 🔴 4.0/5 → 3.0/5 🔴 ✅ android-tombstone-symbolication; tools: skill / ✅ android-tombstone-symbolication; tools: skill — / — 🟡 0.21
android-tombstone-symbolication Recognize tombstone with no .NET frames 5.0/5 → 5.0/5 5.0/5 → 5.0/5 ✅ android-tombstone-symbolication; tools: skill, bash / ✅ android-tombstone-symbolication; tools: skill — / — 🟡 0.21 [11]
android-tombstone-symbolication Symbolicate CoreCLR frames in an Android tombstone 2.0/5 ⏰ → 3.0/5 🟢 2.0/5 ⏰ → 4.0/5 🟢 ✅ android-tombstone-symbolication; tools: skill / ✅ android-tombstone-symbolication; tools: skill — / — 🟡 0.21
android-tombstone-symbolication Recognize NativeAOT tombstone with app binary and libSystem.Native.so 3.0/5 → 2.0/5 ⏰ 🔴 3.0/5 → 4.0/5 🟢 ✅ android-tombstone-symbolication; tools: skill, read_bash, stop_bash / ✅ android-tombstone-symbolication; tools: skill — / — 🟡 0.21
android-tombstone-symbolication Symbolicate multi-thread tombstone 4.0/5 → 4.0/5 4.0/5 → 4.0/5 ✅ android-tombstone-symbolication; tools: skill / ✅ android-tombstone-symbolication; tools: skill — / — 🟡 0.21
android-tombstone-symbolication Handle .NET frames with no BuildId metadata 4.0/5 → 5.0/5 🟢 4.0/5 → 5.0/5 🟢 ✅ android-tombstone-symbolication; tools: skill, bash / ✅ android-tombstone-symbolication; tools: skill, bash — / — 🟡 0.21
android-tombstone-symbolication Symbolicate tombstone with multiple .NET libraries and different BuildIds 4.0/5 → 4.0/5 4.0/5 → 4.0/5 ✅ android-tombstone-symbolication; tools: skill, read_bash / ✅ android-tombstone-symbolication; tools: skill, read_bash — / — 🟡 0.21
android-tombstone-symbolication Reject iOS crash log as wrong format 5.0/5 → 5.0/5 5.0/5 → 5.0/5 ℹ️ not activated (expected) / ℹ️ not activated (expected) — / — 🟡 0.21
dump-collect Configure automatic crash dumps for CoreCLR app on Linux 5.0/5 → 5.0/5 5.0/5 → 5.0/5 ✅ dump-collect; tools: report_intent, skill, view / ✅ dump-collect; tools: skill, report_intent, view — / — 🟡 0.28 [12]
dump-collect Set up NativeAOT crash dumps with createdump in Kubernetes 2.0/5 → 5.0/5 🟢 2.0/5 → 5.0/5 🟢 ✅ dump-collect; tools: skill / ✅ dump-collect; tools: skill — / — 🟡 0.28
dump-collect Recover crash dump from macOS NativeAOT without createdump 2.0/5 → 5.0/5 🟢 2.0/5 → 5.0/5 🟢 ✅ dump-collect; tools: skill, report_intent, view / ✅ dump-collect; tools: report_intent, skill, view — / — 🟡 0.28
dump-collect Configure CoreCLR dump collection in Alpine Docker as non-root 3.0/5 → 5.0/5 🟢 3.0/5 → 5.0/5 🟢 ✅ dump-collect; tools: report_intent, skill, view / ✅ dump-collect; tools: report_intent, skill, view — / — 🟡 0.28
dump-collect Advisory: macOS NativeAOT crash dump recovery steps 3.0/5 → 5.0/5 🟢 3.0/5 → 5.0/5 🟢 ✅ dump-collect; tools: skill / ✅ dump-collect; tools: skill — / — 🟡 0.28
dump-collect Advisory: CoreCLR Alpine Docker non-root configuration 4.0/5 → 5.0/5 🟢 4.0/5 → 5.0/5 🟢 ✅ dump-collect; tools: skill / ✅ dump-collect; tools: skill — / — 🟡 0.28
dump-collect Advisory: NativeAOT Kubernetes dump collection setup 2.0/5 → 5.0/5 🟢 2.0/5 → 5.0/5 🟢 ✅ dump-collect; tools: report_intent, skill, view / ✅ dump-collect; tools: report_intent, skill, view — / — 🟡 0.28
dump-collect Detect runtime and configure crash dumps for unknown .NET app on Linux 3.0/5 → 4.0/5 🟢 3.0/5 → 5.0/5 🟢 ✅ dump-collect; tools: skill / ✅ dump-collect; tools: skill — / — 🟡 0.28
dump-collect Decline dump analysis request 2.0/5 → 5.0/5 🟢 2.0/5 → 1.0/5 🔴 ℹ️ not activated (expected) / ℹ️ not activated (expected) — / — 🟡 0.28
optimizing-ef-core-queries Optimize bulk operations with EF Core 7+ ExecuteUpdate and ExecuteDelete 5.0/5 → 4.0/5 🔴 5.0/5 → 4.0/5 🔴 ✅ optimizing-ef-core-queries; tools: skill / ✅ optimizing-ef-core-queries; tools: skill — / — ✅ 0.18
build-parallelism Analyze build parallelism bottlenecks 4.0/5 → 4.0/5 4.0/5 → 4.0/5 ✅ build-parallelism; tools: skill, task, edit / ✅ build-parallelism; tools: skill, task, edit explore / explore ✅ 0.15
including-generated-files Diagnose generated file inclusion failure 3.0/5 → 5.0/5 🟢 3.0/5 → 5.0/5 🟢 ✅ including-generated-files; tools: skill / ✅ including-generated-files; tools: skill — / — ✅ 0.18
msbuild-antipatterns Review MSBuild files for anti-patterns and style issues 5.0/5 → 5.0/5 5.0/5 → 5.0/5 ✅ msbuild-antipatterns; tools: skill, edit / ✅ msbuild-antipatterns; tools: skill — / — ✅ 0.05 [13]
build-perf-baseline Establish build performance baseline and recommend optimizations 3.0/5 → 5.0/5 🟢 3.0/5 → 4.0/5 🟢 ✅ build-perf-baseline; tools: skill / ✅ build-perf-baseline; tools: skill, task, glob, grep — / explore 🟡 0.28
msbuild-modernization Modernize legacy project to SDK-style 4.0/5 → 5.0/5 🟢 4.0/5 → 5.0/5 🟢 ✅ msbuild-modernization; tools: skill, edit, bash / ✅ msbuild-modernization; tools: skill, edit, bash — / — ✅ 0.05 [14]
directory-build-organization Organize build infrastructure for a multi-project repo 3.0/5 → 5.0/5 🟢 3.0/5 → 5.0/5 🟢 ✅ directory-build-organization; tools: skill / ✅ msbuild-antipatterns; directory-build-organization; tools: skill — / — ✅ 0.14
check-bin-obj-clash Diagnose bin/obj output path clashes 3.0/5 → 4.0/5 🟢 3.0/5 → 5.0/5 🟢 ✅ check-bin-obj-clash; tools: skill / ✅ binlog-generation; check-bin-obj-clash; tools: glob, skill — / — ✅ 0.14 [15]
incremental-build Analyze incremental build issues 3.0/5 → 1.0/5 ⏰ 🔴 3.0/5 → 4.0/5 🟢 ✅ incremental-build; tools: skill, bash / ✅ incremental-build; tools: skill — / — ✅ 0.14
eval-performance Analyze MSBuild evaluation performance issues 4.0/5 → 4.0/5 4.0/5 → 4.0/5 ✅ eval-performance; tools: skill, bash / ✅ eval-performance; tools: skill — / — ✅ 0.19
resolve-project-references Explain misleading ResolveProjectReferences time 3.0/5 → 5.0/5 🟢 3.0/5 → 5.0/5 🟢 ✅ resolve-project-references; tools: skill / ✅ resolve-project-references; tools: skill — / — ✅ 0.12
msbuild-server Recommend MSBuild Server for slow CLI incremental builds 3.0/5 → 5.0/5 🟢 3.0/5 → 5.0/5 🟢 ✅ msbuild-server; tools: skill / ✅ msbuild-server; tools: skill — / — 🟡 0.21
build-perf-diagnostics Diagnose slow build for a small project 4.0/5 → 5.0/5 🟢 4.0/5 → 5.0/5 🟢 ⚠️ NOT ACTIVATED / ✅ build-perf-diagnostics; tools: skill — / — ✅ 0.19
binlog-generation Build project with /bl flag 1.0/5 → 5.0/5 🟢 1.0/5 → 5.0/5 🟢 ✅ binlog-generation; tools: skill / ✅ binlog-generation; tools: skill — / — 🟡 0.46
binlog-generation Build with /bl in PowerShell 3.0/5 → 5.0/5 🟢 3.0/5 → 5.0/5 🟢 ✅ binlog-generation; tools: skill, glob / ✅ binlog-generation; tools: skill — / — 🟡 0.46
binlog-generation Build multiple configurations with unique binlogs 3.0/5 → 5.0/5 🟢 3.0/5 → 5.0/5 🟢 ✅ binlog-generation; tools: skill / ✅ binlog-generation; tools: skill — / — 🟡 0.46
binlog-failure-analysis Diagnose build failures from binlog only (no source files) 5.0/5 → 5.0/5 5.0/5 → 5.0/5 ✅ binlog-failure-analysis; tools: skill / ✅ binlog-failure-analysis; tools: skill — / — ✅ 0.05 [16]
dotnet-maui-doctor Plan macOS MAUI setup with Xcode 3.0/5 → 5.0/5 🟢 3.0/5 → 5.0/5 🟢 ✅ dotnet-maui-doctor; tools: skill / ✅ dotnet-maui-doctor; tools: skill — / — 🟡 0.23
dotnet-maui-doctor Plan Linux MAUI environment for Android 3.0/5 → 1.0/5 ⏰ 🔴 3.0/5 → 5.0/5 🟢 ⚠️ NOT ACTIVATED / ✅ dotnet-maui-doctor; tools: report_intent, skill, view, bash — / — 🟡 0.23
dotnet-maui-doctor Guardrail against workload update and repair 1.0/5 → 1.0/5 ⏰ 1.0/5 → 1.0/5 ⏰ ⚠️ NOT ACTIVATED / ✅ dotnet-maui-doctor; tools: report_intent, skill — / — 🟡 0.23 [17]
dotnet-maui-doctor Diagnose non-Microsoft JDK causing build failure 4.0/5 → 5.0/5 🟢 4.0/5 → 5.0/5 🟢 ✅ dotnet-maui-doctor; tools: skill / ✅ dotnet-maui-doctor; tools: skill — / — 🟡 0.23
dotnet-maui-doctor Plan complete MAUI setup on Windows 1.0/5 ⏰ → 5.0/5 🟢 1.0/5 ⏰ → 5.0/5 🟢 ✅ dotnet-maui-doctor; tools: skill / ✅ dotnet-maui-doctor; tools: skill — / — 🟡 0.23
dotnet-maui-doctor Prevent incorrect JAVA_HOME configuration 4.0/5 → 5.0/5 🟢 4.0/5 → 4.0/5 ✅ dotnet-maui-doctor; tools: skill / ✅ dotnet-maui-doctor; tools: skill — / — 🟡 0.23
dotnet-maui-doctor Determine required Android SDK packages for specific .NET version 1.0/5 ⏰ → 5.0/5 🟢 1.0/5 ⏰ → 4.0/5 🟢 ✅ dotnet-maui-doctor; tools: report_intent, skill, view, bash / ✅ dotnet-maui-doctor; tools: report_intent, skill, view, bash — / — 🟡 0.23
dotnet-maui-doctor Fix stale MAUI workloads after SDK update 2.0/5 → 4.0/5 🟢 2.0/5 → 4.0/5 🟢 ✅ dotnet-maui-doctor; tools: skill / ✅ dotnet-maui-doctor; tools: skill — / — 🟡 0.23
mcp-csharp-test Write unit and integration tests for an MCP server 2.0/5 → 3.0/5 🟢 2.0/5 → 5.0/5 🟢 ✅ mcp-csharp-test; tools: skill, report_intent, view / ✅ mcp-csharp-test; tools: skill, report_intent, view — / — 🟡 0.22
mcp-csharp-test Test an HTTP MCP server with WebApplicationFactory 4.0/5 → 3.0/5 🔴 4.0/5 → 4.0/5 ✅ mcp-csharp-test; tools: report_intent, skill, view / ✅ mcp-csharp-test; tools: skill, report_intent, view — / — 🟡 0.22
mcp-csharp-test Create evaluations for an MCP server 2.0/5 → 1.0/5 ⏰ 🔴 2.0/5 → 2.0/5 ⚠️ NOT ACTIVATED / ✅ mcp-csharp-test; tools: skill explore / — 🟡 0.22
mcp-csharp-debug Debug an MCP server with MCP Inspector 4.0/5 → 5.0/5 🟢 4.0/5 → 4.0/5 ✅ mcp-csharp-debug; tools: report_intent, skill / ✅ mcp-csharp-debug; tools: skill — / — ✅ 0.13 [18]
mcp-csharp-debug Configure VS Code to use an MCP server 3.0/5 → 5.0/5 🟢 3.0/5 → 5.0/5 🟢 ✅ mcp-csharp-debug; tools: skill / ✅ mcp-csharp-debug; tools: skill — / — ✅ 0.13
mcp-csharp-debug Debug a failing MCP server tool 3.0/5 → 4.0/5 🟢 3.0/5 → 3.0/5 ✅ mcp-csharp-debug; tools: report_intent, skill / ✅ mcp-csharp-debug; tools: skill — / — ✅ 0.13
technology-selection ML.NET classification on tabular data 2.0/5 ⏰ → 5.0/5 🟢 2.0/5 ⏰ → 1.0/5 ⏰ 🔴 ✅ technology-selection; tools: skill, task / ✅ technology-selection; tools: skill, task general-purpose / general-purpose 🟡 0.32
technology-selection LLM integration with MEAI abstraction 1.0/5 → 3.0/5 🟢 1.0/5 → 1.0/5 ✅ technology-selection; tools: skill / ⚠️ NOT ACTIVATED — / — 🟡 0.32 [19]
technology-selection Reject LLM for tabular classification 3.0/5 → 4.0/5 ⏰ 🟢 3.0/5 → 3.0/5 ⏰ ✅ technology-selection; tools: skill, create / ✅ technology-selection; tools: skill, create — / — 🟡 0.32 [20]
technology-selection Agentic workflow with guardrails 2.0/5 → 1.0/5 ⏰ 🔴 2.0/5 → 2.0/5 ⏰ ✅ technology-selection; tools: skill / ✅ technology-selection; tools: skill explore / — 🟡 0.32
technology-selection Natural-language scenario decomposition — RAG chatbot 4.0/5 → 4.0/5 4.0/5 → 4.0/5 ✅ technology-selection; tools: skill / ✅ technology-selection; tools: skill — / — 🟡 0.32
technology-selection RAG pipeline with vector search 3.0/5 → 5.0/5 🟢 3.0/5 → 5.0/5 🟢 ✅ technology-selection; tools: skill / ✅ technology-selection; tools: skill — / — 🟡 0.32
mcp-csharp-create Implement MCP tools with proper attributes and DI 4.0/5 → 5.0/5 🟢 4.0/5 → 5.0/5 🟢 ✅ mcp-csharp-create; tools: skill, view / ✅ mcp-csharp-create; tools: skill, view — / — ✅ 0.06
mcp-csharp-create Create an HTTP MCP server with tools and resources 2.0/5 ⏰ → 3.0/5 ⏰ 🟢 2.0/5 ⏰ → 5.0/5 🟢 ✅ mcp-csharp-create; tools: skill, read_bash / ✅ mcp-csharp-create; tools: skill — / — ✅ 0.06
mcp-csharp-create Create an MCP server with tools, prompts, and proper logging 3.0/5 → 5.0/5 🟢 3.0/5 → 5.0/5 🟢 ✅ mcp-csharp-create; tools: skill / ✅ mcp-csharp-create; tools: skill — / — ✅ 0.06
mcp-csharp-publish Publish an MCP server as a NuGet tool package 1.0/5 ⏰ → 4.0/5 🟢 1.0/5 ⏰ → 1.0/5 ⏰ ✅ mcp-csharp-publish; tools: skill, glob / ✅ mcp-csharp-publish; tools: skill, glob — / — ✅ 0.19 [21]
mcp-csharp-publish Deploy an HTTP MCP server to Azure Container Apps 3.0/5 → 1.0/5 ⏰ 🔴 3.0/5 → 5.0/5 🟢 ⚠️ NOT ACTIVATED / ✅ mcp-csharp-publish; tools: skill, report_intent, view — / — ✅ 0.19
mcp-csharp-publish Publish to the MCP Registry 4.0/5 → 4.0/5 4.0/5 → 1.0/5 ⏰ 🔴 ✅ mcp-csharp-publish; tools: skill, view / ⚠️ NOT ACTIVATED — / — ✅ 0.19
convert-to-cpm Decline CPM conversion for packages.config project 1.0/5 → 1.0/5 1.0/5 → 1.0/5 ℹ️ not activated (expected) / ℹ️ not activated (expected) — / — ✅ 0.20
convert-to-cpm Recommend CPM when updating packages with version conflicts 2.0/5 → 3.0/5 🟢 2.0/5 → 3.0/5 🟢 ✅ convert-to-cpm; tools: skill, glob, bash, create / ✅ convert-to-cpm; tools: skill, glob, bash, create — / — ✅ 0.20
convert-to-cpm Recommend CPM when updating packages in a complex repository 1.0/5 → 3.0/5 🟢 1.0/5 → 3.0/5 🟢 ✅ convert-to-cpm; tools: skill, read_agent / ✅ convert-to-cpm; tools: skill explore / explore ✅ 0.20
convert-to-cpm Convert single project to CPM 2.0/5 → 5.0/5 🟢 2.0/5 → 5.0/5 🟢 ✅ convert-to-cpm; tools: skill, glob, bash / ✅ convert-to-cpm; tools: skill, task, glob, bash — / explore ✅ 0.20
convert-to-cpm Convert multi-project solution to CPM 2.0/5 → 4.0/5 🟢 2.0/5 → 5.0/5 🟢 ✅ convert-to-cpm; tools: skill, task, bash / ✅ convert-to-cpm; tools: skill, task, bash explore / explore ✅ 0.20
convert-to-cpm Convert solution with MSBuild property versions to CPM 3.0/5 → 4.0/5 🟢 3.0/5 → 4.0/5 🟢 ✅ convert-to-cpm; tools: skill, bash, grep / ✅ convert-to-cpm; tools: skill, bash — / — ✅ 0.20
convert-to-cpm Convert solution with version conflicts to CPM 3.0/5 → 5.0/5 🟢 3.0/5 → 5.0/5 🟢 ✅ convert-to-cpm; tools: skill, bash / ✅ convert-to-cpm; tools: skill, bash — / — ✅ 0.20
convert-to-cpm Convert complex repository with multiple CPM challenges 3.0/5 → 4.0/5 🟢 3.0/5 → 4.0/5 🟢 ✅ convert-to-cpm; tools: skill / ✅ convert-to-cpm; tools: skill explore / explore ✅ 0.20
migrate-dotnet9-to-dotnet10 Console app with System.Linq.Async, SIGTERM, and BufferedStream 5.0/5 → 5.0/5 5.0/5 → 5.0/5 ✅ migrate-dotnet9-to-dotnet10; tools: skill, view / ✅ migrate-dotnet9-to-dotnet10; tools: skill, view — / —
migrate-dotnet9-to-dotnet10 Expression tree code broken by C# 14 span overload resolution 5.0/5 → 5.0/5 5.0/5 → 5.0/5 ✅ migrate-dotnet9-to-dotnet10; tools: report_intent, skill, view, grep / ✅ migrate-dotnet9-to-dotnet10; tools: skill, report_intent, view, grep — / — [22]
migrate-dotnet9-to-dotnet10 ASP.NET Core app with WebHostBuilder, OpenAPI, and forwarded headers 4.0/5 → 5.0/5 🟢 4.0/5 → 5.0/5 🟢 ✅ migrate-dotnet9-to-dotnet10; tools: skill, report_intent, view / ✅ migrate-dotnet9-to-dotnet10; tools: report_intent, skill, view — / —
migrate-dotnet9-to-dotnet10 ASP.NET Core app with OpenAPI transformers using Microsoft.OpenApi v1 APIs 3.0/5 → 5.0/5 🟢 3.0/5 → 5.0/5 🟢 ✅ migrate-dotnet9-to-dotnet10; tools: report_intent, skill, view / ✅ migrate-dotnet9-to-dotnet10; tools: skill, report_intent, view — / —
migrate-dotnet9-to-dotnet10 EF Core app with Azure SQL JSON columns and parameterized collections 3.0/5 → 5.0/5 🟢 3.0/5 → 5.0/5 🟢 ✅ migrate-dotnet9-to-dotnet10; tools: skill / ✅ migrate-dotnet9-to-dotnet10; tools: skill — / —
migrate-dotnet9-to-dotnet10 EF Core app with dynamic ExecuteUpdate and complex types 5.0/5 → 5.0/5 5.0/5 → 5.0/5 ✅ migrate-dotnet9-to-dotnet10; tools: skill, view / ✅ migrate-dotnet9-to-dotnet10; tools: skill, view — / — [23]
migrate-dotnet9-to-dotnet10 SQLite app with DateTimeOffset timezone handling 5.0/5 → 5.0/5 5.0/5 → 5.0/5 ✅ migrate-dotnet9-to-dotnet10; tools: skill, view / ✅ migrate-dotnet9-to-dotnet10; tools: skill, view — / — [24]
migrate-dotnet9-to-dotnet10 Worker service with config null array binding and ProviderAlias assembly change 5.0/5 → 5.0/5 5.0/5 → 5.0/5 ✅ migrate-dotnet9-to-dotnet10; tools: skill, view / ✅ migrate-dotnet9-to-dotnet10; tools: skill, view — / —
migrate-dotnet9-to-dotnet10 Cryptography app with OpenSSL, X.509, and Rfc2898DeriveBytes 5.0/5 → 5.0/5 5.0/5 → 5.0/5 ✅ migrate-dotnet9-to-dotnet10; tools: skill, view / ✅ migrate-dotnet9-to-dotnet10; tools: skill, view — / — [25]
migrate-dotnet9-to-dotnet10 SDK and NuGet obscure tooling changes 5.0/5 → 5.0/5 5.0/5 → 5.0/5 ✅ migrate-dotnet9-to-dotnet10; tools: skill / ✅ migrate-dotnet9-to-dotnet10; tools: skill — / — [26]
migrate-dotnet9-to-dotnet10 JSON polymorphism with conflicting property names and XmlSerializer 5.0/5 → 5.0/5 5.0/5 → 5.0/5 ✅ migrate-dotnet9-to-dotnet10; tools: skill, view / ✅ migrate-dotnet9-to-dotnet10; tools: skill, view — / — [27]
migrate-dotnet9-to-dotnet10 WinForms and WPF desktop app with System.Drawing and DynamicResource 2.0/5 → 4.0/5 🟢 2.0/5 → 4.0/5 🟢 ✅ migrate-dotnet9-to-dotnet10; tools: skill / ✅ migrate-dotnet9-to-dotnet10; tools: skill — / —
migrate-dotnet9-to-dotnet10 Containerized single-file app with P/Invoke and IDispatchEx 5.0/5 → 5.0/5 5.0/5 → 5.0/5 ✅ migrate-dotnet9-to-dotnet10; tools: skill, view / ✅ migrate-dotnet9-to-dotnet10; tools: skill, view — / — [28]
migrate-dotnet9-to-dotnet10 App using SslStream properties and SystemEvents 5.0/5 → 5.0/5 5.0/5 → 5.0/5 ✅ migrate-dotnet9-to-dotnet10; tools: skill, view / ✅ migrate-dotnet9-to-dotnet10; tools: skill, view — / —
migrate-dotnet9-to-dotnet10 Library with NuGet auditing, transitive deps, and InlineArray 3.0/5 → 5.0/5 🟢 3.0/5 → 5.0/5 🟢 ✅ migrate-dotnet9-to-dotnet10; tools: skill, report_intent, view / ✅ migrate-dotnet9-to-dotnet10; tools: skill, report_intent, view — / —
migrate-dotnet9-to-dotnet10 C# 14 compiler breaking changes — field keyword, extension keyword, disposal 4.0/5 → 5.0/5 🟢 4.0/5 → 5.0/5 🟢 ✅ migrate-dotnet9-to-dotnet10; tools: report_intent, skill, view / ✅ migrate-dotnet9-to-dotnet10; tools: report_intent, skill, view — / —
migrate-dotnet9-to-dotnet10 Blazor WASM app with generic math shift masking and tar operations 5.0/5 → 4.0/5 🔴 5.0/5 → 4.0/5 🔴 ✅ migrate-dotnet9-to-dotnet10; tools: skill, view / ✅ migrate-dotnet9-to-dotnet10; tools: skill, view — / —
migrate-dotnet8-to-dotnet9 App with empty environment variables, ZIP encoding, and keyed DI services 2.0/5 → 4.0/5 🟢 2.0/5 → 4.0/5 🟢 ✅ migrate-dotnet8-to-dotnet9; tools: skill, bash / ✅ migrate-dotnet8-to-dotnet9; tools: skill — / — ✅ 0.08
migrate-dotnet8-to-dotnet9 C# 13 compiler breaking changes — InlineArray on record, iterator safe context, collection expressions 3.0/5 → 5.0/5 🟢 3.0/5 → 5.0/5 🟢 ✅ migrate-dotnet8-to-dotnet9; tools: report_intent, skill, view / ✅ migrate-dotnet8-to-dotnet9; tools: skill, report_intent, view — / — ✅ 0.08
migrate-dotnet8-to-dotnet9 ASP.NET Core app with DI validation, forwarded headers, and HttpClientFactory casting 2.0/5 → 5.0/5 🟢 2.0/5 → 5.0/5 🟢 ✅ migrate-dotnet8-to-dotnet9; tools: skill, create / ✅ migrate-dotnet8-to-dotnet9; tools: skill — / — ✅ 0.08
migrate-dotnet8-to-dotnet9 EF Core app with migration patterns and Cosmos DB discriminator 3.0/5 → 5.0/5 🟢 3.0/5 → 4.0/5 🟢 ✅ migrate-dotnet8-to-dotnet9; tools: skill / ✅ migrate-dotnet8-to-dotnet9; tools: skill — / — ✅ 0.08
migrate-dotnet8-to-dotnet9 EF Core Cosmos DB app with existing documents and composite id format 4.0/5 → 4.0/5 4.0/5 → 5.0/5 🟢 ✅ migrate-dotnet8-to-dotnet9; tools: skill / ✅ migrate-dotnet8-to-dotnet9; tools: skill — / — ✅ 0.08 [29]
migrate-dotnet8-to-dotnet9 App with JsonDocument null deserialization and BinaryFormatter fallback 5.0/5 → 5.0/5 5.0/5 → 5.0/5 ✅ migrate-dotnet8-to-dotnet9; tools: skill / ✅ migrate-dotnet8-to-dotnet9; tools: skill — / — ✅ 0.08 [30]
migrate-dotnet8-to-dotnet9 CI pipeline with Terminal Logger parsing and version constraints 2.0/5 → 3.0/5 🟢 2.0/5 → 5.0/5 🟢 ℹ️ not activated (expected) / ✅ migrate-dotnet8-to-dotnet9; tools: skill — / — ✅ 0.08
migrate-dotnet8-to-dotnet9 WinForms app with custom UserControls and PictureBox URL loading 2.0/5 ⏰ → 1.0/5 ⏰ 🔴 2.0/5 ⏰ → 5.0/5 🟢 ✅ migrate-dotnet8-to-dotnet9; tools: skill / ✅ migrate-dotnet8-to-dotnet9; tools: skill — / — ✅ 0.08
migrate-dotnet8-to-dotnet9 Containerized app with zlib dependency and runtime configuration 4.0/5 → 4.0/5 4.0/5 → 5.0/5 🟢 ✅ migrate-dotnet8-to-dotnet9; tools: skill / ✅ migrate-dotnet8-to-dotnet9; tools: skill — / — ✅ 0.08 [31]
migrate-dotnet8-to-dotnet9 EF Core Cosmos DB app with discriminator and sync I/O 4.0/5 → 5.0/5 🟢 4.0/5 → 5.0/5 🟢 ✅ migrate-dotnet8-to-dotnet9; tools: skill / ✅ migrate-dotnet8-to-dotnet9; tools: skill — / — ✅ 0.08
migrate-dotnet8-to-dotnet9 Library with String.Trim span overload, keyed services, and InlineArray 2.0/5 ⏰ → 5.0/5 🟢 2.0/5 ⏰ → 5.0/5 🟢 ✅ migrate-dotnet8-to-dotnet9; tools: skill / ✅ migrate-dotnet8-to-dotnet9; tools: skill — / — ✅ 0.08
migrate-dotnet8-to-dotnet9 Containerized app with env var precedence reversal and zlib removal 4.0/5 → 5.0/5 🟢 4.0/5 → 5.0/5 🟢 ✅ migrate-dotnet8-to-dotnet9; tools: skill / ✅ migrate-dotnet8-to-dotnet9; tools: skill — / — ✅ 0.08 [32]
thread-abort-migration Worker thread with abort-based cancellation 5.0/5 → 5.0/5 5.0/5 → 5.0/5 ✅ thread-abort-migration; tools: report_intent, skill / ✅ thread-abort-migration; tools: skill — / — ✅ 0.09 [33]
thread-abort-migration Timeout enforcement via Thread.Abort 4.0/5 → 5.0/5 🟢 4.0/5 → 3.0/5 🔴 ✅ thread-abort-migration; tools: skill / ✅ thread-abort-migration; tools: skill — / — ✅ 0.09
thread-abort-migration Blocking WaitHandle with Thread.Interrupt 3.0/5 → 3.0/5 3.0/5 → 3.0/5 ✅ thread-abort-migration; tools: skill, report_intent, bash / ✅ thread-abort-migration; tools: report_intent, skill — / — ✅ 0.09 [34]
thread-abort-migration ASP.NET Response.End and Response.Redirect with Thread.Abort 4.0/5 → 5.0/5 🟢 4.0/5 → 5.0/5 🟢 ✅ thread-abort-migration; tools: skill, report_intent, create / ✅ thread-abort-migration; tools: skill — / — ✅ 0.09
thread-abort-migration Thread.Join and Thread.Sleep only — should not migrate 5.0/5 → 5.0/5 5.0/5 → 5.0/5 ⚠️ NOT ACTIVATED / ✅ thread-abort-migration; tools: skill — / — ✅ 0.09
migrate-nullable-references Enable NRT in a small library with mixed nullability 5.0/5 → 5.0/5 5.0/5 → 5.0/5 ✅ migrate-nullable-references; tools: skill / ✅ migrate-nullable-references; tools: skill — / — ✅ 0.15 [35]
migrate-nullable-references File-by-file migration: only modify the targeted file 5.0/5 → 1.0/5 ⏰ 🔴 5.0/5 → 4.0/5 ⏰ 🔴 ⚠️ NOT ACTIVATED / ⚠️ NOT ACTIVATED — / — ✅ 0.15
migrate-nullable-references Enable NRT in ASP.NET Core Web API with EF Core 3.0/5 → 3.0/5 3.0/5 → 3.0/5 ⚠️ NOT ACTIVATED / ⚠️ NOT ACTIVATED — / — ✅ 0.15
dotnet-aot-compat Make Azure.ResourceManager AOT-compatible 2.0/5 ⏰ → 1.0/5 ⏰ 🔴 2.0/5 ⏰ → 1.0/5 ⏰ 🔴 ✅ dotnet-aot-compat; tools: skill / ✅ dotnet-aot-compat; tools: skill explore / explore ✅ 0.14
migrate-dotnet10-to-dotnet11 Console app with compression and TAR operations 1.0/5 ⏰ → 5.0/5 🟢 1.0/5 ⏰ → 5.0/5 🟢 ✅ migrate-dotnet10-to-dotnet11; tools: skill / ✅ migrate-dotnet10-to-dotnet11; tools: skill — / — ✅ 0.05
migrate-dotnet10-to-dotnet11 C# 15 compiler breaking changes — Span safe-context, nameof, with() 3.0/5 → 5.0/5 🟢 3.0/5 → 5.0/5 🟢 ✅ migrate-dotnet10-to-dotnet11; tools: skill, report_intent, view / ✅ migrate-dotnet10-to-dotnet11; tools: report_intent, skill, view — / — ✅ 0.05
migrate-dotnet10-to-dotnet11 EF Core app with Cosmos DB provider using sync APIs 4.0/5 → 5.0/5 🟢 4.0/5 → 5.0/5 🟢 ✅ migrate-dotnet10-to-dotnet11; tools: skill, report_intent, view / ✅ migrate-dotnet10-to-dotnet11; tools: report_intent, skill, view — / — ✅ 0.05 [36]
migrate-dotnet10-to-dotnet11 Deployment to older hardware with minimum requirement changes 2.0/5 → 5.0/5 🟢 2.0/5 → 5.0/5 🟢 ✅ migrate-dotnet10-to-dotnet11; tools: report_intent, skill, view / ✅ migrate-dotnet10-to-dotnet11; tools: report_intent, skill, view — / — ✅ 0.05
migrate-dotnet10-to-dotnet11 Cryptography app using DSA on macOS 3.0/5 → 5.0/5 🟢 3.0/5 → 5.0/5 🟢 ✅ migrate-dotnet10-to-dotnet11; tools: report_intent, skill, view / ✅ migrate-dotnet10-to-dotnet11; tools: report_intent, skill, view — / — ✅ 0.05
migrate-dotnet10-to-dotnet11 Basic TFM update with Docker and global.json 3.0/5 → 5.0/5 🟢 3.0/5 → 5.0/5 🟢 ✅ migrate-dotnet10-to-dotnet11; tools: skill / ✅ migrate-dotnet10-to-dotnet11; tools: skill — / — ✅ 0.05
migrate-dotnet10-to-dotnet11 C# 15 dynamic operator and ref readonly delegate issues 3.0/5 → 2.0/5 🔴 3.0/5 → 5.0/5 🟢 ⚠️ NOT ACTIVATED / ✅ migrate-dotnet10-to-dotnet11; tools: report_intent, skill, view — / — ✅ 0.05 [37]
exp-test-tagging Tag an untagged MSTest test suite 4.0/5 → 5.0/5 🟢 4.0/5 → 4.0/5 ✅ exp-test-tagging; tools: skill / ✅ exp-test-tagging; tools: skill — / — 🟡 0.28
exp-test-tagging Tag an untagged xUnit test suite 3.0/5 → 5.0/5 🟢 3.0/5 → 5.0/5 🟢 ✅ exp-test-tagging; tools: skill, glob / ✅ exp-test-tagging; tools: skill — / — 🟡 0.28
exp-test-tagging Tag an untagged NUnit test suite 3.0/5 → 5.0/5 🟢 3.0/5 → 5.0/5 🟢 ✅ exp-test-tagging; tools: skill, glob / ✅ exp-test-tagging; tools: skill, glob — / — 🟡 0.28
exp-test-tagging Audit test distribution without modifying files 4.0/5 → 4.0/5 4.0/5 → 4.0/5 ✅ exp-test-tagging; tools: skill / ✅ exp-test-tagging; tools: skill — / — 🟡 0.28
exp-test-tagging Decline request to write new tests 4.0/5 → 4.0/5 4.0/5 → 4.0/5 ℹ️ not activated (expected) / ℹ️ not activated (expected) — / — 🟡 0.28 [38]
migrate-mstest-v1v2-to-v3 Migrate MSTest v1 project with assembly reference 3.0/5 → 4.0/5 🟢 3.0/5 → 5.0/5 🟢 ✅ migrate-mstest-v1v2-to-v3; tools: skill / ✅ migrate-mstest-v1v2-to-v3; tools: skill, bash — / — ✅ 0.04
migrate-mstest-v1v2-to-v3 Migrate MSTest v2 NuGet project to v3 4.0/5 → 3.0/5 🔴 4.0/5 → 3.0/5 🔴 ✅ migrate-mstest-v1v2-to-v3; tools: skill / ✅ migrate-mstest-v1v2-to-v3; tools: skill — / — ✅ 0.04
migrate-mstest-v1v2-to-v3 Fix Assert.AreEqual object overload errors after v3 upgrade 3.0/5 → 5.0/5 🟢 3.0/5 → 5.0/5 🟢 ✅ migrate-mstest-v1v2-to-v3; tools: skill / ✅ migrate-mstest-v1v2-to-v3; tools: skill — / — ✅ 0.04
migrate-mstest-v1v2-to-v3 Migrate from .testsettings to .runsettings 4.0/5 → 4.0/5 4.0/5 → 4.0/5 ✅ migrate-mstest-v1v2-to-v3; tools: skill, bash / ✅ migrate-mstest-v1v2-to-v3; tools: skill, bash — / — ✅ 0.04 [39]
migrate-mstest-v1v2-to-v3 Fix DataRow type mismatch errors after v3 upgrade 3.0/5 → 3.0/5 3.0/5 → 3.0/5 ✅ migrate-mstest-v1v2-to-v3; tools: skill / ✅ migrate-mstest-v1v2-to-v3; tools: skill — / — ✅ 0.04 [40]
migrate-mstest-v1v2-to-v3 Migrate to MSTest.Sdk project style 3.0/5 → 5.0/5 🟢 3.0/5 → 5.0/5 🟢 ✅ migrate-mstest-v1v2-to-v3; tools: skill, edit, bash / ✅ migrate-mstest-v1v2-to-v3; tools: skill, edit — / — ✅ 0.04
migrate-mstest-v1v2-to-v3 Handle dropped target framework during v3 migration 5.0/5 → 4.0/5 🔴 5.0/5 → 5.0/5 ⚠️ NOT ACTIVATED / ✅ migrate-mstest-v1v2-to-v3; tools: skill — / — ✅ 0.04
migrate-mstest-v1v2-to-v3 Migrate complex MSTest v2 project with testsettings, DataRow issues, and dropped TFM 4.0/5 → 5.0/5 🟢 4.0/5 → 5.0/5 🟢 ✅ migrate-mstest-v1v2-to-v3; tools: skill / ✅ migrate-mstest-v1v2-to-v3; tools: skill — / — ✅ 0.04
migrate-mstest-v1v2-to-v3 Correctly identify MSTest v1 vs v2 and recommend different migration paths 3.0/5 → 5.0/5 🟢 3.0/5 → 5.0/5 🟢 ✅ migrate-mstest-v1v2-to-v3; tools: skill / ✅ migrate-mstest-v1v2-to-v3; tools: skill — / — ✅ 0.04
crap-score Calculate CRAP score for a single method with partial coverage 4.0/5 → 3.0/5 🔴 4.0/5 → 4.0/5 ✅ crap-score; tools: skill, glob / ✅ crap-score; tools: skill — / — ✅ 0.20
crap-score Identify riskiest methods across a file 4.0/5 → 5.0/5 🟢 4.0/5 → 5.0/5 🟢 ✅ crap-score; tools: skill, glob / ✅ crap-score; tools: skill — / — ✅ 0.20
crap-score Generate coverage then compute CRAP score 4.0/5 → 4.0/5 4.0/5 → 4.0/5 ✅ crap-score; tools: skill, edit / ✅ crap-score; tools: skill, edit — / — ✅ 0.20
writing-mstest-tests Write unit tests for a service class 5.0/5 → 5.0/5 5.0/5 → 5.0/5 ✅ writing-mstest-tests; tools: skill, task, glob, grep / ✅ writing-mstest-tests; tools: skill, task explore / explore 🟡 0.25 [41]
writing-mstest-tests Write data-driven tests for a calculator 5.0/5 → 5.0/5 5.0/5 → 5.0/5 ✅ writing-mstest-tests; tools: skill / ✅ writing-mstest-tests; tools: skill — / — 🟡 0.25
writing-mstest-tests Write async tests with cancellation 3.0/5 → 5.0/5 🟢 3.0/5 → 5.0/5 🟢 ✅ writing-mstest-tests; tools: skill / ✅ writing-mstest-tests; tools: skill — / — 🟡 0.25
writing-mstest-tests Fix swapped Assert.AreEqual arguments 5.0/5 → 5.0/5 5.0/5 → 5.0/5 ✅ writing-mstest-tests; tools: skill / ✅ writing-mstest-tests; tools: report_intent, skill — / — 🟡 0.25 [42]
writing-mstest-tests Modernize legacy test patterns 4.0/5 → 5.0/5 🟢 4.0/5 → 5.0/5 🟢 ✅ writing-mstest-tests; tools: skill / ✅ writing-mstest-tests; tools: skill — / — 🟡 0.25
writing-mstest-tests Replace ExpectedException with Assert.Throws 3.0/5 → 4.0/5 🟢 3.0/5 → 5.0/5 🟢 ✅ writing-mstest-tests; tools: skill / ✅ writing-mstest-tests; tools: skill — / — 🟡 0.25
writing-mstest-tests Use proper collection assertions 3.0/5 → 4.0/5 🟢 3.0/5 → 3.0/5 ✅ writing-mstest-tests; tools: report_intent, skill / ✅ writing-mstest-tests; tools: skill — / — 🟡 0.25
writing-mstest-tests Use proper type assertions instead of casts 3.0/5 → 3.0/5 3.0/5 → 5.0/5 🟢 ⚠️ NOT ACTIVATED / ✅ writing-mstest-tests; tools: skill — / — 🟡 0.25
writing-mstest-tests Set up test lifecycle correctly 2.0/5 → 5.0/5 🟢 2.0/5 → 4.0/5 🟢 ✅ writing-mstest-tests; tools: skill / ✅ writing-mstest-tests; tools: skill — / — 🟡 0.25
writing-mstest-tests Use DynamicData with ValueTuples over object arrays 1.0/5 → 3.0/5 🟢 1.0/5 → 3.0/5 🟢 ✅ writing-mstest-tests; tools: skill / ✅ writing-mstest-tests; tools: skill — / — 🟡 0.25
migrate-vstest-to-mtp Migrate MSTest project from VSTest to Microsoft.Testing.Platform 5.0/5 → 5.0/5 5.0/5 → 5.0/5 ✅ migrate-vstest-to-mtp; tools: skill, report_intent, view / ✅ migrate-vstest-to-mtp; tools: report_intent, skill — / — ✅ 0.09 [43]
migrate-vstest-to-mtp Migrate NUnit project from VSTest to Microsoft.Testing.Platform 2.0/5 → 5.0/5 🟢 2.0/5 → 5.0/5 🟢 ✅ migrate-vstest-to-mtp; tools: skill / ✅ migrate-vstest-to-mtp; tools: skill — / — ✅ 0.09
migrate-vstest-to-mtp Migrate xUnit.net v2 project from VSTest to Microsoft.Testing.Platform 2.0/5 → 5.0/5 🟢 2.0/5 → 5.0/5 🟢 ✅ migrate-vstest-to-mtp; tools: skill, report_intent, view, bash / ✅ migrate-vstest-to-mtp; tools: skill — / — ✅ 0.09
migrate-vstest-to-mtp Update Azure DevOps pipeline from VSTest task to MTP 4.0/5 → 5.0/5 🟢 4.0/5 → 5.0/5 🟢 ✅ migrate-vstest-to-mtp; tools: skill / ✅ migrate-vstest-to-mtp; tools: skill — / — ✅ 0.09
migrate-vstest-to-mtp Migrate MSTest.Sdk project that explicitly uses VSTest 3.0/5 → 5.0/5 🟢 3.0/5 → 5.0/5 🟢 ✅ migrate-vstest-to-mtp; tools: skill / ✅ migrate-vstest-to-mtp; tools: skill — / — ✅ 0.09
migrate-vstest-to-mtp Translate dotnet test VSTest arguments to MTP equivalents 4.0/5 → 5.0/5 🟢 4.0/5 → 5.0/5 🟢 ✅ migrate-vstest-to-mtp; tools: skill / ✅ migrate-vstest-to-mtp; tools: report_intent, skill — / — ✅ 0.09
migrate-vstest-to-mtp Handle exit code 8 when migrating from VSTest to MTP 4.0/5 → 5.0/5 🟢 4.0/5 → 4.0/5 ✅ migrate-vstest-to-mtp; tools: skill / ✅ migrate-vstest-to-mtp; tools: skill — / — ✅ 0.09
migrate-vstest-to-mtp Configure dotnet test MTP mode on .NET 10 SDK 2.0/5 → 5.0/5 🟢 2.0/5 → 5.0/5 🟢 ✅ migrate-vstest-to-mtp; tools: skill / ✅ migrate-vstest-to-mtp; tools: skill — / — ✅ 0.09
migrate-vstest-to-mtp Migrate xUnit.net VSTest filter syntax to MTP 2.0/5 → 4.0/5 🟢 2.0/5 → 4.0/5 🟢 ✅ migrate-vstest-to-mtp; tools: skill / ✅ migrate-vstest-to-mtp; tools: skill — / — ✅ 0.09
migrate-vstest-to-mtp Full VSTest to MTP migration plan for MSTest solution 3.0/5 → 5.0/5 🟢 3.0/5 → 5.0/5 🟢 ✅ migrate-vstest-to-mtp; tools: skill / ✅ migrate-vstest-to-mtp; tools: skill — / — ✅ 0.09
run-tests Run tests in a VSTest MSTest project 4.0/5 → 5.0/5 🟢 4.0/5 → 5.0/5 🟢 ✅ run-tests; tools: skill / ✅ run-tests; tools: skill — / — ✅ 0.14
run-tests Run tests with trx reporting on MTP project (SDK 9) 3.0/5 → 4.0/5 🟢 3.0/5 → 4.0/5 🟢 ✅ run-tests; tools: skill / ✅ run-tests; tools: skill — / — ✅ 0.14
run-tests Run tests with blame-hang on MTP project (SDK 10) 2.0/5 → 4.0/5 🟢 2.0/5 → 3.0/5 🟢 ✅ run-tests; tools: skill / ✅ run-tests; tools: skill — / — ✅ 0.14
run-tests Run tests in a multi-TFM project targeting a specific framework 2.0/5 → 4.0/5 🟢 2.0/5 → 4.0/5 🟢 ✅ run-tests; tools: skill, bash / ✅ run-tests; tools: skill, bash — / — ✅ 0.14
run-tests Filter MSTest tests by category on VSTest 5.0/5 → 5.0/5 5.0/5 → 5.0/5 ⚠️ NOT ACTIVATED / ✅ run-tests; tools: skill, glob — / — ✅ 0.14 [44]
run-tests Filter NUnit tests by class name on VSTest 4.0/5 → 5.0/5 🟢 4.0/5 → 5.0/5 🟢 ✅ run-tests; tools: skill, bash / ✅ run-tests; tools: skill, bash — / — ✅ 0.14
run-tests Filter xUnit v3 tests by class on MTP 1.0/5 → 5.0/5 🟢 1.0/5 → 5.0/5 🟢 ✅ run-tests; tools: skill, bash / ✅ run-tests; tools: skill — / — ✅ 0.14
run-tests Filter xUnit v3 tests by trait on MTP 1.0/5 → 5.0/5 🟢 1.0/5 → 5.0/5 🟢 ✅ run-tests; tools: skill, view / ✅ run-tests; tools: skill, view — / — ✅ 0.14
run-tests Filter TUnit tests by class using treenode-filter 2.0/5 → 5.0/5 🟢 2.0/5 → 5.0/5 🟢 ✅ run-tests; tools: skill / ✅ run-tests; tools: skill — / — ✅ 0.14
run-tests Combine multiple filter criteria on VSTest MSTest 4.0/5 → 4.0/5 4.0/5 → 3.0/5 🔴 ✅ run-tests; tools: skill, bash, glob / ✅ run-tests; tools: skill — / — ✅ 0.14
run-tests MTP project on SDK 9 must use -- separator for args 1.0/5 → 5.0/5 🟢 1.0/5 → 5.0/5 🟢 ✅ run-tests; tools: skill / ✅ run-tests; tools: skill — / — ✅ 0.14
run-tests MTP project on SDK 10 passes args directly 3.0/5 → 4.0/5 🟢 3.0/5 → 4.0/5 🟢 ✅ run-tests; tools: skill / ✅ run-tests; tools: skill — / — ✅ 0.14
run-tests Detect test platform from Directory.Build.props 1.0/5 → 5.0/5 🟢 1.0/5 → 5.0/5 🟢 ✅ run-tests; tools: skill / ✅ run-tests; tools: skill — / — ✅ 0.14
run-tests Negative test: do not use MTP syntax for a VSTest project 4.0/5 → 5.0/5 🟢 4.0/5 → 5.0/5 🟢 ✅ run-tests; tools: skill, view / ✅ run-tests; tools: skill, view — / — ✅ 0.14
mtp-hot-reload Suggest hot reload for failing test in MTP project (SDK 9) 1.0/5 → 5.0/5 🟢 1.0/5 → 4.0/5 🟢 ✅ mtp-hot-reload; tools: skill, bash / ✅ mtp-hot-reload; tools: skill, bash, read_bash, edit, stop_bash — / — ✅ 0.10
mtp-hot-reload Suggest hot reload for failing test in MTP project (SDK 10) 1.0/5 → 4.0/5 🟢 1.0/5 → 3.0/5 🟢 ✅ mtp-hot-reload; tools: skill, bash, create / ✅ mtp-hot-reload; tools: skill, bash, create — / — ✅ 0.10
mtp-hot-reload Enable hot reload when package already installed 2.0/5 → 5.0/5 🟢 2.0/5 → 5.0/5 🟢 ✅ mtp-hot-reload; tools: skill / ✅ mtp-hot-reload; tools: skill — / — ✅ 0.10
mtp-hot-reload Suggest launchSettings.json configuration for hot reload 1.0/5 → 5.0/5 🟢 1.0/5 → 4.0/5 🟢 ✅ mtp-hot-reload; tools: skill, bash, create / ✅ mtp-hot-reload; tools: skill, bash, create — / — ✅ 0.10
mtp-hot-reload Use dotnet run not dotnet test for hot reload 3.0/5 → 3.0/5 3.0/5 → 4.0/5 🟢 ✅ mtp-hot-reload; tools: skill / ✅ mtp-hot-reload; tools: skill — / — ✅ 0.10
mtp-hot-reload Negative: VSTest project cannot use MTP hot reload 2.0/5 → 2.0/5 2.0/5 → 2.0/5 ✅ mtp-hot-reload; tools: skill, create / ✅ mtp-hot-reload; tools: skill, create — / — ✅ 0.10 [45]
mtp-hot-reload Run specific failing test with hot reload filter 1.0/5 → 3.0/5 🟢 1.0/5 → 3.0/5 🟢 ✅ mtp-hot-reload; tools: report_intent, skill, view / ✅ mtp-hot-reload; tools: report_intent, skill, view, bash — / — ✅ 0.10
test-anti-patterns Detect mixed severity anti-patterns in repository service tests 5.0/5 → 5.0/5 5.0/5 → 5.0/5 ✅ test-anti-patterns; tools: report_intent, skill / ✅ test-anti-patterns; tools: report_intent, skill — / — ✅ 0.06
test-anti-patterns Detect flakiness indicators and test coupling 3.0/5 → 4.0/5 🟢 3.0/5 → 4.0/5 🟢 ✅ test-anti-patterns; tools: report_intent, skill / ✅ test-anti-patterns; tools: report_intent, skill — / — ✅ 0.06
test-anti-patterns Detect duplicated tests and magic values 3.0/5 → 5.0/5 🟢 3.0/5 → 3.0/5 ✅ test-anti-patterns; tools: report_intent, skill / ⚠️ NOT ACTIVATED — / — ✅ 0.06 [46]
test-anti-patterns Recognize well-written tests without inventing false positives 1.0/5 → 5.0/5 🟢 1.0/5 → 5.0/5 🟢 ✅ test-anti-patterns; tools: report_intent, skill / ✅ test-anti-patterns; tools: report_intent, skill — / — ✅ 0.06
migrate-mstest-v3-to-v4 Migrate custom TestMethodAttribute from Execute to ExecuteAsync 2.0/5 → 5.0/5 🟢 2.0/5 → 4.0/5 🟢 ✅ migrate-mstest-v3-to-v4; tools: skill / ✅ migrate-mstest-v3-to-v4; tools: skill — / — ✅ 0.07
migrate-mstest-v3-to-v4 Replace ExpectedExceptionAttribute with Assert.ThrowsExactly 3.0/5 → 5.0/5 🟢 3.0/5 → 5.0/5 🟢 ✅ migrate-mstest-v3-to-v4; tools: skill / ✅ migrate-mstest-v3-to-v4; tools: skill — / — ✅ 0.07
migrate-mstest-v3-to-v4 Fix multiple v4 breaking changes: Assert, ClassCleanup, TestContext, Timeout 4.0/5 → 5.0/5 🟢 4.0/5 → 5.0/5 🟢 ✅ migrate-mstest-v3-to-v4; tools: skill / ✅ migrate-mstest-v3-to-v4; tools: skill — / — ✅ 0.07
migrate-mstest-v3-to-v4 Handle net6.0 target framework dropped in MSTest v4 3.0/5 → 5.0/5 🟢 3.0/5 → 4.0/5 🟢 ⚠️ NOT ACTIVATED / ⚠️ NOT ACTIVATED — / — ✅ 0.07
migrate-mstest-v3-to-v4 Fix TestMethodAttribute CallerInfo constructor breaking change 4.0/5 → 5.0/5 🟢 4.0/5 → 5.0/5 🟢 ✅ migrate-mstest-v3-to-v4; tools: skill / ✅ migrate-mstest-v3-to-v4; tools: skill — / — ✅ 0.07 [47]
migrate-mstest-v3-to-v4 Understand behavioral changes after MSTest v4 upgrade 3.0/5 → 5.0/5 🟢 3.0/5 → 5.0/5 🟢 ✅ migrate-mstest-v3-to-v4; tools: skill / ✅ migrate-mstest-v3-to-v4; tools: skill — / — ✅ 0.07
migrate-mstest-v3-to-v4 Handle MSTest.Sdk and MTP changes in v4 2.0/5 → 3.0/5 🟢 2.0/5 → 3.0/5 🟢 ✅ migrate-mstest-v3-to-v4; tools: skill / ✅ migrate-mstest-v3-to-v4; tools: skill — / — ✅ 0.07
migrate-mstest-v3-to-v4 Full MSTest v3 to v4 migration with multiple breaking changes 3.0/5 → 5.0/5 🟢 3.0/5 → 5.0/5 🟢 ✅ migrate-mstest-v3-to-v4; tools: skill / ✅ migrate-mstest-v3-to-v4; tools: skill — / — ✅ 0.07
migrate-mstest-v3-to-v4 Migrate MSTest.Sdk v3 project using ManagedType and TestTimeout 3.0/5 → 4.0/5 🟢 3.0/5 → 4.0/5 🟢 ✅ migrate-mstest-v3-to-v4; tools: skill / ✅ migrate-mstest-v3-to-v4; tools: skill — / — ✅ 0.07
migrate-mstest-v3-to-v4 Correctly identify MSTest v3 project and recommend v4 migration 4.0/5 → 5.0/5 🟢 4.0/5 → 5.0/5 🟢 ✅ migrate-mstest-v3-to-v4; tools: skill / ✅ migrate-mstest-v3-to-v4; tools: skill — / — ✅ 0.07
template-authoring Validate a template.json file 3.0/5 → 5.0/5 🟢 3.0/5 → 5.0/5 🟢 ✅ template-authoring; tools: skill / ✅ template-authoring; tools: skill — / — ✅ 0.06
template-discovery Find template for web API project 2.0/5 → 1.0/5 ⏰ 🔴 2.0/5 → 1.0/5 ⏰ 🔴 ⚠️ NOT ACTIVATED / ✅ template-discovery; tools: report_intent, skill — / — 🟡 0.30
template-discovery Inspect template parameters 4.0/5 → 4.0/5 4.0/5 → 4.0/5 ✅ template-discovery; tools: skill / ✅ template-discovery; tools: skill — / — 🟡 0.30 [48]
template-instantiation Create a console application 4.0/5 → 5.0/5 🟢 4.0/5 → 5.0/5 🟢 ✅ template-instantiation; tools: skill / ✅ template-instantiation; tools: skill — / — 🟡 0.38
template-instantiation Create project with specific framework 5.0/5 → 5.0/5 5.0/5 → 5.0/5 ✅ template-instantiation; tools: skill / ⚠️ NOT ACTIVATED — / — 🟡 0.38 [49]

[1] (Plugin) Quality unchanged but weighted score is -6.6% due to: tokens (11832 → 54340), tool calls (0 → 3), time (11.9s → 23.0s)
[2] (Plugin) Quality unchanged but weighted score is -9.1% due to: tokens (11912 → 54772), tool calls (0 → 3), time (15.1s → 24.7s)
[3] (Plugin) Quality unchanged but weighted score is -8.9% due to: tokens (11921 → 54108), tool calls (0 → 4), time (15.3s → 23.9s)
[4] (Plugin) Quality unchanged but weighted score is -10.0% due to: tokens (40346 → 102732), tool calls (5 → 10), time (31.1s → 66.4s)
[5] (Plugin) Quality unchanged but weighted score is -2.7% due to: tokens (38676 → 73729), tool calls (4 → 6)
[6] (Plugin) Quality unchanged but weighted score is -3.0% due to: tokens (36353 → 62090), tool calls (3 → 6), time (23.1s → 31.5s)
[7] (Plugin) Quality unchanged but weighted score is -5.8% due to: tokens (38682 → 69762), tool calls (3 → 7), time (33.8s → 92.8s)
[8] (Plugin) Quality unchanged but weighted score is -1.7% due to: quality
[9] (Plugin) Quality unchanged but weighted score is -2.7% due to: tokens (77030 → 144774), tool calls (7 → 11)
[10] (Plugin) Quality unchanged but weighted score is -10.0% due to: tokens (28252 → 149924), tool calls (2 → 11), time (38.2s → 110.0s)
[11] (Isolated) Quality unchanged but weighted score is -7.4% due to: tokens (24413 → 43557), tool calls (2 → 5), time (12.8s → 17.6s)
[12] (Isolated) Quality unchanged but weighted score is -8.9% due to: tokens (11810 → 40997), tool calls (0 → 3), time (11.2s → 17.4s)
[13] (Plugin) Quality unchanged but weighted score is -4.6% due to: tokens (56752 → 101596), time (60.4s → 76.7s)
[14] (Plugin) Quality improved but weighted score is -3.4% due to: completion (✓ → ✗), tokens (38944 → 138404), tool calls (7 → 14), time (31.5s → 64.6s)
[15] (Isolated) Quality improved but weighted score is -15.8% due to: quality, tokens (67094 → 202473), tool calls (8 → 16), time (50.6s → 89.5s)
[16] (Plugin) Quality unchanged but weighted score is -7.5% due to: tokens (437192 → 1362265), tool calls (29 → 48), time (169.3s → 228.4s)
[17] (Isolated) Quality unchanged but weighted score is -29.5% due to: completion (✓ → ✗), judgment, errors (0 → 1), time (7.1s → 120.2s)
[18] (Plugin) Quality unchanged but weighted score is -7.3% due to: tokens (11745 → 28890), tool calls (0 → 1)
[19] (Plugin) Quality unchanged but weighted score is -1.5% due to: time (71.8s → 110.6s)
[20] (Plugin) Quality unchanged but weighted score is -33.5% due to: completion (✓ → ✗), judgment, tokens (105688 → 264630), errors (0 → 1), time (61.9s → 360.0s), tool calls (11 → 20)
[21] (Plugin) Quality unchanged but weighted score is -6.2% due to: tokens (11553 → 29346), tool calls (2 → 3)
[22] (Plugin) Quality unchanged but weighted score is -5.9% due to: tokens (16078 → 100807), tool calls (0 → 5)
[23] (Isolated) Quality unchanged but weighted score is -19.6% due to: judgment, quality, tokens (30704 → 53466), tool calls (2 → 3)
[24] (Isolated) Quality unchanged but weighted score is -19.3% due to: judgment, quality, time (20.8s → 25.3s)
[25] (Isolated) Quality unchanged but weighted score is -19.0% due to: judgment, quality
[26] (Isolated) Quality unchanged but weighted score is -22.0% due to: quality, judgment
[27] (Isolated) Quality unchanged but weighted score is -17.7% due to: judgment, quality
[28] (Isolated) Quality unchanged but weighted score is -20.4% due to: judgment, quality, tokens (50854 → 55980)
[29] (Isolated) Quality unchanged but weighted score is -15.4% due to: judgment, quality
[30] (Plugin) Quality unchanged but weighted score is -6.5% due to: tokens (116228 → 216704), time (67.7s → 109.2s), tool calls (16 → 20)
[31] (Isolated) Quality unchanged but weighted score is -4.7% due to: tokens (59412 → 112560), tool calls (16 → 21)
[32] (Isolated) Quality improved but weighted score is -10.8% due to: quality, tokens (67672 → 115216), time (125.4s → 381.7s), tool calls (13 → 17)
[33] (Plugin) Quality unchanged but weighted score is -4.6% due to: tokens (12696 → 31713), tool calls (0 → 1)
[34] (Plugin) Quality unchanged but weighted score is -7.3% due to: tokens (13426 → 32072), tool calls (0 → 2)
[35] (Plugin) Quality unchanged but weighted score is -5.7% due to: tokens (132990 → 292447), tool calls (24 → 29)
[36] (Isolated) Quality improved but weighted score is -23.8% due to: judgment, quality, tokens (13202 → 45808), tool calls (0 → 3)
[37] (Isolated) Quality dropped but weighted score is +7.7% due to: time (101.9s → 36.8s), tokens (16664 → 14007)
[38] (Isolated) Quality unchanged but weighted score is -20.2% due to: judgment, quality
[39] (Plugin) Quality unchanged but weighted score is -10.5% due to: quality, tokens (50130 → 69010)
[40] (Isolated) Quality unchanged but weighted score is -2.6% due to: tokens (81201 → 119831)
[41] (Plugin) Quality unchanged but weighted score is -3.1% due to: tool calls (18 → 29), time (83.2s → 114.9s), tokens (203748 → 229648)
[42] (Plugin) Quality unchanged but weighted score is -4.7% due to: tokens (11690 → 31609), tool calls (0 → 2), time (6.1s → 13.5s)
[43] (Plugin) Quality unchanged but weighted score is -9.7% due to: tokens (12774 → 33400), quality, tool calls (0 → 2)
[44] (Plugin) Quality unchanged but weighted score is -9.6% due to: tokens (23859 → 48583), tool calls (3 → 6), time (9.1s → 16.7s)
[45] (Plugin) Quality unchanged but weighted score is -5.9% due to: quality, tokens (165305 → 254252), tool calls (14 → 18)
[46] (Plugin) Quality unchanged but weighted score is -8.0% due to: tokens (13200 → 33721), tool calls (0 → 2)
[47] (Isolated) Quality improved but weighted score is -2.7% due to: tokens (84726 → 136392)
[48] (Isolated) Quality unchanged but weighted score is -1.2% due to: judgment, tokens (25315 → 40765), tool calls (2 → 3)
[49] (Plugin) Quality unchanged but weighted score is -0.4% due to: efficiency metrics

timeout — run hit the scenario timeout limit; scoring may be impacted by aborting model execution before it could produce its full output

Model: claude-opus-4.6 | Judge: claude-opus-4.6

📖 See InvestigatingResults.md for how to diagnose failures — or use the copy-paste prompt below.

Full results

github-actions Bot added a commit that referenced this pull request Mar 25, 2026
@danmoseley

Copy link
Copy Markdown
Contributor Author

Closing — eval runs are expensive and the troubleshooting output changes only take effect after merge anyway.

@danmoseley danmoseley closed this Mar 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

DO NOT MERGE Flagging for ensuring that the issue is not merged.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants