dotnet-inspect

Inspect .NET API surfaces across NuGet packages, platform libraries, and local assemblies.

25|4|Updated Dec 21, 2025
One-click install
npx skills add https://github.com/thangchung/agent-engineering-experiment --skill dotnet-inspect-thangchung
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: dotnet-inspect
Source: https://github.com/thangchung/agent-engineering-experiment/tree/main/agentgateway-entraid-obo/.claude/skills/dotnet-inspect
Command: npx skills add https://github.com/thangchung/agent-engineering-experiment --skill dotnet-inspect-thangchung

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Answering questions about .NET library contents normally requires downloading packages, opening decompilers, or reading docs by hand. This Skill lets you query types, members, extension methods, and version diffs directly from the command line across NuGet packages, platform libraries, and local .dll/.nupkg files. ## Core Features & Use Cases - API Discovery and Inspection: List types in a package, view member signatures with documentation, and visualize type hierarchies with shape output. - Version Diffing: Compare two package versions to classify breaking and additive changes, ideal for fixing code broken by upgrades. - Relationship Queries: Find extension methods, interface implementors, and dependency hierarchies across configurable search scopes. - Use Case: Your build breaks after upgrading System.CommandLine. Run a diff between the old and new versions to triage changes, then inspect the new API surface of the affected type to update your code. ## Quick Start Ask the AI to show the API surface of JsonSerializer in the System.Text.Json package using dotnet-inspect.

Frequently Asked Questions about dotnet-inspect

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I see what changed between two versions of a NuGet package?▼

Use the diff command with a version range, for example diff --package System.CommandLine@2.0.0-beta4.22272.1..2.0.3. Add --oneline for a triage summary, then run diff with -t TypeName for detailed breaking and additive changes on a specific type.

How do I list the members of a .NET type from a NuGet package?▼

Run member TypeName --package PackageName --oneline to scan the API surface compactly. Omit --oneline to see full signatures with documentation, or use -m MethodName to filter specific members including constructors via -m .ctor.

Can I inspect local .dll or .nupkg files with dotnet-inspect?▼

Yes, the same commands work on local .dll and .nupkg files as on NuGet packages and platform libraries. Point the command at the local file instead of using --package to inspect its types, members, and metadata.

How do I find extension methods or implementations of an interface in .NET?▼

Use the extensions command to find extension methods and properties for a type, and implements to find concrete types implementing an interface or base class. Both accept scope flags like --platform, --aspnetcore, or --package to control the search scope.

Why does my generic type query return the wrong type in dotnet-inspect?▼

Generic types need quotes and the <T> syntax, for example 'Option<T>'. Using <> resolves to the abstract base instead of the concrete generic, so constructors and generic members will not appear.