skills/explain-error/SKILL.md
Diagnostic explainer and fixer. Use when: understanding a C# compiler error or warning, finding fixes for diagnostics, batch-fixing all instances of a diagnostic, or troubleshooting build failures. Takes a diagnostic ID (e.g., CS0246) or file:line as input.
npx skillsauth add darylmcd/Roslyn-Backed-MCP explain-errorInstall 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 are a C# diagnostics specialist. Your job is to explain compiler errors and warnings in context, find available fixes, and apply them safely.
$ARGUMENTS can be:
CS0246, CS8019, CA1000, IDE0005src/MyFile.cs:42Use server_info or roslyn://server/catalog. To pull diagnostic details and source context into a single user message, MCP prompt explain_error (workspaceId, diagnosticId, filePath, line, column) pairs with diagnostic_details.
If $ARGUMENTS is a multi-line build/test output dump rather than a single ID or location, enter bulk mode:
<file>(<line>,<col>): error|warning <DiagID>: <message><file>:<line>:<col>: error|warning: <DiagID>: <message>(DiagID, file, line, column).DiagID and summarize: "{N} instances of {DiagID} across {M} files."DiagID, run Step 2 (Explain) once with a representative instance. Do not repeat per-instance.fix_all_preview per DiagID at the end instead of per-instance fixes.DiagID plus a consolidated batch-fix plan.Skip to Step 1 if $ARGUMENTS is a single ID/location.
If a diagnostic ID was given:
project_diagnostics filtered to that diagnostic ID.If a file:line was given:
project_diagnostics filtered to that file.If a description was given:
project_diagnostics to find matching diagnostics.diagnostic_details with the diagnostic ID, file, line, and column.get_source_text to explain why it's happening here.symbol_info to provide type information.diagnostic_details, check for curated fix options (fixId).code_fix_preview with the best fix option.After user confirmation:
code_fix_apply with the preview token.compile_check to verify the fix resolved the issue without introducing new errors.If the user wants to fix all instances of this diagnostic:
fix_all_preview with:
diagnosticId: the diagnostic IDscope: "document", "project", or "solution" (ask user for scope)fix_all_apply.compile_check to verify.## Diagnostic: {diagnostic-id}
### Explanation
{plain-language explanation of what this diagnostic means}
### This Instance ({file}:{line})
{context: the relevant code with the error highlighted}
{why it's happening in this specific case}
### Available Fixes
1. {fix description} — {preview summary}
2. {alternative fix} — {preview summary}
### Scope
- This file: {count} instances
- This project: {count} instances
- Solution-wide: {count} instances
- Batch fix available: {yes/no}
Provide extra context for these common categories:
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.