ilspy-decompile — скилл для Claude Code: что делает и как установить
Декомпилирует сборки .NET через утилиту ilspycmd. Помогает изучать исходники пакетов NuGet и внутреннее устройство runtime-библиотек прямо в сессии агента.
npx skills add Aaronontheweb/dotnet-skills --skill ilspy-decompile -a claude-codeЧто делает ilspy-decompile
Скилл запускает консольную утилиту ilspycmd для исследования скомпилированных файлов .dll. Агент находит нужную сборку в кэше пакетов ~/.nuget/packages или в папке сборки bin/, после чего восстанавливает исходный C# код либо выводит инструкции промежуточного языка IL через флаг -il.
Для работы требуется .NET SDK и установленная утилита ilspycmd. Инструмент ставится глобально командой dotnet tool install --global ilspycmd или вызывается через dnx ilspycmd. Можно распаковать проект целиком с ключом -p или декомпилировать отдельный класс через флаг -t.
Эталонные сборки SDK содержат только сигнатуры и не покажут реализацию. На сборках с ReadyToRun или AOT часть кода будет вырезана либо потеряет читаемость, поэтому для анализа нужны обычные сборки без тримминга.
Какие задачи решает
- изучить внутреннее устройство стороннего NuGet-пакета
- декомпилировать сборку .NET в структуру C# проекта
- посмотреть реализацию конкретного класса через параметр
-t - проверить байт-код IL в скомпилированной библиотеке
Примеры запросов агенту
- Декомпилируй класс Namespace.ClassName из библиотеки MyLibrary.dll с помощью ilspycmd.
- Найди сборку пакета в ~/.nuget/packages и распакуй проект в папку ./decompiled.
Как установить ilspy-decompile
1Через Skills CLI (Vercel)
npx skills add Aaronontheweb/dotnet-skills --skill ilspy-decompile -a claude-code2Вручную: положить файлы
~/.claude/skills/ilspy-decompile/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/ilspy-decompile/
1Через Skills CLI (Vercel)
npx skills add Aaronontheweb/dotnet-skills --skill ilspy-decompile -a codex2Вручную: положить файлы
.agents/skills/ilspy-decompile/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add Aaronontheweb/dotnet-skills --skill ilspy-decompile -a cursor2Вручную: положить файлы
.cursor/skills/ilspy-decompile/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install Aaronontheweb/dotnet-skills ilspy-decompile2Вручную: положить файлы
.github/skills/ilspy-decompile/SKILL.md1Через Skills CLI (Vercel)
npx skills add Aaronontheweb/dotnet-skills --skill ilspy-decompile -a gemini-cli2Командой платформы
gemini skills install https://github.com/Aaronontheweb/dotnet-skills --path skills/ilspy-decompileВручную: положить файлы
.devin/skills/ilspy-decompile/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add Aaronontheweb/dotnet-skills --skill ilspy-decompile -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о ilspy-decompile
Как установить ilspy-decompile в Claude Code?
Выполните команду npx skills add Aaronontheweb/dotnet-skills --skill ilspy-decompile -a claude-code. Файл навыка сохранится в ~/.claude/skills/ilspy-decompile/SKILL.md.
Что делает скилл ilspy-decompile?
Он даёт агенту инструкции по декомпиляции сборок .NET в исходный C# код или байт-код IL с помощью утилиты ilspycmd. Это позволяет разбирать логику закрытых библиотек без исходников.
Какие системные требования нужны для работы?
В системе должен стоять .NET SDK и утилита ilspycmd. Её можно установить через dotnet tool install --global ilspycmd или запускать через dnx ilspycmd.
Исходный текст
SKILL.md · MIT
--- 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(dnx:*) --- # .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: - `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 ```bash # Decompile an assembly to stdout ilspycmd MyLibrary.dll # or dnx ilspycmd MyLibrary.dll # Decompile to an output folder ilspycmd -o output-folder MyLibrary.dll ``` ## Common .NET Assembly Locations ### NuGet packages ```bash ~/.nuget/packages/<package-name>/<version>/lib/<tfm>/ ``` ### .NET runtime libraries ```bash dotnet --list-runtimes ``` ### .NET SDK reference assemblies ```bash dotnet --list-sdks ``` > Reference assemblies do not contain implementations. ### Project build output ```bash ./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 4. Decompile the target ## Commands ### Basic decompilation ```bash ilspycmd MyLibrary.dll ilspycmd -o ./decompiled MyLibrary.dll ilspycmd -p -o ./project MyLibrary.dll ``` ### Targeted decompilation ```bash ilspycmd -t Namespace.ClassName MyLibrary.dll ilspycmd -lv CSharp12_0 MyLibrary.dll ``` ### View IL code ```bash ilspycmd -il MyLibrary.dll ``` ## 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.
© Aaronontheweb · MIT · Aaronontheweb/dotnet-skills