DO

dotnet-inspect

Tools to inspect .NET API surfaces and deprecated members without compiling.

Install

mkdir -p .claude/skills/dotnet-inspect && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/10205" && unzip -o skill.zip -d .claude/skills/dotnet-inspect && rm skill.zip

Installs to .claude/skills/dotnet-inspect

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Query .NET APIs across NuGet packages, platform libraries, and local files. Search for types, list API surfaces, compare and diff versions, find extension methods and implementors. Use whenever you need to answer questions about .NET library contents. As of v0.7.8, [Obsolete] members are surfaced in listings — pair with cs0618-hunter (compiler-based) for runtime ground-truth.
378 charsno explicit “when” triggerlonger than Claude Code's old 250-char listing cap (fine on current versions)
Advanced

Key capabilities

  • Query .NET APIs
  • List API surfaces
  • Compare version diffs
  • Find extension methods
  • Surface [Obsolete] members

How it works

It queries .NET libraries to inspect types, members, and diffs, now including [Obsolete] members as of v0.7.8.

Inputs & outputs

You give it
Package name and version
You get back
API surface or diff

When to use dotnet-inspect

  • Identify deprecated members in NuGet packages
  • Compare API surface changes between library versions
  • Search for extension methods and implementors
  • Verify library contents without compilation

About this skill

dotnet-inspect

Query .NET library APIs — types, members, diffs, extensions, implementations, dependencies, and source links.

ℹ️ [Obsolete] Detection — Status as of v0.7.8

