ALWAYS use for ANY C# operation: renaming (files/classes/methods/properties/namespaces), finding references/usages ("where is X used"), finding definitions ("where is X defined"), understanding code structure (hierarchies/dependencies/relationships). Roslyn-powered semantic analysis ensures all references are updated correctly across the entire solution.
View on GitHubpvasek/claude-skills
pvasek-skills
skills/csharp-project-expert/SKILL.md
January 20, 2026
Select agents to install to:
npx add-skill https://github.com/pvasek/claude-skills/blob/main/skills/csharp-project-expert/SKILL.md -a claude-code --skill csharp-project-expertInstallation paths:
.claude/skills/csharp-project-expert/# C# Project Expert Compiler-accurate semantic analysis for C# using Roslyn APIs. **Not text search** - understands C# semantics. ## When to Use **Use this skill for:** - Finding symbol definitions (classes, methods, interfaces, properties) - Finding all references before refactoring - Safe renaming across entire solution (always preview first!) - Understanding method signatures and type hierarchies - Checking compilation errors/warnings - Finding interface implementations - Analyzing method call chains (callers/callees) - Finding unused code **Don't use for:** Non-C# files, simple text/comment searches, projects without .sln/.csproj ## CLI Path (Cross-Platform) | Platform | Path | |----------|------| | Linux x64 | `./scripts/linux-x64/csharp-skill` | | macOS x64 | `./scripts/osx-x64/csharp-skill` | | macOS ARM | `./scripts/osx-arm64/csharp-skill` | | Windows x64 | `./scripts/win-x64/csharp-skill.exe` | ## Command Syntax ``` <cli-path> [-s <solution.sln> | -p <project.csproj>] [-o json|text|markdown] <command> [options] ``` **Auto-Discovery:** If `-s` or `-p` is not specified, the tool automatically searches the current directory for a `.sln` file (preferred) or `.csproj` file. ## All Commands (18) | Command | Purpose | Key Options | |---------|---------|-------------| | `find-definition <name>` | Where is symbol defined | `--type class|method|property|interface` | | `find-references <name>` | All usages of symbol | `--type`, `--in-namespace` | | `rename <old> <new>` | Rename across solution | `--preview` (use first!), `--type`, `--rename-file` | | `signature <name>` | Method/type signature | `--include-overloads`, `--include-docs` | | `list-members <type>` | Members of a type | `--kind method|property|field`, `--accessibility` | | `diagnostics` | Compilation errors/warnings | `--severity error|warning`, `--file`, `--code` | | `check-symbol-exists <name>` | Verify symbol exists | `--type` | | `find-implementations <name>` | Interface implementations | - |