audit-explorer

audit-explorer is an agent for Claude Code from AleksandarBisevac/claude-plugins. It costs 72 tokens per session (1,368 once invoked), scanned A, original, MIT.

A read-only helper that examines one part of a codebase and reports verified findings as structured JSON. A codebase is the files that make up a software project.

In plain words
What is it for?
Checking one subsystem for security, correctness, test coverage, performance, architecture, or build and developer-experience problems.
Why use it?
It lets a larger audit inspect different subsystems while preventing this helper from changing files or running commands.

Agent for Claude Code

Written for Claude Code: effort in frontmatter.

Part of the audit plugin — 2 skills, 21 commands, 4 agents, 5 hooks shipped together

Good fit Checking one subsystem for security, correctness, test coverage, performance, architecture, or build and developer-experience problems.

Compare 6 agents from other repositories ↓
Install with agentmods
npx agentmods add agents/aleksandarbisevac/claude-plugins/audit-explorer
Install

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.

Clone the repo
git clone --depth 1 https://github.com/AleksandarBisevac/claude-plugins

Made for: Claude Code.

Or install audit, the plugin that ships this one along with the rest of its 2 skills, 21 commands, 4 agents, 5 hooks.

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 audit-explorer

README.md
[![agentmods](https://agentmods.dev/badge/agents/aleksandarbisevac/claude-plugins/audit-explorer/github.svg)](https://agentmods.dev/agents/aleksandarbisevac/claude-plugins/audit-explorer)
Your own site
<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.

agentmods 80×15 button for audit-explorer

Your own site · 80×15
<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>
Per session 72 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 1,368 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 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.00072 $0.01368
Opus 5.5 $0.00029 $0.00547
Sonnet 5.5 $0.00014 $0.00274
Haiku 4.5 $0.00007 $0.00137

Measured 7d ago against content hash b8e1492dca3a, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

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.

plugins/audit/agents/audit-explorer.md · 95 lines

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 :line ranges 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; coupledPaths names 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. coveringTests names the test files that ALREADY exercise the files in files — 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 in files that 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.

Read the full file on GitHub · 95 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. 7d ago Changed b8e1492dca3a
  2. 10d ago Changed · +10 lines c4b13d013990
  3. 1mo ago Changed · +50 lines 25a17913f1a4
  4. 1mo ago First seen · 35 lines · 72 tokens per session scan A 593cd543ddb9

Subscribe to this mod's changes

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.

Related

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.

OutSystems/outsystems-mcp · 59 tokens

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.

OutSystems/outsystems-mcp · 48 tokens

docs-reviewer

Ensures documentation completeness and manifest correctness for changes that affect user-facing or structural aspects of the repository.

OutSystems/outsystems-mcp · 24 tokens

error-handling-reviewer

Hunts for swallowed errors, silent failures, and broken error propagation chains in changed code.

OutSystems/outsystems-mcp · 24 tokens

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…

johanthoren/jeff · 0 tokens

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.

johanthoren/jeff · 39 tokens