dotnet-inspect-performance — Claude Code skill: install and overview
Ranks .NET assembly members by call-graph leverage and triages IL allocation patterns. Useful for prioritizing library optimizations before running benchmarks.
npx skills add richlander/dotnet-inspect --skill dotnet-inspect-performance -a claude-code
npx skills add richlander/dotnet-inspect --skill performance -a claude-codeWhat dotnet-inspect-performance does
The skill analyzes compiled .NET assemblies using dnx dotnet-inspect. Its Top Leverage section ranks methods by direct callers and transitive entry points. This highlights high-impact routines across an entire library or within a specific type before you modify source code.
Performance triage scans intermediate language for specific allocation shapes under @Performance. It flags boxed value types, capturing delegates, string builds, and synchronous calls inside async methods. The tool focuses on structural IL costs rather than JIT optimizations like devirtualization or null-check folding.
Treating high-priority findings as mandatory rewrites without allocation traces will waste effort; confirm candidate impact with benchmarks first. Because static inspection cannot determine runtime iteration counts or sequence sizes, scan helpers carry low confidence by design.
What it helps with
- rank .NET assembly members by call-graph reach
- spot boxed value types and generic object boxing in IL
- identify capturing delegates and loop-allocated collections
- detect synchronous calls within async state machines
Example prompts for the agent
- Inspect MyLib.dll with dotnet-inspect and show Top Leverage members.
- Run dotnet-inspect on MyLib.dll targeting capturing delegates and boxing with high priority.
- Check MyType in MyLib.dll for synchronous calls inside async methods.
How to install dotnet-inspect-performance
1Skills CLI (Vercel)
npx skills add richlander/dotnet-inspect --skill dotnet-inspect-performance -a claude-codenpx skills add richlander/dotnet-inspect --skill performance -a claude-code2Manually: put the files in place
~/.claude/skills/performance/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/performance/
1Skills CLI (Vercel)
npx skills add richlander/dotnet-inspect --skill performance -a codex2Manually: put the files in place
.agents/skills/performance/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add richlander/dotnet-inspect --skill performance -a cursor2Manually: put the files in place
.cursor/skills/performance/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install richlander/dotnet-inspect performance2Manually: put the files in place
.github/skills/performance/SKILL.md1Skills CLI (Vercel)
npx skills add richlander/dotnet-inspect --skill performance -a gemini-cli2Platform CLI
gemini skills install https://github.com/richlander/dotnet-inspect --path skills/performanceManually: put the files in place
.devin/skills/performance/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add richlander/dotnet-inspect --skill performance -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about dotnet-inspect-performance
How do I install dotnet-inspect-performance in Claude Code?
Run npx skills add richlander/dotnet-inspect --skill dotnet-inspect-performance -a claude-code. You can also register the shorter alias with npx skills add richlander/dotnet-inspect --skill performance -a claude-code.
What does dotnet-inspect-performance inspect?
It inspects compiled .NET assemblies directly at the IL level. The skill maps call-graph leverage and flags patterns like boxing, closure allocations, and synchronous calls in async methods.
Why are some triage findings marked with low confidence?
Static analysis cannot prove whether loop collections or traversal sequences actually expand at runtime. The tool flags potential materializations and structural patterns, leaving allocation volume and safety verification to benchmarks.