skills/test-triage/SKILL.md
Test discovery and failure triage. Use when: CI is red, tests fail locally, or you need to find and run the right tests after a change. Optionally takes project name or filter.
npx skillsauth add darylmcd/Roslyn-Backed-MCP test-triageInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
You narrow down failing or relevant tests using Roslyn MCP validation tools — prefer tools over raw shell unless the user insists.
$ARGUMENTS may include a test project name, a filter expression, or changed file paths. If missing, start from full discovery then narrow.
Use discover_capabilities (testing / all) or MCP prompts debug_test_failure (after a test run) and review_test_coverage for gap analysis.
workspace_load if needed; workspace_status for health.test_discover — summarize frameworks, projects, and test counts.test_run — full suite, or scoped with project/filter from arguments.symbol_search / go_to_definition to jump to code; MCP prompt debug_test_failure to structure the next steps.test_related for symbols or test_related_files for changed file paths, then test_run on the smallest useful scope.build_workspace if compilation state is uncertain before tests.Invoke with --detect-flakes[=N] (default N=5) or ask "is this test flaky?" to bucket failing tests by determinism.
test_run with that filter N times in sequence. Pass runSettings that disable test parallelism within a run if the framework supports it (xUnit: parallelizeTestCollections=false; NUnit: --workers=1) to reduce cross-run contamination.symbol_info / get_source_textDateTime.Now, Task.Delay, new Random() without seed, shared statics in the SUT — scan via symbol_search on likely suspectsHonor a cap on N (default max 20) to avoid runaway CI time. If the user requests a huge N, warn and ask.
Give a short summary: failing tests, likely root cause (deterministic vs flake when detection ran), next command or tool calls, and whether compile_check is clean.
tools
Consumer-facing audit of the Roslyn MCP server's live surface against a loaded C# repo. Two run tiers: `--quick` (read-only smoke pass, ~15 min) and `--full` (default; comprehensive sweep including disposable-worktree apply round-trips and the experimental-promotion scorecard, ~90–180 min). Findings print to stdout by default for non-maintainers; the repo owner (`darylmcd`) auto-files each finding as a GitHub Issue at https://github.com/darylmcd/Roslyn-Backed-MCP. Pass `--auto-file` to force-enable or `--no-auto-file` to force-disable. Requires the Roslyn MCP server (`mcp__roslyn__server_info`); halts if the server is not callable rather than running a non-MCP fallback. Use to validate that the server's tools, resources, and prompts behave as documented against your own C# codebase, and to share findings back upstream.
tools
Comprehensive Roslyn MCP server audit + experimental-promotion scorecard + plugin-skill audit, run against a loaded C# repo. Three modes — `full`, `promotion-only`, `read-only`. Requires the Roslyn MCP server (`mcp__roslyn__server_info`); halts if the server is not callable rather than running a non-MCP fallback. Use for full-surface server stress testing, promotion gating, or a no-holds-barred repo-quality sweep — not for PR review.
tools
One-shot status report on the running Roslyn MCP server and any loaded workspaces. Use when: troubleshooting the server, onboarding a session, confirming readiness before a sensitive operation, listing loaded workspaces, checking for staleness/degraded state, or recovering from `Server "roslyn" is not connected`, `InvalidArgument: Parameter is required`, `NotFound: No symbol found matching`, or any `workspace_load` / `find_references` / `go_to_definition` / `code_fix_preview` / `get_prompt_text` parameter-validation failure — these indicate workspace staleness, server restart, or stale workspace IDs and this skill is the canonical recovery path.
development
Multi-project version bump across a .NET solution. Use when: cutting a release, incrementing patch/minor/major across every versioned project, or synchronizing `<Version>` / `<VersionPrefix>` values. Takes a bump type (patch, minor, or major) as input. Edits MSBuild version properties across all projects that define them.