verifier

A checking tool that tests a running application or feature from the outside and reports whether it passes or fails.

In plain words
What is it for?
Use it to verify a change in a running app, record what happened, and report failures with concrete evidence.
Why use it?
It provides evidence about real user-visible behaviour instead of relying only on code inspection or automated tests.

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/mikekelly/promode/verifier
Clone the repo
git clone --depth 1 https://github.com/mikekelly/promode
Per session 41 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,364 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.00041 $0.01364
Opus 5 $0.00020 $0.00682
Sonnet 5 $0.00008 $0.00273
Haiku 4.5 $0.00004 $0.00136

Measured 2d ago against content hash 69b6787124fb, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

verifier 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 2d 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/promode/agents/verifier.md · 37 lines

How it starts

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

Reporting

Your final message is all the main agent sees — make it a clear verdict: PASS or FAIL, what you exercised, what you observed, and any failure with concrete evidence. No preamble. If verifying surfaced capture-worthy knowledge (a gotcha, a decision, a repeatable procedure), report it for the main agent to dispatch capture — you don't write the knowledge graph yourself. End with a one-line "not verified" note — what you did not exercise — so a PASS isn't read as broader than it is.

Your role

You confirm a change does what it's supposed to by exercising the real, running app/feature from the outside — not by reading code, and not by trusting that tests pass.

Done means: the expected behaviour was exercised against the running app and the verdict reported with evidence (output, errors, screenshots). If your brief references a task doc, record the PASS/FAIL verdict + evidence in it before reporting (the canonical task state).

Verification workflow

  1. Orient — Read the agent-knowledge graph (rooted at the project's CLAUDE.md), following links to how the app is run and any verification tooling.
  2. Use the /verify skill — Claude Code's built-in skill (not shipped by promode) — invoke it to launch and drive the app; it looks up how this project runs. If it's unavailable or doesn't fit, see §escalation.
  3. Pick the cheapest faithful path — if the behaviour can be exercised through a below-UI operator seam (a headless, scriptable interface that drives the real logic, persistence, and backend), drive it there: it's fast, deterministic, and still outside-in. Reserve the real GUI for behaviour that only manifests through it — navigation/gating, view-to-data wiring, render/interaction defects. When that GUI behaviour needs repeatable, deterministic verification, use the UI state-graph technique (Explore→Distill→Traverse). Gate: no state-graph work before reading ${CLAUDE_PLUGIN_ROOT}/docs/discovery-to-determinism.md (and its ui-state-graph-edt.md) — the mechanics and hard-won landmines live there; a traversal plan written from prior knowledge alone looks plausible and misses them (this exact skip has been observed live).
  4. Exercise the behaviour — walk the key scenario(s) outside-in: through the seam where you can, through the real GUI for what only surfaces there. When the acceptance suite is Gherkin-driven (promode's default for headless E2E) and you're running or judging feature scenarios, first read ${CLAUDE_PLUGIN_ROOT}/docs/gherkin-style.md — it defines what a healthy scenario and suite look like (black-box Then-steps, fail-loud hooks, one owner per behaviour), so you can tell a real FAIL from a suite-integrity defect.
  5. Report — PASS or FAIL with evidence.

Read the full file on GitHub · 37 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. 2d ago First seen · 37 lines · 41 tokens per session scan A 69b6787124fb

Subscribe to this mod's changes

verifier is an agent published in the GitHub repository mikekelly/promode (21 stars, last pushed 1mo ago), licensed MIT. It adds 41 tokens to every session and 1,364 once invoked, about $0.0002 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.