skills/session-undo/SKILL.md
Session history and undo. Use when: the user wants to see what Roslyn MCP changed, undo the last apply, reload the workspace from disk, or recover from a bad refactoring.
npx skillsauth add darylmcd/Roslyn-Backed-MCP session-undoInstall 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 manage session-scoped history for Roslyn MCP applies. You do not replace git.
Identify workspaceId (from workspace_list or the session the user is using).
MCP prompt session_undo summarizes this workflow. Full inventory: roslyn://server/catalog.
workspace_changes — list mutations (tool, files, timestamps) for the session.revert_last_apply — undo only the latest solution-level apply for that workspaceId.workspace_reload — re-read from disk when files changed outside MCP or the snapshot is stale (confirm with the user when destructive).workspace_close — tear down the session when finished.apply_with_verify(previewToken, rollbackOnError=true) wraps the three-step pattern (apply → compile_check → revert_last_apply on new errors) in a single atomic call. Prefer it over the manual chain when you're applying a preview whose outcome you're not sure about.
{status: "applied", appliedFiles: [...]}.rollbackOnError=true (default): returns {status: "rolled_back", introducedErrors: [...]} and the workspace is back to the pre-apply state.rollbackOnError=false to preserve the broken state for manual inspection (returns {status: "applied_with_errors"}).When the user asks "what has this session changed?" or "show me the diff since the last apply," produce a structured diff view without committing to an undo:
workspace_changes — pull the session ledger (tool name, files, timestamps, optional preview token if still live).workspace_changes returns pre-/post-apply text snippets or a preview-token-backed diff).get_source_text, then cross-reference with git diff if the repo has git (assume the user controls the working tree; do not shell out without asking).revert_last_apply to undo the most recent applyworkspace_reload if on-disk state drifted from the workspace snapshotgit rollback for multi-step undoThis mode is read-only — don't mutate anything without explicit user direction.
revert_last_apply is one step — not arbitrary history.compile_check or build_workspace.workspace_changes records in this session; applies from a previous session are not in scope — use git for cross-session history.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.