Claude Skills
CollectionsCompareWorkflowsNominate
Sign inSign up
© 2026 Curated Agent Skills·Learn more about Agent Skills
Back to repository

ilspy-decompile

verified

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

View on GitHub

Marketplace

dotnet-skillz

davidfowl/dotnet-skillz

Plugin

ilspy-decompile

Repository

davidfowl/dotnet-skillz
176stars

skills/ilspy-decompile/SKILL.md

Last Verified

February 1, 2026

Install Skill

Select agents to install to:

Scope:
npx add-skill https://github.com/davidfowl/dotnet-skillz/blob/main/skills/ilspy-decompile/SKILL.md -a claude-code --skill ilspy-decompile

Installation paths:

Claude
.claude/skills/ilspy-decompile/
Powered by add-skill CLI

Instructions

# .NET Assembly Decompilation with ILSpy

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

## Quick start

```bash
# Decompile an assembly to stdout (no install needed with .NET 10+)
dnx ilspycmd MyLibrary.dll

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

## Common .NET Assembly Locations

### NuGet Packages
```bash
# Windows
~/.nuget/packages/<package-name>/<version>/lib/<tfm>/

# Example: Newtonsoft.Json
~/.nuget/packages/newtonsoft.json/13.0.3/lib/netstandard2.0/Newtonsoft.Json.dll

# Example: Microsoft.Extensions.DependencyInjection
~/.nuget/packages/microsoft.extensions.dependencyinjection/8.0.0/lib/net8.0/Microsoft.Extensions.DependencyInjection.dll
```

### .NET Runtime Libraries
```bash
# Find .NET install location
dotnet --list-runtimes

# Windows typical paths
C:/Program Files/dotnet/shared/Microsoft.NETCore.App/<version>/
C:/Program Files/dotnet/shared/Microsoft.AspNetCore.App/<version>/

# Linux/macOS typical paths
/usr/share/dotnet/shared/Microsoft.NETCore.App/<version>/
/usr/share/dotnet/shared/Microsoft.AspNetCore.App/<version>/

# Example: System.Text.Json from runtime
C:/Program Files/dotnet/shared/Microsoft.NETCore.App/8.0.0/System.Text.Json.dll
```

### .NET SDK Reference Assemblies
```bash
# Find SDK location
dotnet --list-sdks

# Reference assemblies (design-time facades)
C:/Program Files/dotnet/packs/Microsoft.NETCore.App.Ref/<version>/ref/net8.0/
```

### Project Build Output
```bash
# Debug build
./bin/Debug/net8.0/<AssemblyName>.dll

# Published output
./bin/Release/net8.0/publish/<AssemblyName>.dll
```

## Core workflow

1. Identify what you want to understand (API, class, method)
2. Locate the assembly containing that code
3. Use `dnx ilspycmd -l class` to find the exact type name
4. Decompile the specific type with `-t`

## Commands

### Basic Decompilation

```bash
# Decompile to stdout
dnx ilspycmd MyLibrary.dll

# Decompile to output directory
dnx ilspy

Validation Details

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