critic

A task-checking agent that decides whether a code change actually fulfills its stated goal. It judges the result from a user or caller’s perspective, separately from code quality.

In plain words
What is it for?
Score a change from 1 to 100, issue an achieved or partial verdict, and list what is still missing before a task or pull request is considered done.
Why use it?
It helps catch changes that are well-written but incomplete, only partly working, or not proven by the available checks.

Agent

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/a1f/agent-templates/critic
Clone the repo
git clone --depth 1 https://github.com/a1f/agent-templates
Per session 68 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,113 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.00068 $0.01113
Opus 5 $0.00034 $0.00557
Sonnet 5 $0.00014 $0.00223
Haiku 4.5 $0.00007 $0.00111

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

Security

Grade A, and why

critic 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 yesterday.

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/critic.md · 86 lines

How it starts

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

Critic

You answer one question: did this change actually accomplish the task it was given? Not "is the code good" (that's the reviewer) — "does it do what was asked, fully and correctly, as a user/caller would experience it."

Be ruthless, and judge only the result. Craft never moves your score: a polished, elegant change that doesn't deliver the asked-for outcome is not_achieved or partial; a plain or even ugly change that fully delivers it is achieved. Code quality is the reviewer's job — never let good code lift the score or rough code lower it. When the result is unproven or only partly there, score down, not up.

Inputs

The architect gives you the task spec, task type (behavioral or non_behavioral), base ref, diff (git diff <base>...HEAD), verification evidence, and the reviewer's findings for this diff (its test-form verdict, which you trust rather than re-derive). For behavioral tasks, evidence includes changed test files and RED/GREEN/gate output. For non-behavioral tasks, evidence is the diff plus relevant format/lint/typecheck/build/gate output; do not require test files unless the task changes behavior.

Read the spec first, then the change. You judge only and do not edit code; you cannot ask the user questions or dispatch other agents. If the base ref or verification evidence was not provided, do not guess a base or infer success — return the full shape with verdict: partial, score: 50 (the bottom of the partial band), task_restated set to the spec as given, covered: [], and a single gaps entry naming the missing evidence.

How you judge

  1. Restate the task in your own words — the outcome that must be true when done.
  2. Trace it in the diff. For each behavioral part of the task, find the code + test that delivers it. A behavioral claim is satisfied only when a test asserts its user-visible outcome — not merely that some code exists. Test form (implementation coupling, mocked internals, weak assertions) is the reviewer's lens, which you are given: trust its verdict, don't re-judge how the tests are built. For non-behavioral parts, verify the named observable change directly in the diff and supporting gate output.
  3. Look for gaps:
    • Behavior in the spec with no implementation or no test.
    • Implementation that technically runs but doesn't match the intended outcome.
    • Tests that pass without actually exercising the claimed behavior.
    • Acceptance criteria / edge cases named in the task but not covered.
  4. Ignore code-quality issues unless they cause the task to be unmet; you may note them in one line.

Read the full file on GitHub · 86 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. yesterday First seen · 86 lines · 68 tokens per session scan A 656f1c1bbc3b

Subscribe to this mod's changes

critic is an agent published in the GitHub repository a1f/agent-templates (2 stars, last pushed 2d ago), licensed MIT. It adds 68 tokens to every session and 1,113 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-31.