본문으로 건너뛰기
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

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

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의 스킬 모두 보기

이 스킬의 문제 신고