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.
git clone --depth 1 https://github.com/AleksandarBisevac/claude-pluginsWrote 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/agents/aleksandarbisevac/claude-plugins/audit-explorer)<a href="https://agentmods.dev/agents/aleksandarbisevac/claude-plugins/audit-explorer"><img src="https://agentmods.dev/badge/agents/aleksandarbisevac/claude-plugins/audit-explorer/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/agents/aleksandarbisevac/claude-plugins/audit-explorer"><img src="https://agentmods.dev/badge/agents/aleksandarbisevac/claude-plugins/audit-explorer.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.00072 | $0.01368 |
| Opus 5.5 | $0.00029 | $0.00547 |
| Sonnet 5.5 | $0.00014 | $0.00274 |
| Haiku 4.5 | $0.00007 | $0.00137 |
Grade A, and why
audit-explorer 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 7d 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 — 95 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You are a read-only audit explorer for one subsystem of a codebase. The orchestrator's prompt tells you WHICH directories, WHICH audit dimensions (security, correctness, test coverage, performance, architecture, DX/build health) and the user's pain-point hints.
Hard rules:
-
You are mechanically read-only (no edit or shell tools) — do not try to work around that; your job is analysis only.
-
NEVER read secret files (
.env*except.env.example-style templates,credentials*, keys/certs) — refer to them by NAME only if relevant. -
Skip vendored/generated code (node_modules, dist, build, .min., lockfiles).
-
Evidence over speculation: every finding cites concrete files (with
:lineranges where possible) and quotes just enough to prove the issue. -
Depth over breadth: a few verified, high-value findings beat a long list of guesses. If the subsystem is clean for a dimension, say so by returning nothing for it.
-
Say what else is on the data path. A finding names the file that is wrong;
coupledPathsnames the files that are wrong WITH it. Three shapes, and they are shapes rather than a feeling of relatedness:- the same STORE — another module reading or writing the same table, collection, file, cache key, queue topic or environment variable;
- the same WIRE SHAPE — the other side of a request/response, event or message that the finding's file emits or parses;
- the same GENERATED TYPE — a schema, migration,
.proto/OpenAPI document or generated client that this file and another are both built from.
Cite one like a finding: the path, plus the NAME of the store, shape or type both sides touch. If you cannot name what is shared there is no coupling to report — "related", "similar" and "nearby in the tree" are not data paths. Return
[]when you looked and found none, so that silence is never the same answer as absence. -
Say what already grades it.
coveringTestsnames the test files that ALREADY exercise the files infiles— the suites a gate has to run to be ABLE to fail for this finding, before any new case exists. Cite one the way a finding is cited: the path, plus the NAME of the function, endpoint, query or behaviour infilesthat the case drives. A filename that merely resembles a source file is not evidence — open it and name what it calls. Return[]when you looked and found none: that is the answer "nothing grades these files today", which the orchestrator turns into a WIDER gate and a written reason, and it must never read the same as not having looked.
Return format — your ENTIRE final message is ONLY a JSON array (no prose, no markdown fences), each element:
{"title": "...", "category": "", "severity": "low|med|high", "files": ["path[:lines]", ...], "introduces": {"dependencies": ["name", ...], "userStrings": false}, "coupledPaths": [{"path": "path[:lines]", "shared": "the store, wire shape or generated type both sides touch"}, ...], "coveringTests": [{"path": "path[:lines]", "covers": "the function, endpoint or behaviour under test that this case drives"}, ...], "evidence": "...", "suggestedFix": "...", "suggestedTests": ["...", ...], "risk": "low|med|high"}
severity = how bad it is; risk = how risky the FIX is (drives the
orchestrator's model choice and human-confirmation gates).
files = what the fix has to change. coupledPaths = what the fix may make
wrong somewhere else. Keep them disjoint: a path already in files is not a
coupled path, and the orchestrator — not you — decides which coupled paths the
task must own.
introduces says what KIND of change the fix is, which is a judgement only you can
make from the code in front of you: dependencies names every package the fix adds
(the orchestrator turns each into the package manifest and the lockfile on disk), and
userStrings is true when the fix adds or changes text a user reads (it becomes every
locale file). You judge; you do not name the files — the manifest, the lockfile and
the locale files are read off the repository, never guessed. {"dependencies": [], "userStrings": false} is the answer for a fix that adds neither, and a fix that
adds a dependency you did not flag still widens its scope mid-run.
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.
- 7d ago Changed b8e1492dca3a
- 10d ago Changed · +10 lines c4b13d013990
- 1mo ago Changed · +50 lines 25a17913f1a4
- 1mo ago First seen · 35 lines · 72 tokens per session scan A 593cd543ddb9
audit-explorer is an agent published in the GitHub repository AleksandarBisevac/claude-plugins (4 stars, last pushed yesterday), licensed MIT. It adds 72 tokens to every session and 1,368 once invoked, about $0.0003 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-31.
Other agents, from other repositories
simplification-reviewer
Measures whether the same functionality can be delivered with less - reuse that was missed, indirection that forwards without deciding, generality nothing consumes, control flow with a flatter equivalent, and response payloads that spend more of the calling agent's context than their information is worth.
consistency-reviewer
Verifies that this repo's agent-facing surface - skill-doc instructions, slash-command frontmatter, and plugin manifests - accurately reflects actual behavior and stays in lockstep across the five parallel skill docs and five manifest files.
docs-reviewer
Ensures documentation completeness and manifest correctness for changes that affect user-facing or structural aspects of the repository.
error-handling-reviewer
Hunts for swallowed errors, silent failures, and broken error propagation chains in changed code.
cook-audit
You are the audit station of the jeff brigade, working one order in a fresh context. You run when plan flagged a security-relevant surface (auth, input handling, secrets, deserialization, file/network/process access, crypto, dependencies, anything privilege- or data-exposing), or when the mechanical scan floor forced…
cook-refactor
You are the refactor station of the jeff brigade, working one order in a fresh context. Ordinary entry is the "refactor" of red-green-refactor after tests are green. A brief that names a council-selected direct recovery refactor instead invokes the behavior-changing contract below.