Skip to content
Development
Skill

/ilspy-decompile

Understand implementation details of .NET code by decompiling assemblies. Use when you want to see how a .NET API works internally, inspect NuGet package source, view framework implementation, or understand compiled .NET binaries.

From plugin
claude-code-rules
14127 skills13 agents16 commands3 MCP
Install
$ npx -y skills add NikiforovAll/claude-code-rules --skill ilspy-decompile --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/ilspy-decompile

Context preview

The summary Claude sees to decide when to auto-load this skill.

Understand implementation details of .NET code by decompiling assemblies. Use when you want to see how a .NET API works internally, inspect NuGet package source, view framework implementation, or understand compiled .NET binaries.

SKILL.md

ilspy-decompile.SKILL.md
name: ilspy-decompile
description: Understand implementation details of .NET code by decompiling assemblies. Use when you want to see how a .NET API works internally, inspect NuGet package source, view framework implementation, or understand compiled .NET binaries.
allowed-tools: Bash(dotnet dnx:*), Bash(ilspycmd:*)

.NET Assembly Decompilation with ILSpy

Use this skill to understand how .NET code works internally by decompiling compiled assemblies.

Prerequisites

  • .NET SDK installed
  • ILSpy command-line tool available via one of the following:
  • `dotnet dnx ilspycmd` (if available in your SDK or runtime)
  • `dotnet tool install --global ilspycmd`

Both forms are shown below. Use the one that works in your environment.

> Note: ILSpyCmd options may vary slightly by version. > Always verify supported flags with `ilspycmd -h`.

Quick start

# Decompile an assembly to stdout
ilspycmd MyLibrary.dll
# or
dotnet dnx ilspycmd MyLibrary.dll

# Decompile to an output folder
ilspycmd -o output-folder MyLibrary.dll

Common .NET Assembly Locations

NuGet packages

~/.nuget/packages/<package-name>/<version>/lib/<tfm>/

.NET runtime libraries

dotnet --list-runtimes

.NET SDK reference assemblies

dotnet --list-sdks

> Reference assemblies do not contain implementations.

Project build output

./bin/Debug/net8.0/<AssemblyName>.dll
./bin/Release/net8.0/publish/<AssemblyName>.dll

Core workflow

1. Identify what you want to understand 2. Locate the assembly 3. List types to find the target 4. Decompile the target

Commands

List types in an assembly

Use `-l` with an entity type to discover what's inside:

# List classes
ilspycmd -l c MyLibrary.dll

# List interfaces
ilspycmd -l i MyLibrary.dll

# List structs, delegates, enums
ilspycmd -l s MyLibrary.dll
ilspycmd -l d MyLibrary.dll
ilspycmd -l e MyLibrary.dll

Basic decompilation

ilspycmd MyLibrary.dll
ilspycmd -o ./decompiled MyLibrary.dll
ilspycmd -p -o ./project MyLibrary.dll

Targeted decompilation

# Decompile specific type
ilspycmd -t Namespace.ClassName MyLibrary.dll

# Specify C# language version (default: Latest)
ilspycmd -lv CSharp12_0 MyLibrary.dll

View IL code

ilspycmd -il MyLibrary.dll

Clean output

# Remove dead code and dead stores for cleaner results
ilspycmd --no-dead-code --no-dead-stores MyLibrary.dll

Organized project output

# Decompile with nested directories matching namespaces
ilspycmd --nested-directories -p -o ./decompiled MyLibrary.dll

References

  • **references/diagrammer.md** — Generate interactive HTML diagrams from assemblies. Load when the user asks to visualize or explore type relationships.

Notes on modern .NET builds

  • ReadyToRun images may reduce readability
  • Trimmed or AOT builds may omit code
  • Prefer non-trimmed builds

Legal note

Decompiling assemblies may be subject to license restrictions.

Read more
Ships withclaude-code-rules

A collection of Claude Code recommendations and practices. Learn practical techniques to enhance your AI-assisted development workflow with Claude Code.

Get the whole plugin

Other skills on claude-code-rules.