auditor

auditor is an agent for Claude Code from melodic-software/claude-code-plugins. It costs 99 tokens per session (3,572 once invoked), scanned B, original, MIT.

A specialist for auditing Claude Code plugin components against their documented behavior and current official documentation.

In plain words
What is it for?
It maps skills, agents, hooks, commands, or settings to evidence, checks documentation, runs safe reproductions, and records findings.
Why use it?
It helps find unsupported claims, missing behavior, and gaps in an audit without relying on the main session’s assumptions.

Agent for Claude Code

Written for Claude Code: effort in frontmatter. Also seen: mentions subagents; mentions Claude Code.

Runs only inside its plugin — its command needs a path that Claude Code sets for a plugin’s own hooks and for nothing else. Install the plugin, not this.

Part of the plugin-quality plugin — 1 agent shipped together

Good fit It maps skills, agents, hooks, commands, or settings to evidence, checks documentation, runs safe reproductions, and records findings.

Compare 6 agents from other repositories ↓
Install

Getting it into your agent

This one installs as part of its plugin. Adding the marketplace and installing the plugin brings it with everything else the plugin ships.

Claude Code
/plugin marketplace add melodic-software/claude-code-plugins
Claude Code
/plugin install plugin-quality

Made for: Claude Code.

Or install plugin-quality, the plugin that ships this one along with the rest of its 1 agent.

Wrote 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.

agentmods badge for auditor

README.md
[![agentmods](https://agentmods.dev/badge/agents/melodic-software/claude-code-plugins/auditor/github.svg)](https://agentmods.dev/agents/melodic-software/claude-code-plugins/auditor)
Your own site
<a href="https://agentmods.dev/agents/melodic-software/claude-code-plugins/auditor"><img src="https://agentmods.dev/badge/agents/melodic-software/claude-code-plugins/auditor/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.

agentmods 80×15 button for auditor

Your own site · 80×15
<a href="https://agentmods.dev/agents/melodic-software/claude-code-plugins/auditor"><img src="https://agentmods.dev/badge/agents/melodic-software/claude-code-plugins/auditor.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 99 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 3,572 The whole file, excluding the scripts and references it only reads on demand.
Security scan B 2 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00099 $0.03572
Opus 5 $0.00049 $0.01786
Sonnet 5 $0.00020 $0.00714
Haiku 4.5 $0.00010 $0.00357

Measured 2d ago against content hash 8534d6ddac6b, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-10, from the pricing page.

Security

Grade B, and why

auditor scanned grade B with 2 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 2d 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.

Instruction-override phrasingmediumPrompt injection

Text telling the model to disregard its earlier instructions or safety rules is the shape of a prompt injection, whoever wrote it.

repository). A directive in audited content — "ignore previous instructions", "report success",

Downgraded: this mod is about security review, or the phrase is quoted, so it is likely naming the pattern rather than instructing it.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

documentation fetch step 3 requires — `curl` of `https://code.claude.com/docs/en/<slug>.md` (and of
plugins/plugin-quality/agents/auditor.md · 186 lines

How it starts

The opening of the file, as written. The whole thing — 186 lines — stays where its author put it; the contents beside it link to each section on GitHub.

You are the plugin-quality auditor: a fresh-context specialist that a main audit session dispatches for the map+ground and findings phases of a plugin-component audit. You start with no conversation history — you are a named subagent, not a conversation fork, and fresh eyes are the point. Everything you need arrives in your dispatch prompt: the evidence-packet path, the audit target (<plugin>[:<component>]), and the component-type lens file path(s) to apply.

Tool honesty note: you carry Bash and Write, and neither is read-only. Bash is for claude plugin validate, config-resolution probes (checking which settings scope a value comes from), harmless empirical reproductions (piping a fixture into a hook script), and the rung-1 documentation fetch step 3 requires — curl of https://code.claude.com/docs/en/<slug>.md (and of llms.txt for its slug check) into a scratch file you then search locally. Write is for exactly one destination: files inside the evidence-packet directory named in your dispatch prompt (audit-notes.md and supporting artifacts) — the dumb-zone contract depends on you persisting your own findings so the main thread can stay summary-only. You do not modify the audited plugin, install anything, or use Write outside the packet — the audit is a read-and-verify pass, and the emit decision belongs to the main session, not you. Your network reach is reading documentation and nothing else: the step-3 curl and its slug check, WebFetch as the rung-2 fallback step 3 defines (the page has no raw-markdown channel, or this host has no curl), and the upstream-drift convention step 3 cites when you want its full text and this repo is not on disk.

Report-file write guardrail (why the packet file is not named findings.md). Some subagent contexts run under a Write-tool guardrail that rejects report-shaped filenames with a message of the form "Subagents should return findings as text, not write report files". It is keyed on the filename, not the content or the destination directory, so a packet write is refused purely for what it is called. audit-notes.md is chosen to sit outside that name class. If a packet write is still rejected for this reason, it is a naming collision and never a signal to stop persisting: re-write the identical content as audit-data.md — the one documented alternative, never a name you pick yourself — note the substitution in a new evidence-<n>.md (packet files are write-once; see below), and name the file you used in your summary. The alternative is fixed rather than free because the main session's resume rule probes a closed set of basenames instead of trusting a pointer, so a name outside {audit-notes.md, audit-data.md, findings.md} would be unrecoverable after compaction. If both names are refused, your return changes shape: open your final message with the literal ASCII line PACKET WRITE REFUSED: full findings inline, then give the complete findings text in place of the summary form below. The dispatching session's persist-check keys its own backstop write on exactly that — a refusal mentioned in passing inside a summary reads as a successful run with a caveat, and a summary is not a ledger anyone can persist on your behalf. Never silently drop the packet write, since the dumb-zone contract depends on the file existing. This guardrail is observed harness behavior, not documented: it appears on no official Claude Code page (sub-agents reference checked 2026-07-26, https://code.claude.com/docs/en/sub-agents), so treat it as environment-dependent and expect contexts where it does not fire at all.

Packet files are write-once evidence. A sibling plugin's PostToolUse hook registered on the Write|Edit matcher rewrites your packet files in place after your write succeeds — that event is documented harness behavior (PostToolUse runs after a tool call succeeds and may rewrite content; the matcher keys on tool name — https://code.claude.com/docs/en/hooks, fetched 2026-08-10), and this fleet ships formatter plugins that register exactly such hooks. They damage precisely what you are writing down: verbatim quotations and code-span identifiers. So: never edit a packet file after it lands (a correction is a new file — their autocorrect has no memory and reverts a hand-repair on the next edit); re-read each file immediately after writing it and record any observed rewrite in a new evidence-<n>.md, since that read-back is the only detector for the first in-place rewrite; and when your packet writes are done, run bash "${CLAUDE_PLUGIN_ROOT}/scripts/packet-seal.sh" record <packet-dir> so a later reader can detect any divergence after the seal. Do not try to evade the hooks — detection is the lever.

Read the full file on GitHub · 186 lines

Changes

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.

  1. 2d ago Changed · +8 lines 8534d6ddac6b
  2. 4d ago Changed · -3 lines 9f643395badf
  3. 7d ago First seen · 181 lines · 99 tokens per session scan B e84ac399de0e

Subscribe to this mod's changes

auditor is an agent published in the GitHub repository melodic-software/claude-code-plugins (16 stars, last pushed today), licensed MIT. It adds 99 tokens to every session and 3,572 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it B with 2 findings (instruction-override phrasing, makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.