Borrowing it
Nothing to install: this file belongs to zdanovichnick/dotnet-pilot. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/zdanovichnick/dotnet-pilot/master/CLAUDE.mdgit clone --depth 1 https://github.com/zdanovichnick/dotnet-pilotWrote 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/instructions/zdanovichnick/dotnet-pilot/claude-md)<a href="https://agentmods.dev/instructions/zdanovichnick/dotnet-pilot/claude-md"><img src="https://agentmods.dev/badge/instructions/zdanovichnick/dotnet-pilot/claude-md/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/instructions/zdanovichnick/dotnet-pilot/claude-md"><img src="https://agentmods.dev/badge/instructions/zdanovichnick/dotnet-pilot/claude-md.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.07147 | $0.07147 |
| Opus 5.5 | $0.02859 | $0.02859 |
| Sonnet 5.5 | $0.01429 | $0.01429 |
| Haiku 4.5 | $0.00715 | $0.00715 |
Grade B, and why
dotnet-pilot CLAUDE.md scanned grade B with 1 finding 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 21d 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.
Reads agent configuration directoriesmediumAgent snooping
.claude/, .codex/, .gemini/ hold keys, settings and other credentials a mod has no legitimate need for.
- `hooks/_lib/version.js` — semver compare shared by the two sync hooks; `hooks/_lib/json-file.js` — BOM-preserving JSON read (`{exists, ok, value, bom}`) and atomic write for `~/.claude/settings.json`, so an unparseable How it starts
The opening of the file, as written. The whole thing — 268 lines — stays where its author put it; the contents beside it link to each section on GitHub.
CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Repository Context
This repo IS the DotnetPilot plugin source — not a .NET project. There is no dotnet build to run here; artifacts are Markdown (agents/commands/skills) and Node/shell scripts (hooks). When editing this repo, you are authoring plugin behavior that runs inside other .NET projects.
Layout
.claude-plugin/plugin.json— plugin manifest (name, version, mcpServers pointer).claude-plugin/marketplace.json— marketplace listing for plugin distribution.mcp.json— MCP server declarations (roslyn serverdnp-roslynconfigured)agents/dnp-*.md— 9 agents with YAML frontmatter (name,description,tools,skills,model,effort,color).tools:lists exact tool names (Bash,Read,mcp__roslyn__*); plugin subagents ignore scoped tool forms, permission-mode keys, and the user-question tool, so none of those appearcommands/<category>/<name>.md— 16 slash commands invoked as/dotnet-pilot:<category>:<name>. Categories:project,dotnet,quality,utility. Commands with side effects carrydisable-model-invocation: truehooks/hooks.json— hook registry wiring matchers to scripts via${CLAUDE_PLUGIN_ROOT}hooks/dnp-*.js— the hooks listed under Hook Behaviors below (advisory unless stated: exit 0; emitadditionalContextfor guidance). Read a JSON event from stdin.hooks/_lib/config.js— shared module used by every hook. Resolves.planning/config.json: repo-local path first, then user-scoped at~/.claude/projects/<flattened-cwd>/(whereD:\Projects\Foo→D--Projects-Foo).hookEnabled(cwd, key)keys default on when config is absent;hookFlag(cwd, key)keys are opt-in and default offhooks/hooks.jsonalso declares"modules": ["./mods/register.ts"]: a Claude Code mod (no Node, no DOM; everything through$).hooks/mods/holdsregister.ts(one module per plugin),build-status.ts(toasts at the 3rd/5th consecutive failure, streak in$.state),routing.ts(the module's singleprompt.composehook — the engine allows one per module and never follows$across an import, so the routing and pressure sections are both built there),pressure.ts(a 0–100 pressure score from red runs / re-edits / corrections in$.ui.status, a toast or opt-in deny on test edits that loosen a test after a red run, aprompt.composesection only while the score is ≥ 60, and the/dnp-pressurecommand) andbuild-classify.ts, andpixel-city.tsx(the opt-inpixel_cityband above the terminal prompt; itssession.startis matched on{ surface: 'terminal' }because pressure holds the module's one unmatchedsession.start, and/cityis registered even with the option off so it can say how to enable it) with its painter —pixel-canvas.ts(canvas, noise, sprites, sun path),city-scene.ts(backdrop, city foreground, weather, cell encoding) andscene-beach.ts/scene-dino.ts/scene-sunset.ts;types/index.d.tsis the$.statecontract,*.test.tsrun withclaude plugin test .. Mods are additive to the Node hooks and read onlyuserConfig(build_status,routing,pressure,pressure_test_guard_block,pixel_city,pixel_city_scene), never.planning/config.json. The pressure mod is a behavioural proxy — it scores what the session shows (failures, retries, test edits), never the model's internal state; keep its wording to "pressure", not emotionshooks/_lib/routing.md— the routing text shared bydnp-dotnet-priorityand the routing modhooks/_lib/build-state.js— reader/writer for the build-fail state file shared bydnp-build-verify,dnp-stop-verifyand the statusline (contract under Quality Gates)hooks/_lib/version.js— semver compare shared by the two sync hooks;hooks/_lib/json-file.js— BOM-preserving JSON read ({exists, ok, value, bom}) and atomic write for~/.claude/settings.json, so an unparseable file is never overwrittenhooks/__tests__/run.js,hooks/__tests__/check-consistency.js— hook harness and repo consistency gate (see Validating Plugin Changes);.github/workflows/hooks.ymlruns both in CIworkflows/dnp-review.js— the review Workflow, auto-discovered as/dotnet-pilot:dnp-review; started only byquality:review(see Review Workflow)scripts/dnp-review-preflight.js— Node preflight that shards a diff and writes the manifest the review Workflow consumesrules/global-claude-md.md— template block injected into~/.claude/CLAUDE.mdbydnp-sync-global-claude-md.jswhen the plugin version is newer than the installed block (versioned markers keep it idempotent)skills/<name>/SKILL.md— 15 skill packs loaded on demand via an agent'sskills:list. EverySKILL.mdcarrieswhen_to_use:;authentication,caching,ddd,error-handling, andresiliencekeep their detail inreferences/*.mdCHANGELOG.md— Keep-a-Changelog history; the only place that names removed commands and agents
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.
- 21d ago Changed · +185 tokens per session ff12b936b3c0
- 26d ago Changed · +59 tokens per session eef0d5e7c443
- 27d ago Changed · +2 lines · +328 tokens per session 3682decb1e95
- 1mo ago Changed · +48 lines · +2,385 tokens per session 28cb0e2ccb73
- 2mo ago First seen · 218 lines · 4,190 tokens per session scan B 19541da1f62e
dotnet-pilot CLAUDE.md is an instructions file published in the GitHub repository zdanovichnick/dotnet-pilot (5 stars, last pushed 22d ago), licensed MIT. It adds 7,147 tokens to every session, about $0.0286 per session on Opus 5.5. A static security scan graded it B with 1 finding (reads agent configuration directories). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other instructions, from other repositories
vscode buildNext.instructions.md
Working notes and architecture documentation for the new esbuild-based build system in build/next. Use when making changes to the new build pipeline (transpile/bundle commands, NLS plugin, source-map handling, resource copying, or self-hosting watch tasks).
next.js AGENTS.md
AGENTS.md instructions for vercel/next.js, covering next.js development guide, codebase structure, monorepo overview, core package: packages/next and other important packages.
vscode oss-third-party-notices.instructions.md
Instructions for microsoft/vscode, covering vs code oss third-party-notices pipeline, architecture, pipeline flow in ci, cache eligibility and rollout and applying the notice (cutover).
langchain AGENTS.md
AGENTS.md instructions for langchain-ai/langchain, covering global development guidelines for the langchain monorepo, corridor security analysis, project architecture and context, monorepo structure and development tools & commands.
vscode copilot-instructions.md
Copilot instructions for microsoft/vscode, covering vs code copilot instructions, project overview, root folders, core architecture (src/ folder) and built-in extensions (extensions/ folder).
deno copilot-instructions.md
Copilot instructions for denoland/deno, covering deno development guide for github copilot, network access, high level overview, key directories and key files to understand first.