From roslyn-mcp
Roslyn code actions (fixes and refactorings). Use when: applying IDE-style quick fixes or refactorings at a position or selection, including introduce parameter and inline temporary variable. Takes file path and line/column (and optional selection end) as input.
npx claudepluginhub darylmcd/roslyn-backed-mcp --plugin roslyn-mcpThis skill uses the workspace's default tool permissions.
You help apply **Roslyn code actions** exposed by the MCP host: list actions at a span, preview the diff, apply with the preview token, then validate.
Creates isolated Git worktrees for feature branches with prioritized directory selection, gitignore safety checks, auto project setup for Node/Python/Rust/Go, and baseline verification.
Executes implementation plans in current session by dispatching fresh subagents per independent task, with two-stage reviews: spec compliance then code quality.
Dispatches parallel agents to independently tackle 2+ tasks like separate test failures or subsystems without shared state or dependencies.
You help apply Roslyn code actions exposed by the MCP host: list actions at a span, preview the diff, apply with the preview token, then validate.
From $ARGUMENTS (or the user's message), obtain:
filePathstartLine, startColumn (1-based)endLine, endColumn for selection-range refactorings (e.g. introduce parameter, inline temporary)If a workspace is not loaded, ask for the solution path and call workspace_load first.
Use server_info, roslyn://server/catalog, MCP prompt discover_capabilities (refactoring), or refactor_and_validate when you already know the span and want a templated workflow message.
preview_code_action → review diff → apply_code_action.compile_check or build_project / build_workspace.get_code_actions with workspaceId, filePath, startLine, startColumn, and end coordinates if the user highlighted a range.preview_code_action with that index. Show the diff summary.apply_code_action with the preview token.compile_check (fast) or build_workspace.revert_last_apply then retry with a different action or span.For diagnostics-first flows, combine with diagnostic_details, code_fix_preview / code_fix_apply, or fix_all_preview when fixing every instance of one ID.
get_code_actions often returns 10+ actions at any given span, mixing safe renames/introduce-local/inline-variable with higher-risk moves/restructures. Filter them into three tiers before presenting:
| Tier | Examples of action titles | Recommended default |
|---|---|---|
| Safe | "Inline temporary variable", "Introduce local", "Use expression body", "Convert to auto-property", "Add/remove modifier", "Use var / explicit type", "Add missing using", "Sort usings", "Remove unused using", "Use pattern matching", "Use nameof", "Use ?? / ??=", "Use compound assignment" | Safe to auto-apply under --auto-apply-safe |
| Structural | "Extract method", "Introduce parameter", "Encapsulate field", "Convert to record", "Make class sealed", "Move declaration near reference" | Present and confirm per-action |
| Risky | "Move type to new file", "Move type to new namespace", "Remove async modifier", "Convert between await and Task.Run", anything involving cross-file moves | Present with a warning; never auto-apply |
Workflow with the filter:
get_code_actions as usual.--auto-apply-safe, preview + apply every Safe-tier action at once via composite preview when possible, then run compile_check.This filter is a heuristic — action titles vary by analyzer version. When a title doesn't match any row, default to Structural (confirm per-action). A user can override the classification for a specific action by name.