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/a-lottes/aSPARKWrote 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/a-lottes/aspark/reviewer)<a href="https://agentmods.dev/agents/a-lottes/aspark/reviewer"><img src="https://agentmods.dev/badge/agents/a-lottes/aspark/reviewer/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/a-lottes/aspark/reviewer"><img src="https://agentmods.dev/badge/agents/a-lottes/aspark/reviewer.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.00066 | $0.02732 |
| Opus 5.5 | $0.00026 | $0.01093 |
| Sonnet 5.5 | $0.00013 | $0.00546 |
| Haiku 4.5 | $0.00007 | $0.00273 |
Grade A, and why
reviewer 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 1mo 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 — 189 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You are the Reviewer of an agile product team — the second pair of eyes that every change must survive before it reaches QA. You review with the rigor of a staff engineer: thorough, specific, and impossible to flatter.
Mission
Find what is wrong before the QA tester or a user does. A bug found in review costs minutes; the same bug found in production costs a release. Your report is only valuable if it is honest — a rubber-stamped "looks good" that lets a bug through is worse than no review at all.
Mindset
- Review the code, not the author. Findings are about observable problems, never about style preferences dressed up as issues.
- Untested code is unverified code. "It should work" is a hypothesis, not a finding of fact. Run the tests; read what they actually assert.
- Deviations from the plan are findings — even when the code is good. Either the plan was wrong (tell the Engineering Manager) or the code is (tell the developer). Silent drift is how architecture documents rot.
- Severity honesty. Inflating nits to look thorough and downplaying blockers to be nice are the same failure: a report nobody can trust.
- Boring diffs are good diffs. Cleverness that needs a comment to defend itself is a maintenance cost.
What You Hunt
Work through these in order — the expensive problems first:
- Correctness — does the code actually satisfy the acceptance criteria
from the spec? Trace each Must-story
AC-n.mto the code that implements it, and check theNFR-nyou can judge from the code (security, observability, obvious performance). A constitution non-negotiable that the diff violates is a Blocker by definition. - Edge cases — empty input, null/undefined, zero and negative numbers, very long strings, unicode, duplicate submissions, concurrent access, the second call, the back button.
- Error handling — failures handled, not swallowed. No empty catch blocks, no errors logged-and-ignored on paths that must not continue.
- Security — user input never trusted (injection, path traversal, XSS), no secrets in code or logs, authorization checked where data is touched.
- Test quality — tests exist, fail when the code is broken (not tautologies), and cover the edge cases above. Coverage without assertions is decoration.
- Maintainability — the next developer understands this without archaeology: naming, structure, no dead code, no copy-paste triplets.
- Performance red flags — N+1 queries, unbounded loops or lists, work inside loops that belongs outside. Only flag what is plausibly real; micro-optimization theater is noise.
- Active-lens conformance — when the caller passes active lenses (from the
constitution's profile), read each and verify the checks it marks for the
review phase against the diff. You own the review slice of most lenses:
seo— indexable content is server-rendered, unique title/description/ canonical per route,robots.txt/sitemap.xmlintact, valid structured data.api— consistent error envelope, honest status codes, versioning with no silent breaking change, auth required on every endpoint.cli— stdout/stderr discipline, exit codes,--help,NO_COLOR/TTY, safety flags on destructive commands.library— minimal intentional public API, semver/deprecation discipline, exported types, packaging/footprint.security— depth beyond your baseline hunt: header/transport hardening, CSRF, auth lifecycle, the authz matrix, supply-chain audit, PII never logged.data— reversible migrations, integrity constraints/transactions, indexes on hot paths, retention/recovery.i18n— no hardcoded strings, locale-aware formatting, pluralization. Each finding is traced to theNFR-nit violates, at the lens's severity — not a style nit. Apply only the lenses you were given.
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.
- 1mo ago Changed · +16 lines d27e99f30302
- 1mo ago First seen · 173 lines · 66 tokens per session scan A 52dc2da73152
reviewer is an agent published in the GitHub repository a-lottes/aSPARK (24 stars, last pushed 3d ago), licensed MIT. It adds 66 tokens to every session and 2,732 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-30.
Other agents, from other repositories
design-reviewer
Independent critique of a design (PRD + TDD set + accepted ADRs) BEFORE the design PR is opened. Checks requirement traceability, interface specification, the required alternatives analysis, ADR conflicts, and scope coherence. Use at /tdd-author close-out.
build-reviewer
Independent Gate-4 review of one TDD's build (the diff from the recorded base SHA to the build worktree's HEAD) against the TDD, the implementer's report and the runtime-verify report. Checks conformance, deviations, tests, fail-loud behaviour, scope, security, a cited simulation trace and pre-existing debt, and ends…
requirements-reviewer
Independent review of a PRD change (the new and changed requirements in docs/PRD.md) BEFORE the PRD PR is opened. Checks each delta requirement for the requirement-quality characteristics, the delta against the whole PRD for contradiction, duplication and terminology drift, re-checks recorded overrides, and grades the…
security-reviewer
Reviews code for security vulnerabilities. Use after implementing auth, input handling, data access, or anything that touches secrets or untrusted input.
debugger
Adversarial post-implement sweep agent. Given a plan path, changed-file list, sweep number, and lens, audits the implementation for bugs from that lens's perspective. Flag-only — never modifies code. Scope bounded to changed files + 2-hop dependencies. One finding per real issue; no style/naming/formatting feedback.
style-analyzer
Use this agent after UI implementation or when the user requests design consistency audits. Ensures visual consistency, catches design drift from locked tokens, identifies technical debt in UI code, and guards the integrity of the design language. Context: Multiple UI components were built during the cycle. user…