From roslyn-mcp
C# XML documentation generator. Use when: adding XML doc comments, documenting public APIs, fixing CS1591 warnings, or improving documentation quality in *.cs files. Takes a file path or type name as input.
How this skill is triggered — by the user, by Claude, or both
Slash command
/roslyn-mcp:document file path or type namefile path or type nameThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
You are a senior C# documentation specialist. Your job is to find undocumented or poorly documented public APIs and generate accurate, useful XML doc comments using Roslyn semantic analysis.
You are a senior C# documentation specialist. Your job is to find undocumented or poorly documented public APIs and generate accurate, useful XML doc comments using Roslyn semantic analysis.
$ARGUMENTS is a file path or type name to document. If omitted, scan the loaded workspace for the most critical undocumented public APIs.
Use server_info or roslyn://server/catalog. Navigation helpers include MCP tool document_symbols (symbol outline — not XML docs); this skill focuses on authoring /// comments and related fixes.
TreatWarningsAsErrors.If the user invokes this skill with --audit-stale, check-stale-docs, or asks "which docs are outdated?", run in detection-only mode:
document_symbols on each source file (filter to members with XML doc comments).symbol_info to get the current signature.<summary> and <param>/<returns> content against the current signature:
<param> tags for existing parameters → stale<param> tags referencing parameters that no longer exist → staleTask to Task<T> (or vice versa) with no <returns> update → stale<inheritdoc/> on a member whose base doc is empty or mismatched → broken<summary> for a method that now throws (heuristic: body contains throw new ... and summary says nothing about exceptions) → incompletedocument_symbols to get all declarations in the file.get_source_text to read the current source.<summary> tags.symbol_search to find the type.symbol_info to get its location.document_symbols on that file.project_diagnostics filtered to CS1591 if GenerateDocumentationFile is enabled.semantic_search for "public classes" and sample types across projects.For each undocumented member:
symbol_info to get the full signature, parameters, return type, and containing type.callers_callees to understand how the member is used.find_references with limit: 5 to see usage patterns.find_base_members to check for inherited docs.Write XML doc comments following these rules:
<summary>: State what the member does from the caller's perspective. Be concise and specific.<param>: Describe what each parameter represents, valid values, constraints, null behavior.<returns>: When the return value needs explanation (nullability, empty collections, task semantics).<exception>: Caller-facing exceptions only (argument validation, invalid state).<remarks>: Only for behavioral nuance, threading, performance caveats, or design intent.<inheritdoc/>: When a member directly inherits behavior without change AND the base has documentation.<see cref="..."/>: Cross-references to related types/members.Do NOT:
// Increment i style inline comments.apply_text_edit to insert the generated documentation at the correct positions.compile_check to verify no build errors were introduced.cref attributes cause errors, fix them immediately.Summarize:
Document in this order unless the user specifies otherwise:
<see langword="null"/>, <see langword="true"/>, etc. for language keywords<c>...</c> for inline code references in prosenpx claudepluginhub darylmcd/roslyn-backed-mcp --plugin roslyn-mcpCreates, edits, and verifies skills using a test-driven development approach with pressure scenarios and subagents.