agentsclimarketplace

Dotnet techne inspect

Skill Metalnib/dotnet-episteme-skills/skills/dotnet-techne-inspect

DotNet Episteme Skills - a curated, manual-first .NET AI skills library rooted in systematic knowledge (episteme) and shaped by disciplined craft (techne), designed for engineers who prioritise precision over hype.

Install
npx -y skills add Metalnib/dotnet-episteme-skills --skill dotnet-techne-inspect

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 11 stars11 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Use when you need to inspect NuGet package APIs, list public types, or decompile method/property signatures. Keywords: inspect package API, list types, decompile type, method signatures, NuGet interface.

The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

4.7 KB, as published. Nobody here has run it

.NET NuGet Package Inspector

Inspect public APIs of .NET NuGet packages without writing throwaway C# code. Lists types (classes, interfaces, enums) and decompiles full type definitions with method signatures, properties, and attributes.

Requirements

One of these .NET global tools must be installed:

  • dotnet-inspect (preferred) — .NET 10+ SDK required
    dotnet tool install -g dotnet-inspect
    
  • ilspycmd (fallback) — .NET 8+ SDK required
    dotnet tool install -g ilspycmd
    

The NuGet package you want to inspect must be restored locally (present in ~/.nuget/packages/). If not, run dotnet restore in a project that references it.

When to use this skill

Use when the user asks to:

  • Inspect a NuGet package's public API
  • List types/interfaces/classes in a .NET package
  • View method signatures or properties of a NuGet type
  • Understand what a .NET client library provides
  • "What does IFooApi look like?" for a referenced NuGet

Workflow

Step 0: Detect available tool

Always run this first to determine which backend to use.

Bash (Linux/macOS):

./scripts/detect-tool.sh

PowerShell (Windows):

.\scripts\detect-tool.ps1

Output: dotnet-inspect or ilspycmd. If neither is found, the script prints install instructions and exits with error.

Step 1: List public types in a package

Bash:

./scripts/list-types.sh <package-name> <version> [tfm]
# Example:
./scripts/list-types.sh PrimeLabs.Service.Assets.Client 1.1.1
./scripts/list-types.sh Refit 8.0.0 net8.0

PowerShell:

.\scripts\list-types.ps1 -PackageName <name> -Version <ver> [-Tfm <tfm>]
# Example:
.\scripts\list-types.ps1 -PackageName PrimeLabs.Service.Assets.Client -Version 1.1.1

The tfm parameter (target framework moniker) defaults to auto-detection (picks the highest available). Specify it explicitly if the package supports multiple frameworks (e.g., net8.0, net6.0, netstandard2.0).

Step 2: Inspect a specific type

Bash:

./scripts/inspect-type.sh <full-type-name> <package-name> <version> [tfm]
# Example:
./scripts/inspect-type.sh PrimeLabs.Service.Assets.Client.IAssetsApi PrimeLabs.Service.Assets.Client 1.1.1
./scripts/inspect-type.sh Refit.HttpMethodAttribute Refit 8.0.0

PowerShell:

.\scripts\inspect-type.ps1 -TypeName <full-type-name> -PackageName <name> -Version <ver> [-Tfm <tfm>]
# Example:
.\scripts\inspect-type.ps1 -TypeName PrimeLabs.Service.Assets.Client.IAssetsApi -PackageName PrimeLabs.Service.Assets.Client -Version 1.1.1

Helper: Find DLL path (ilspycmd only)

If you need the raw DLL path for manual ilspycmd usage:

Bash:

./scripts/find-dll.sh <package-name> <version> [tfm]

PowerShell:

.\scripts\find-dll.ps1 -PackageName <name> -Version <ver> [-Tfm <tfm>]

Quick Reference

# === Full inspection workflow (Bash) ===
./scripts/detect-tool.sh                                    # 1. Which tool?
./scripts/list-types.sh MyPackage 2.0.0                     # 2. What types?
./scripts/inspect-type.sh MyNamespace.IMyApi MyPackage 2.0.0 # 3. Full API

# === Quick one-liner examples ===
./scripts/list-types.sh Refit 8.0.0
./scripts/inspect-type.sh Refit.IRequestBuilder Refit 8.0.0
./scripts/find-dll.sh Newtonsoft.Json 13.0.3 net6.0
# === Full inspection workflow (PowerShell) ===
.\scripts\detect-tool.ps1
.\scripts\list-types.ps1 -PackageName MyPackage -Version 2.0.0
.\scripts\inspect-type.ps1 -TypeName MyNamespace.IMyApi -PackageName MyPackage -Version 2.0.0

Notes

  • dotnet-inspect works by package name directly — no DLL path resolution needed
  • ilspycmd requires the DLL path; the scripts resolve it automatically from the NuGet cache (~/.nuget/packages/)
  • If a package isn't in the local cache, run dotnet restore in a project that references it first
  • The list-types output includes the type kind (Class, Interface, Struct, Enum) for easy filtering
  • The inspect-type output is decompiled C# source — includes attributes, method signatures, properties, and inheritance

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.