richlander/dotnet-inspect/metadata

Claude Code and agent skill by richlander/dotnet-inspect

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Inspect raw ECMA-335 metadata in a .NET assembly; discover tables and heaps, read decoded rows and handles, locate exact coordinates and project bounded machine-readable results.

Install

npx vskill@latest install richlander/dotnet-inspect/metadata

SKILL.md

dotnet-inspect: Inspect .NET Assembly Metadata Tables and Heaps

Use this skill when API views are too high-level and you need the assembly's actual ECMA-335 tables, handles, flags, or heap values. The metadata lens inspects one assembly image and never loads the inspected assembly. Use explain "<question>" for unfamiliar metadata evidence, then follow the returned resource; use -D for the installed section and field names.

bash
dnx dotnet-inspect -y -- <command>

Discover before reading

Metadata tables are unbounded and explicit-only: no verbosity or base category renders them automatically. Structural discovery lists the authored metadata family without running its producers; add --effective to identify the tables and heaps that have data for this image:

bash
dnx dotnet-inspect -y -- library MyLib.dll -D @Metadata
dnx dotnet-inspect -y -- library MyLib.dll -D @Metadata --effective
dnx dotnet-inspect -y -- library MyLib.dll -S @Metadata --count
dnx dotnet-inspect -y -- library MyLib.dll -D "Metadata: TypeDef" --effective

Metadata: Image reports image-level facts. Table sections such as Metadata: TypeDef, Metadata: MethodDef, and Metadata: MemberRef decode handles, ranges, heap values, and flags instead of dumping raw integers.

Query one table

The # column is the real metadata row id. --rows therefore addresses table rows by displayed, 1-based metadata position rather than by the current page. Ranges are inclusive, so 100..199 selects 100 rows:

bash
dnx dotnet-inspect -y -- library MyLib.dll \
-S "Metadata: MethodDef" --rows 100..199 --tsv
dnx dotnet-inspect -y -- library MyLib.dll \
-S "Metadata: TypeRef" --columns "Name,Namespace,ResolutionScope" --jsonl

Table indices are accepted as input aliases when following a token:

bash
dnx dotnet-inspect -y -- library MyLib.dll -S "Metadata: 0x02"

That is the TypeDef table. A full token such as 0x02000015 addresses a row, not a table, and is rejected by -S.

Inspect heaps

The heap sections are Metadata: #Strings, Metadata: #Blob, Metadata: #GUID, and Metadata: #US. Use library coordinate for one exact coordinate:

bash
dnx dotnet-inspect -y -- library MyLib.dll \
-S "Metadata: #Strings" --rows 20
dnx dotnet-inspect -y -- library coordinate "#Strings:0x1a4" \
--library MyLib.dll

Heap addresses are decimal unless prefixed with 0x. String and blob listings contain distinct values referenced by projected table rows, not a claim of complete heap enumeration; each listing reports its coverage.

Selecting @Metadata for a package that resolves to several assemblies is ambiguous and fails. Choose one DLL with library, or use package Foo --library only when the package has one unambiguous library.

Security

  • Security scanPassed, 95 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

7-day trend score
5

Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/richlander/dotnet-inspect/metadata/badge)](https://verified-skill.com/skills/richlander/dotnet-inspect/metadata)

Something wrong with this skill or its page? Tell us.