Back to Skills

csharp-project-expert

verified

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 GitHub

Marketplace

pvasek-skills-marketplace

pvasek/claude-skills

Plugin

pvasek-skills

development

Repository

pvasek/claude-skills

skills/csharp-project-expert/SKILL.md

Last Verified

January 20, 2026

Install Skill

Select agents to install to:

Scope:
npx add-skill https://github.com/pvasek/claude-skills/blob/main/skills/csharp-project-expert/SKILL.md -a claude-code --skill csharp-project-expert

Installation paths:

Claude
.claude/skills/csharp-project-expert/
Powered by add-skill CLI

Instructions

# 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 | - |

Validation Details

Front Matter
Required Fields
Valid Name Format
Valid Description
Has Sections
Allowed Tools
Instruction Length:
3685 chars