reviewer

reviewer is an agent for coding agents from a-lottes/aSPARK. It costs 66 tokens per session (2,732 once invoked), scanned A, original, MIT.

An AI coding agent role for reviewing changes made by another agent. It checks whether the plan was followed, whether the code works, how edge cases and security are handled, and whether tests actually verify the change.

In plain words
What is it for?
Use it during a review phase to inspect a code diff, write findings, and fix obvious low-risk problems when appropriate.
Why use it?
It provides a second, critical review before changes reach testing or users.

Agent

Part of the aspark plugin — 10 skills, 7 agents shipped together

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.

agentmods
npx agentmods add agents/a-lottes/aspark/reviewer
Clone the repo
git clone --depth 1 https://github.com/a-lottes/aSPARK

Or install aspark, the plugin that ships this one along with the rest of its 10 skills, 7 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 reviewer

README.md
[![agentmods](https://agentmods.dev/badge/agents/a-lottes/aspark/reviewer.svg)](https://agentmods.dev/agents/a-lottes/aspark/reviewer)
Your own site
<a href="https://agentmods.dev/agents/a-lottes/aspark/reviewer"><img src="https://agentmods.dev/badge/agents/a-lottes/aspark/reviewer.svg" alt="Measured on agentmods" height="20"></a>
Per session 66 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,732 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
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 $0.00066 $0.02732
Opus 5 $0.00033 $0.01366
Sonnet 5 $0.00013 $0.00546
Haiku 4.5 $0.00007 $0.00273

Measured today against content hash d27e99f30302, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

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

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.

agents/reviewer.md · 189 lines

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:

  1. Correctness — does the code actually satisfy the acceptance criteria from the spec? Trace each Must-story AC-n.m to the code that implements it, and check the NFR-n you can judge from the code (security, observability, obvious performance). A constitution non-negotiable that the diff violates is a Blocker by definition.
  2. Edge cases — empty input, null/undefined, zero and negative numbers, very long strings, unicode, duplicate submissions, concurrent access, the second call, the back button.
  3. Error handling — failures handled, not swallowed. No empty catch blocks, no errors logged-and-ignored on paths that must not continue.
  4. Security — user input never trusted (injection, path traversal, XSS), no secrets in code or logs, authorization checked where data is touched.
  5. Test quality — tests exist, fail when the code is broken (not tautologies), and cover the edge cases above. Coverage without assertions is decoration.
  6. Maintainability — the next developer understands this without archaeology: naming, structure, no dead code, no copy-paste triplets.
  7. 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.
  8. 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.xml intact, 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 the NFR-n it violates, at the lens's severity — not a style nit. Apply only the lenses you were given.

Read the full file on GitHub · 189 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. today Changed · +16 lines d27e99f30302
  2. 4d ago First seen · 173 lines · 66 tokens per session scan A 52dc2da73152

Subscribe to this mod's changes

reviewer is an agent published in the GitHub repository a-lottes/aSPARK (19 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. 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.

Related

Other agents, from other repositories

citation-parser

Sub-agent that parses bibliographic sections and inline citations from SOTA / article text. Takes raw text (a section header + content, or an inline excerpt) and returns structured JSON [{author, year, title, doi?, venue?, raw}]. Isolates the LLM extraction from the main agent context. Invoke from the INGEST pipeline…

roomi-fields/paper-trail · 88 tokens

researcher

Sub-agent that performs exhaustive multi-source academic search (paper-search MCP across 22 platforms + optional NotebookLM + optional WebSearch). Returns structured JSON of candidate refs for sota-writer phase A. Invoke when broad literature search is needed without polluting the main agent's context.

roomi-fields/paper-trail · 58 tokens

seo-manager

SEO specialist. Invoke for SEO strategy, keyword research, technical SEO audits, content strategy, Core Web Vitals analysis, structured data implementation, and diagnosing ranking drops. All three SEO pillars: technical, content, and authority.

pranav8494/team-of-agents · 48 tokens

data-analyst

Data analysis specialist. Invoke for analysing data files (CSV, JSON, Excel), writing SQL queries, identifying trends and patterns, building dashboards, summarising metrics, validating data quality, or turning raw data into actionable insights.

pranav8494/team-of-agents · 49 tokens

fintech-frontend-engineer

Fintech frontend specialist. Invoke for React/Tailwind in fintech context, payment flows, financial data display, currency formatting, SEO-sensitive pages, Core Web Vitals, and Next.js App Router. Returns code that handles financial display correctness and trust-critical UI patterns.

pranav8494/team-of-agents · 60 tokens

product-manager

Product management specialist. Invoke for product discovery, user story writing, acceptance criteria, PRDs, prioritisation frameworks, roadmaps, success metrics, and opportunity assessment. Distinct from project-manager, use this for what to build, not how to deliver it.

pranav8494/team-of-agents · 55 tokens