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 agentmods add instructions/vorobiovd/air/claude-mdgit clone --depth 1 https://github.com/VorobiovD/airWrote 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/vorobiovd/air/claude-md)<a href="https://agentmods.dev/instructions/vorobiovd/air/claude-md"><img src="https://agentmods.dev/badge/instructions/vorobiovd/air/claude-md.svg" alt="Measured on agentmods" 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.19783 | $0.19783 |
| Opus 5 | $0.09891 | $0.09891 |
| Sonnet 5 | $0.03957 | $0.03957 |
| Haiku 4.5 | $0.01978 | $0.01978 |
Grade A, and why
air CLAUDE.md scanned grade A 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 5d 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.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
- **CLI store-awareness** (`commands/review.md` + `learn.md`, `meta.py read-author`) — fixes two ways the CLI mis-handled a store-backed repo whose wiki is a deterministic render mirror (the repo-C 2026-06-27 incident). How it starts
The opening of the file, as written. The whole thing — 168 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.
What This Is
air is a Claude Code plugin for automated PR code review, with an optional Managed Agent mode for CI automation.
The CLI plugin (plugins/air/) is markdown files and JSON metadata — no build system or dependencies. The Managed Agent (managed/) adds Python scripts for Anthropic's cloud API + a GitHub Actions workflow.
Two CLI commands: /air:review (13-step review pipeline) and /air:learn (wiki cleanup/regeneration). For CI: managed/review.py or the reusable GitHub Action.
Project Structure
plugins/air/
├── agents/ # 6 review specialists + 1 managed-mode coordinator (markdown prompts)
│ ├── code-reviewer.md
│ ├── security-auditor.md
│ ├── simplify.md
│ ├── git-history-reviewer.md
│ ├── ui-copy-reviewer.md # UI/business-audience copy + static UX/a11y (conditional — UI-touching diffs)
│ ├── review-verifier.md
│ └── coordinator.md # Managed-mode delegator — fans out specialists via callable_agents (not a reviewer)
├── commands/ # CLI command orchestration
│ ├── review.md # Main pipeline — the core of the plugin
│ ├── review-self.md # Self-review flow (--self mode)
│ ├── review-respond.md # Respond flow (--respond mode)
│ ├── review-solo.md # Solo flow (--solo mode — one Fable agent, all lenses, gate-capable)
│ └── learn.md # Wiki maintenance
├── hooks/ # Pre-commit drift-check hook (v1.6.0+)
│ ├── hooks.json # PreToolUse hook registration
│ ├── pre-commit-drift.py # Wrapper: narrows to `git commit`, routes custom/built-in
│ └── builtin-checks.sh # Zero-config auto-detection (version mirror + badge)
├── lib/ # Shared Python helpers (stdlib-only, called by CLI + managed)
│ ├── meta.py # /air:learn trigger counter (wiki file or memory-store backend + find-store)
│ ├── wiki_git.py # Clone + commit-meta-with-retry (legacy wiki backend)
│ ├── pattern_lifecycle.py # Deterministic author-pattern strengthen/clean/decline/archive ops
│ ├── pr_conversation.py # Merge GitHub PR comments/reviews into <pr-conversation> agent context
│ ├── agent_loop.py # Self-hosted Messages-API tool-use loop for headless mode (5m cache default, thinking round-trip)
│ ├── tool_exec.py # Read-only sandbox for headless agents (path-jailed Read/Grep/Glob + fixed-verb git, shell=False)
│ ├── solo_prompt.py # THE solo-prompt assembly (CLI --solo runs it; managed setup.py imports it)
│ ├── agent_md.py # THE agents/*.md frontmatter parser — single source for solo_prompt / setup / headless._persona_model
│ ├── diff_hygiene.py # THE diff stub-generated/vendored + size-cap pass — single source: managed github_client fetchers re-export it; CLI review.md pipes its diff saves through it
│ ├── wiki_cap.py # THE deterministic wiki bloat-cap (per-file byte ceilings; managed learn/render + CLI learn all call it)
│ ├── env.py # THE tolerant AIR_* env parsing (env_int/float/bool — crash-safe on a typo'd value) + report_env() startup drift report
│ └── verdict.py # THE review-gating contract (shared: CLI Step 12 runs it via --decide; managed imports it)
└── .claude-plugin/
└── plugin.json # Plugin metadata (name, version, author)
.air-checks.sh # Opt-in per-repo drift checks (consumed by the hook above)
.claude-plugin/
└── marketplace.json # Marketplace distribution definition
managed/ # Managed Agent (CI automation)
├── api.py # Shared API helpers
├── setup.py # Creates/updates agents + environment via API
├── review.py # Client-side driver: orchestrates the review run (launches coordinator, posts)
├── headless.py # `messages-api` mode driver: self-hosted specialist+verifier loop (full lens set), reuses verdict/prompts/github_client/review helpers
├── github_client.py # GitHub REST: fetchers, pagination, comment/verdict POSTs
├── verdict.py # Thin shim re-exporting plugins/air/lib/verdict.py (the shared gating contract)
├── session_runner.py # Session lifecycle: run_session, REST drain, billing retry, SIGTERM cleanup
├── prompts.py # Prompt builders: PR context block + verifier-task templates
├── learn.py # Triggers wiki/store maintenance sessions (single-agent, managed)
├── learn_headless.py # MA-independent learn: client-side map-reduce store curation (no managed session)
├── memory_store.py # Per-repo pattern memory store: discovery, reads, sha256-preconditioned writes
├── pattern_writer.py # Applies pattern_lifecycle ops to the store after each review
├── migrate_wiki_to_store.py # One-shot wiki → store migration (per-author split, --dry-run)
├── migrate_workspace_stores.py # One-shot store → store copy across workspaces (sha256-verified)
├── render_store_to_wiki.py # Deterministic store→wiki mirror render (throttled per-review + on learn)
├── salvage_review.py # Drain a finished orphaned session and post its review ($0 — e.g. after a job cancel)
├── test-session.py # Quick 9-test verification script
├── prompts/learn-orchestrator.md # System prompt for cloud learn agent
│ # (review orchestrator.md deleted in v1.7.0 — review.py orchestrates client-side)
├── requirements.txt # Python dependencies
└── README.md
.github/workflows/
├── managed-review.yml # Reusable GitHub Action (teams reference this)
├── air-review.yml # Dogfood caller for this repo (PR + workflow_dispatch)
├── release-please.yml # Automated tag + GitHub Release on version bumps
└── drift-checks.yml # Runs .air-checks.sh on every PR (closes the local-hook-only gap)
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.
- 5d ago First seen · 168 lines · 19,783 tokens per session scan A 251478372674
air CLAUDE.md is an instructions file published in the GitHub repository VorobiovD/air (5 stars, last pushed 10d ago), licensed MIT. It adds 19,783 tokens to every session, about $0.0989 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other instructions, from other repositories
gitlab-mcp-server go.instructions.md
Instructions for writing Go code following idiomatic Go practices and community standards.
open-pr CLAUDE.md
Claude Code instructions for TOMOSIA-VIETNAM/open-pr, covering claude.md, plugin, layout, how to work and hard edges (product breaks if ignored).
gitlab-mcp-server copilot-instructions.md
Copilot instructions for jmrplens/gitlab-mcp-server, covering gitlab-mcp-server — gitlab mcp server in go, project overview, architecture, project structure and development conventions.
gitlab-mcp-server go-mcp-server.instructions.md
Best practices and patterns for building Model Context Protocol (MCP) servers in Go using the official github.com/modelcontextprotocol/go-sdk package (v1.7.0+).
gitlab-mcp-server code-review-generic.instructions.md
Generic code review instructions that can be customized for any project using GitHub Copilot.
gitlab-mcp-server AGENTS.md
AGENTS.md instructions for jmrplens/gitlab-mcp-server, covering gitlab-mcp-server — agent quick reference, read first, hard invariants, common commands and build.