Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add AgentEvalHQ/AgentEval --skill dotnet-inspectgit clone --depth 1 https://github.com/AgentEvalHQ/AgentEvalWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/agentevalhq/agenteval/dotnet-inspect)<a href="https://agentmods.dev/skills/agentevalhq/agenteval/dotnet-inspect"><img src="https://agentmods.dev/badge/skills/agentevalhq/agenteval/dotnet-inspect/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/agentevalhq/agenteval/dotnet-inspect"><img src="https://agentmods.dev/badge/skills/agentevalhq/agenteval/dotnet-inspect.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 4 findings, up to medium
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- medium MCP Rug Pull · line 134 Docker image references without a specific tag (:latest is implicit) or digest (@sha256:...) can be silently replaced by a malicious image.Fix: Pin the image: image:tag or image@sha256:abc123
- medium MCP Rug Pull · line 135 Docker image references without a specific tag (:latest is implicit) or digest (@sha256:...) can be silently replaced by a malicious image.Fix: Pin the image: image:tag or image@sha256:abc123
- medium Data Exfiltration · line 257 Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.Fix: Verify the destination URL is trusted and necessary. Remove or replace with documented APIs. Ensure no secrets, tokens, or PII are transmitted.
- medium Data Exfiltration · line 263 Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.Fix: Verify the destination URL is trusted and necessary. Remove or replace with documented APIs. Ensure no secrets, tokens, or PII are transmitted.
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00054 | $0.04047 |
| Opus 5.5 | $0.00022 | $0.01619 |
| Sonnet 5.5 | $0.00011 | $0.00809 |
| Haiku 4.5 | $0.00005 | $0.00405 |
Grade A, and why
dotnet-inspect scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 266 lines — stays where its author put it; the contents beside it link to each section on GitHub.
dotnet-inspect
Query .NET library APIs — the same commands work across NuGet packages, platform libraries (System., Microsoft.AspNetCore.), and local .dll/.nupkg files.
Quick Decision Tree
- Code broken? →
diff --package [email protected]first, thenmember - What's new in a .NET preview? →
diff --platform [email protected] --additiveper framework library - What types exist? →
type --package Foo(discover types in a package or library) - What members does a type have? →
member Type --package Foo(compact table by default) - What does a type look like? →
type Type --package Foo(tree view for single type) - What are the method signatures? →
member Type --package Foo -m Method(full signatures + docs) - What is the source/IL? →
member Type --package Foo -m Method:1 -v:d(Source, Lowered C#, IL) - Where is the source code? →
source Type --package Foo(SourceLink URLs),source Type -m Member(with line numbers) - Want raw source content? →
source Type --package Foo --cat(fetches and prints source files) - What constructors exist? →
member 'Type<T>' --package Foo -m .ctor(use<T>not<>) - How many overloads? →
member Type --package Foo --show-index(showsName:Nindices) - What does this package depend on? →
depends --package Foo - What does this type inherit? →
depends 'INumber<TSelf>' - Want a dependency diagram? →
depends --mermaid(standalone) ordepends --markdown --mermaid(embedded) - What metadata fields exist? →
-S Section --fields "PDB*"(structured query, no DSL) - What version is available? →
Foo --version(cache-first),Foo --latest-version(always NuGet),Foo --versions(list all)
When to Use This Skill
- "What types are in this package?" —
typediscovers types,findsearches by pattern - "What members does this type have?" —
memberfor methods/properties/events (docs on by default) - "What changed between versions?" —
diffclassifies breaking/additive changes - "What new APIs shipped in this preview?" —
diff --platform [email protected] --additiveper framework library - "This code uses an old API — fix it" —
diffthe old..new version, thenmemberto see the new API - "What extends this type?" —
extensionsfinds extension methods/properties (--reachablefor transitive) - "What implements this interface?" —
implementsfinds concrete types - "What does this type depend on?" —
dependswalks type hierarchy, package deps, or library refs - "Show dependencies as a diagram" —
depends --mermaidfor standalone mermaid,--markdown --mermaidfor embedded - "Where is the source code?" —
sourcereturns SourceLink URLs; add member name for line numbers - "What version/metadata does this have?" —
packageandlibraryinspect metadata - "What version is available?" —
Foo --version(fast, cache-first — likedocker run) - "What's the latest on NuGet?" —
Foo --latest-version(always queries NuGet — likedocker pull) - "What versions exist?" —
Foo --versions(list all published versions) - "What TFMs are available?" —
package Foo --tfms, thentype --package Foo --tfm net8.0 - "Where is the source code?" —
sourcereturns SourceLink URLs; add member name for line numbers - "Show me the actual source?" —
source Type --package Foo --catfetches and prints source file contents - "Show me something cool" —
demoruns curated showcase queries
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 266 lines · 54 tokens per session scan A 548bcc7b4d17
dotnet-inspect is a skill published in the GitHub repository AgentEvalHQ/AgentEval (156 stars, last pushed 2d ago), licensed MIT. It adds 54 tokens to every session and 4,047 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
dotnet-inspect
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. Commands pin v0.9.1; pair with cs0618-hunter (compiler-based) for…
maf-migration-retrospective
Post-migration learning skill. After a migration completes, reads the migration plan notes, build history, and surprises to improve the registry, guide, and constraint rules. Invoked as the final step of any migration. This is how the toolkit gets smarter with each use.
maf-migration-plan-creator
Generates a complete, ready-to-execute MAF migration plan (migration-plan.md) for any .NET codebase. Used by @maf-auditor (which calls this skill after scanning to produce the plan). Use this skill directly when no migration plan exists yet, or when the existing plan needs to be regenerated after a codebase audit.…
cs0618-hunter
Detects and fixes CS0618 obsolete API warnings in .NET builds. The compiler is the authoritative source for what your project actually triggers — it catches transitive obsoletions, overload-resolution surprises, and project-local [Obsolete] attributes that static inspection cannot see. Pair with the repository-pinned…
nuget-diff-analyzer
Post-processes the repository-pinned [email protected] -- diff output into a categorised report (breaking / additive / newly-obsolete) with each finding cross-referenced to the MAF obsolete-API registry.
maf-obsolete-api-registry
Machine-readable registry of known CS0618 obsolete API warnings for MAF migrations. Each entry maps an obsolete method signature to its replacement, with the exact fix pattern. Prefer the MCP tool MafRegistryLookup (by ID) or MafApiSafety (by symbol) for one-shot queries; this skill is for understanding the registry…