dotnet-inspect

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

Updated Jun 2, 2026
One-click install
npx skills add https://github.com/codebytes/btt --skill dotnet-inspect-codebytes
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: dotnet-inspect
Source: https://github.com/codebytes/btt/tree/main/.agents/skills/dotnet-inspect
Command: npx skills add https://github.com/codebytes/btt --skill dotnet-inspect-codebytes

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Answering questions about .NET library contents normally requires digging through documentation sites or decompilers. 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 with type, inspect member signatures and docs with member, and search by glob pattern with find. - Version Diffing: Compare API surfaces between package versions with diff, which classifies breaking versus additive changes — ideal for fixing code broken by upgrades. - Relationship Queries: Find extension methods with extensions, interface implementors with implements, and walk type hierarchies with depends. - Use Case: A build breaks after upgrading System.CommandLine. Run diff --package [email protected] --oneline to triage changes, then member Command --package System.CommandLine@new --oneline to see the new API surface. ## Quick Start Ask the AI to use dotnet-inspect to show the API surface of JsonSerializer in the System.Text.Json package.

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 [email protected]. Add --oneline for a compact triage view, then run diff with -t TypeName for full detail on a specific type.

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

Use the member command, for example member JsonSerializer --package System.Text.Json. It shows full signatures and documentation by default; add --oneline for a compact list or -m MethodName to filter specific members.

Can dotnet-inspect search platform libraries like System.Collections?

Yes. The same commands work on platform libraries by passing --platform, for example type 'HashSet<T>' --platform System.Collections --shape. Search commands also support --aspnetcore and --extensions scopes.

How do I find all types that implement an interface in .NET?

Use the implements command with the interface name. By default it searches platform frameworks and Microsoft.Extensions.AI; add --package, --aspnetcore, or --extensions flags to widen or narrow the search scope.

Why does querying a generic type like Option<> return the wrong type?

Use <T> instead of <> for generic types and quote the name, for example 'Option<T>'. The <> form resolves to the abstract base, while <T> resolves to the concrete generic including its constructors.