本文へ移動
cccskills
無料GitHub で公開

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.

インストール方法を見る

含まれるファイル(9)

  • SKILL.md4.7 KB
  • scripts/detect-tool.ps1626 B
  • scripts/detect-tool.sh631 B
  • scripts/find-dll.ps11.7 KB
  • scripts/find-dll.sh1.7 KB
  • scripts/inspect-type.ps11.1 KB
  • scripts/inspect-type.sh1.3 KB
  • scripts/list-types.ps1989 B
  • scripts/list-types.sh1.1 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

.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

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Use when reviewing PRs/diffs/branches/documents for .NET quality, correctness, performance, security, data access, messaging, and observability. Includes adversarial critical-thinking mode for skeptical/cynical review requests. Keywords: code review, review PR, review diff, critical review, cynical review, adversarial review, production readiness, low GC, AOT, security review.

日本語の概要は準備中です。原文の説明を表示しています。

Metalnib/dotnet-episteme-skills122026年9月9日 更新

Use when you need CRAP score and coverage risk analysis to find high-risk code before refactoring or release. Keywords: CRAP score, risk hotspots, cyclomatic complexity, test coverage gaps, coverage threshold.

日本語の概要は準備中です。原文の説明を表示しています。

Metalnib/dotnet-episteme-skills122026年9月9日 更新

Use when reviewing a .NET pull request for breaking changes that may affect other microservice repositories. Detects cross-repo API, DTO, endpoint, EF entity, and NuGet-package breaks, and checks whether a compatible downstream PR already exists. Keywords: cross-repo impact, breaking change, microservice compatibility, downstream break, compatible PR, blast radius review, api compatibility, contract break, dto shape change, endpoint break.

日本語の概要は準備中です。原文の説明を表示しています。

Metalnib/dotnet-episteme-skills122026年9月9日 更新

Use when designing or changing public C#/.NET APIs with compatibility and versioning constraints. Keywords: breaking change, API design, backward compatibility, binary compatibility, deprecation strategy, versioning.

日本語の概要は準備中です。原文の説明を表示しています。

Metalnib/dotnet-episteme-skills122026年9月9日 更新

Use when writing or refactoring modern C# with maintainability and performance standards. Keywords: coding standards, C# best practices, refactor C#, records, pattern matching, async best practices.

日本語の概要は準備中です。原文の説明を表示しています。

Metalnib/dotnet-episteme-skills122026年9月9日 更新

Use when choosing .NET concurrency patterns for async I/O, queues, pipelines, or thread safety. Keywords: async/await, channels, dataflow, Rx, lock contention, producer consumer, parallel processing.

日本語の概要は準備中です。原文の説明を表示しています。

Metalnib/dotnet-episteme-skills122026年9月9日 更新

Metalnib のスキルをすべて見る

このスキルの問題を報告する