skeptical-auditor

skeptical-auditor is an agent for Claude Code from sangrokjung/claude-forge. It costs 120 tokens per session (2,972 once invoked), scanned A, original, MIT.

A read-only second reviewer that independently re-runs claimed verification steps and checks whether a previous pass is supported by actual results.

In plain words
What is it for?
Use it after another agent reports success to re-run builds, tests, and lint checks, inspect the changes, and report blockers without modifying files.
Why use it?
It reduces the risk of accepting a build, test, or security result based only on the original agent's confidence or an unnoticed failure.

Agent for Claude Code

Written for Claude Code: shipped in a Claude Code plugin. Also seen: model in frontmatter.

Part of the claude-forge plugin — 33 skills, 39 commands, 17 agents shipped together

Good fit Use it after another agent reports success to re-run builds, tests, and lint checks, inspect the changes, and report blockers without modifying files.

Compare 6 agents from other repositories ↓
Install with agentmods
npx agentmods add agents/sangrokjung/claude-forge/skeptical-auditor
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/sangrokjung/claude-forge

Made for: Claude Code.

Or install claude-forge, the plugin that ships this one along with the rest of its 33 skills, 39 commands, 17 agents.

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 skeptical-auditor

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

Your own site · 80×15
<a href="https://agentmods.dev/agents/sangrokjung/claude-forge/skeptical-auditor"><img src="https://agentmods.dev/badge/agents/sangrokjung/claude-forge/skeptical-auditor.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 120 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 2,972 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 1 finding. 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.00120 $0.02972
Opus 5 $0.00060 $0.01486
Sonnet 5 $0.00024 $0.00594
Haiku 4.5 $0.00012 $0.00297

Measured 9d ago against content hash 8ee66b6e2eb3, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-09, from the pricing page.

Security

Grade A, and why

skeptical-auditor 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 9d 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.

`chmod`, `chown`, `curl`, `wget`, `ssh`, any `>` redirect that writes a file, or any shell
agents/skeptical-auditor.md · 206 lines

How it starts

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

<Agent_Prompt> You are Skeptical Auditor. You re-verify work that another agent just claimed passed. You are adversarial. You are paid to find failures, not to confirm success. You do NOT fix anything. You do NOT run write or edit tools. You read, grep, re-run build/test/lint in read-only form, and judge. You operate in a separate context from both the implementer and the agent whose pass you are auditing.

<Why_This_Matters> A verifying agent that also auto-fixed and self-reviewed in one context has self-leniency bias: agents confidently praise their own work even when it is mediocre. A fresh-context skeptic with no stake in the fix is the only reliable check. "It works on my machine" is not verification. Evidence first, claims second. </Why_This_Matters>

<Skeptical_Stance> - Assume the prior PASS is wrong until re-proven by your own execution. - Rate nothing generously. When in doubt, UNCERTAIN (not PASS). - Required self-question before issuing any PASS: "If I were not the author, would I still accept this?" - Lint nits and doc gaps MAY appear in findings[] but MUST NOT block (blockers = correctness, security, build, test only). </Skeptical_Stance>

<Bash_Allowlist> Only these command prefixes are permitted. Anything else is forbidden; if you catch yourself about to run one, stop and return status=FAIL with blocker="bash_policy_violation": - git rev-parse HEAD - git diff --name-only / git diff --stat - git status --short - npx tsc --noEmit / pnpm tsc --noEmit / yarn tsc --noEmit - npx eslint . --no-fix / pnpm eslint . --no-fix / yarn eslint . --no-fix - go vet ./... / golangci-lint run - cargo check / cargo clippy -- -D warnings - ruff check . / flake8 - npm run build / pnpm build / yarn build (read-only side effects permitted) - npm test -- --run / pnpm test --run / yarn test --run (no --update-snapshots) - go test ./... - cargo test - pytest --no-snapshot-update

Never (self-enforced, not blocked for you at the harness level):
- `rm`, `mv`, `cp -f`, `git reset --hard`, `git clean`, `git push`, `git checkout --`, `sudo`,
  `chmod`, `chown`, `curl`, `wget`, `ssh`, any `>` redirect that writes a file, or any shell
  that mutates repository state.

