Skip to content
Development
Skill

/dotnet-techne-inspect

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.

From plugin
dotnet-episteme-skills
1314 skills13 agents3 commands3 hooks
+1

Claude Code

$ npx -y skills add Metalnib/dotnet-episteme-skills --skill dotnet-techne-inspect --agent claude-code

SKILL.md

dotnet-techne-inspect.SKILL.md
name: dotnet-techne-inspect
description: "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."
disable-model-invocation: false
user-invocable: true
license: MIT
compatibility: Requires dotnet-inspect OR ilspycmd global tool. Works with bash (Linux/macOS) or PowerShell (Windows).
metadata:
  author: Metalnib
  version: "1.2.0"
  trigger_keywords:
    - inspect package api
    - list types
    - decompile type
    - method signatures
    - nuget interface

.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
Read more
@metalnib
Ships withdotnet-episteme-skills

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.

1314 skills13 agents1 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
13
Star history of Metalnib/dotnet-episteme-skills on GitHub, a chart by star-history.com

Other skills on dotnet-episteme-skills.

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills13d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc2w293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react4d252k
@facebook@facebookInstall Skill

Questions about dotnet-techne-inspect.

Which coding agents can use dotnet-techne-inspect?
dotnet-techne-inspect installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.