Help us improve
Share bugs, ideas, or general feedback.
From dotnet-skills
Finds evidence for .NET packages, platform libraries, local assemblies, APIs, dependencies, SourceLink/symbol provenance, and version-to-version API changes.
npx claudepluginhub richlander/dotnet-skills --plugin dotnet-skillsHow this skill is triggered — by the user, by Claude, or both
Slash command
/dotnet-skills:dotnet-inspectThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Use dotnet-inspect when you need evidence instead of guesses for .NET packages, platform libraries, local assemblies, APIs, dependencies, SourceLink/symbol provenance, or version-to-version API changes.
Decompiles .NET assemblies with ILSpy via dnx to inspect internal API implementations, NuGet packages, framework code, and binaries. Use for understanding compiled .NET behavior.
Decompiles .NET assemblies using ILSpy to reveal API implementations, NuGet package source, framework code, and binary internals. Use for inspecting compiled .NET binaries.
Provides .NET ecosystem guidance: C#/F# language features, project structure, NuGet package selection, and architecture decisions across ASP.NET Core, Blazor, EF Core, and cloud/desktop/mobile targets.
Share bugs, ideas, or general feedback.
Use dotnet-inspect when you need evidence instead of guesses for .NET packages, platform libraries, local assemblies, APIs, dependencies, SourceLink/symbol provenance, or version-to-version API changes.
Invoke with dnx:
dnx dotnet-inspect -y -- <command>
For the authoritative workflow guide for the installed tool version, run:
dnx dotnet-inspect -y -- skill
Prefer that embedded skill output over this marketplace bootstrap file when commands or section names differ. It is versioned with the tool and prevents stale skill guidance after breaking CLI changes.
Default output is Markdown. Use --oneline for compact tabular output like docker images, and --json for structured automation. For output, query, and limiter details such as -D, bare -S, -S "Async*", -n, --tail, and --rows, run the embedded guide.
| Goal | Command |
|---|---|
| Find where a type lives | find Pattern --oneline |
| Inspect APIs | type Type --package Foo, then member Type --package Foo |
| Compare versions | diff --package Foo@old..new --breaking |
| Inspect package/library signals | library Foo -S Signals or package Foo -S Signals |
| Resolve SourceLink URLs | source Type --package Foo --oneline |
| Explore relationships | depends Type, extensions Type, implements Interface |
Start broad, then carry resolved context forward:
dnx dotnet-inspect -y -- find JsonSerializer --oneline
dnx dotnet-inspect -y -- member JsonSerializer --package System.Text.Json
dnx dotnet-inspect -y -- source JsonSerializer --package System.Text.Json --oneline
Bare names use the router: platform-looking names are tried as installed platform libraries first, then fall back to NuGet packages if platform resolution fails. Use explicit --platform <LibraryName>, --package Foo[@version], or --library when the source matters.
Discover sections with -D, use bare -S for a curated high-density view, and select named sections with -S Section. Project table columns with --columns, fields with --fields, and count rows with --count when exactly one section is selected.
dnx dotnet-inspect -y -- member JsonSerializer --package System.Text.Json -D
dnx dotnet-inspect -y -- member JsonSerializer --package System.Text.Json -S Methods --columns "Name;Signature;Obsolete"
dnx dotnet-inspect -y -- library System.Text.Json -S "Async*" --count
dnx dotnet-inspect -y -- skill when doing non-trivial work; it contains the current, tool-embedded guidance.<T>, not <>: 'Option<T>', 'INumber<TSelf>'.type uses -t for type filters; member uses -m for member filters.-m JsonSerializer.Deserialize...: --package Foo@1.0.0..2.0.0.--all for non-public, hidden, and extra members; obsolete members are already shown by default.