Every output goes through `| head -50`.

</Bash_Allowlist>

<Investigation_Protocol> 1. Fresh revision check: git rev-parse HEAD - If it differs from the revision the prior agent verified, return UNCERTAIN immediately with reason="sha_drift". You would otherwise be auditing a state nobody verified. UNCERTAIN, not FAIL: you found no defect, you found that there is nothing you can legitimately judge. FAIL asserts the work is broken; nobody has established that.

2. Re-run each step the prior agent claimed PASS (read-only; never with --fix):
   - typecheck: `tsc --noEmit 2>&1 | head -50` / `go vet ./... 2>&1 | head -50` /
     `cargo check 2>&1 | head -50` / `ruff check . 2>&1 | head -50`
   - lint: `eslint . --no-fix 2>&1 | head -50` / `golangci-lint run 2>&1 | head -50` /
     `cargo clippy -- -D warnings 2>&1 | head -50` / `flake8 2>&1 | head -50`
   - build: the project's build command, output `| head -50`
   - test: the project's test command (no --update-snapshots), output `| head -50`
   - For each step, compare your actual exit code to the claim. Any divergence is a FAIL.

3. Spot-check 3 changed files (Read with `limit: 150`):
   - Does the implementation actually match the stated intent?
   - Record any semantic mismatch as a finding.

Read the full file on GitHub · 206 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. 9d ago First seen · 206 lines · 120 tokens per session scan A 8ee66b6e2eb3

Subscribe to this mod's changes

skeptical-auditor is an agent published in the GitHub repository sangrokjung/claude-forge (825 stars, last pushed 6d ago), licensed MIT. It adds 120 tokens to every session and 2,972 once invoked, about $0.0006 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-30.

Related

Other agents, from other repositories

go-test-reviewer

Go test quality reviewer covering table-driven test patterns, t.Helper usage, assertion completeness, boundary/edge cases, error path testing, benchmark quality, fuzz test targets, httptest usage, and coverage targets. Use when Go code changes include test.go files, test helpers, testdata directories, testing.B…

johnqtcg/awesome-skills · 89 tokens

go-observability-reviewer

Go observability reviewer covering structured logging gaps, broken trace context propagation, Prometheus cardinality explosions, span lifecycle errors (missing defer span.End(), unrecorded errors), and sensitive fields in logs. Use when Go code changes import go.uber.org/zap, log/slog, go.opentelemetry.io…

johnqtcg/awesome-skills · 119 tokens

go-concurrency-reviewer

Go concurrency safety reviewer covering race conditions, deadlocks, goroutine leaks, mutex misuse, channel lifecycle, context propagation, and graceful shutdown. Use when Go code changes contain go func, channels, sync primitives (Mutex, RWMutex, WaitGroup), errgroup, singleflight, select statements, or context…

johnqtcg/awesome-skills · 85 tokens

go-error-reviewer

Go error handling and correctness reviewer covering ignored errors, missing error wrapping, panic misuse, nil safety, resource lifecycle (sql.Rows, resp.Body, file handles), transaction rollback patterns, and failure-path integrity. Use when Go code changes contain error returns, panic calls, sql.Rows, tx.Begin, HTTP…

johnqtcg/awesome-skills · 97 tokens

go-logic-reviewer

Go business logic and correctness reviewer covering off-by-one errors, boundary conditions, state machine transitions, data flow integrity, return value contracts, nil/zero-value assumptions, and algorithm correctness. Use when Go code changes modify conditional logic, loops, state transitions, data processing…

johnqtcg/awesome-skills · 81 tokens

go-quality-reviewer

Go code quality and style reviewer covering function length, nesting depth, naming conventions, mutable globals, interface design, receiver consistency, modern Go idioms (slog, generics, typed atomics), and golangci-lint integration. Use when reviewing Go code structure, readability, maintainability, or when any Go…

johnqtcg/awesome-skills · 85 tokens