Closed gap (good news): As of richlander/dotnet-inspect v0.7.8 (2026-05-04), the tool now surfaces [Obsolete] members in listings (PR #318, closes issue #316). The historical blind spot — where overloads of AddFanInBarrierEdge appeared identical even when one was deprecated — is fixed in this version.

dotnet-inspect and cs0618-hunter are now complementary, not workaround-vs-truth:

Use…When…
dotnet-inspect (this skill)Pre-build static inspection — "what is deprecated in [email protected]?" without compiling. Fast, scriptable, works against any NuGet package.
cs0618-hunter skillCompiler ground-truth — "what is my code actually triggering today?" Catches transitive obsoletions, overload-resolution surprises, and project-specific [Obsolete] definitions that aren't in NuGet.

Both keep value. Earlier versions (≤ v0.7.7) required cs0618-hunter as the only reliable path; v0.7.8 makes static inspection a viable pre-build option.

Pin to v0.7.8 or later. Versions ≤ v0.7.7 will miss [Obsolete] annotations and silently mislead.


When to Use This Skill (and When NOT to)

Use dotnet-inspect when…Use cs0618-hunter instead when…
Checking if a type exists in a packageYou need the compiler's view of CS0618 warnings in your project
Listing members of a type (incl. [Obsolete] as of v0.7.8)You suspect transitive or overload-resolution-dependent obsoletions
Diffing breaking changes between versionsA project-local [Obsolete] attribute (not in NuGet) is in play
Finding extension methods
Looking up method signatures
Pre-build "would this break if I upgraded?" checkBuild verification after edits

Quick Decision Tree

  • Code broken after upgrade?diff --package [email protected] first, then member
  • What types exist in a package?type --package Foo
  • What members does a type have?member Type --package Foo (now flags [Obsolete])
  • What changed between versions?diff --package [email protected]
  • What does this type depend on?depends (try --mermaid for diagrams — v0.7.5+)
  • Where is the source code?source Type --package Foo
  • What does my project actually trigger?cs0618-hunter (compiler ground-truth)

Installation and Invocation

# Install (once, global)
dotnet tool install -g dnx

# Standard pattern — BOTH --source flags are required for NuGet packages
dnx [email protected] -y --source https://api.nuget.org/v3/index.json -- <command> \
  --package <PackageName>@<version> --source https://api.nuget.org/v3/index.json

The --source https://api.nuget.org/v3/index.json flag must appear on both the dnx invocation and the inner command.


Key Commands for MAF Migrations

Diff breaking changes between MAF versions

dnx [email protected] -y --source https://api.nuget.org/v3/index.json -- diff \
  --package [email protected] --source https://api.nuget.org/v3/index.json

dnx [email protected] -y --source https://api.nuget.org/v3/index.json -- diff \
  --package [email protected] --source https://api.nuget.org/v3/index.json

List types in a MAF package

dnx [email protected] -y --source https://api.nuget.org/v3/index.json -- type \
  --package [email protected] --source https://api.nuget.org/v3/index.json

Inspect members of a specific type

dnx [email protected] -y --source https://api.nuget.org/v3/index.json -- member ChatClientAgent \
  --package [email protected] --source https://api.nuget.org/v3/index.json

dnx [email protected] -y --source https://api.nuget.org/v3/index.json -- member WorkflowBuilder \
  --package [email protected] --source https://api.nuget.org/v3/index.json

Inspect a specific method (single overload detail view — DOES show custom attributes)

# Use --params to select a specific overload, --index for full detail including custom attributes
dnx [email protected] -y --source https://api.nuget.org/v3/index.json -- member WorkflowBuilder \
  --package [email protected] --source https://api.nuget.org/v3/index.json \
  -m AddFanInBarrierEdge --params "ExecutorBinding,IEnumerable<ExecutorBinding>" --index

The single-overload --index view has always shown [Obsolete] in the Custom Attributes section. As of v0.7.8 the multi-overload listing also surfaces [Obsolete], so you no longer need to know which overload to suspect in advance.


General Usage Patterns

# List members of a type
dnx [email protected] -y --source https://api.nuget.org/v3/index.json -- member JsonSerializer \
  --package System.Text.Json --source https://api.nuget.org/v3/index.json

# What changed between versions
dnx [email protected] -y --source https://api.nuget.org/v3/index.json -- diff \
  --package [email protected] --source https://api.nuget.org/v3/index.json

# Check latest version
dnx [email protected] -y --source https://api.nuget.org/v3/index.json -- \
  Microsoft.Agents.AI --latest-version --source https://api.nuget.org/v3/index.json

Key Syntax Rules

  • Generic types need quotes: 'Option<T>', 'IEnumerable<T>'
  • Diff ranges use ..: --package [email protected]
  • -m filters by member name: -m AddFanInBarrierEdge
  • --params selects a specific overload by parameter types
  • --index shows full detail including custom attributes (but only for single-overload view)
  • Do NOT pipe output through head/tail — use --head N / --tail N built-in flags

Command Quick Reference

CommandPurpose
typeDiscover types in a package
memberInspect members of a type
diffCompare API surfaces between versions
findSearch for types by glob/fuzzy match
extensionsFind extension methods for a type
implementsFind types implementing an interface
dependsWalk dependency graphs
sourceSourceLink URLs, fetch source content
packagePackage metadata and versions

When not to use it

  • When you need compiler ground-truth for transitive obsoletions
  • When the package is not on NuGet

Limitations

  • Requires v0.7.8 or later for [Obsolete] detection
  • Does not replace compiler ground-truth

How it compares

It allows static inspection of NuGet packages without compilation, providing a fast way to check for breaking changes.

Compared to similar skills

dotnet-inspect side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
dotnet-inspect (this skill)03moReviewAdvanced
azure-mgmt-mongodbatlas-dotnet03moReviewIntermediate
backend-developer06moNo flagsAdvanced
azure-search-documents-dotnet03moReviewIntermediate

Try saying

Example prompts that trigger this skill in your AI assistant.

You might also like

azure-mgmt-mongodbatlas-dotnet

microsoft

Manage MongoDB Atlas Organizations as Azure ARM resources using Azure.ResourceManager.MongoDBAtlas SDK. Use when creating, updating, listing, or deleting MongoDB Atlas organizations through Azure Marketplace integration. This SDK manages the Azure-side organization resource, not Atlas clusters/databases directly.

02

backend-developer

AndreasKarz

Use this skill when working on backend microservices — implementing GraphQL APIs with HotChocolate, writing MassTransit consumers/publishers, building MongoDB data access layers, configuring service startup, integrating data pipelines, or adding observability with OpenTelemetry. Triggers on: GraphQL

00

azure-search-documents-dotnet

TJSNDHU

Azure AI Search SDK for .NET (Azure.Search.Documents). Use for building search applications with full-text, vector, semantic, and hybrid search.

00

microsoft-code-reference

github

Look up Microsoft API references, find working code samples, and verify SDK code is correct. Use when working with Azure SDKs, .NET libraries, or Microsoft APIs—to find the right method, check parameters, get working examples, or troubleshoot errors. Catches hallucinated methods, wrong signatures, and deprecated patterns by querying official docs.

747

dotnet-backend-patterns

wshobson

Master C#/.NET backend development patterns for building robust APIs, MCP servers, and enterprise applications. Covers async/await, dependency injection, Entity Framework Core, Dapper, configuration, caching, and testing with xUnit. Use when developing .NET backends, reviewing C# code, or designing API architectures.

722

azure-maps-search-dotnet

microsoft

Azure Maps SDK for .NET. Location-based services including geocoding, routing, rendering, geolocation, and weather. Use for address search, directions, map tiles, IP geolocation, and weather data. Triggers: "Azure Maps", "MapsSearchClient", "MapsRoutingClient", "MapsRenderingClient", "geocoding .NET", "route directions", "map tiles", "geolocation".

218

Search skills

Search the agent skills registry