claim-verifier

A checking agent that tests one free-text claim by asking several independent skeptics to try to disprove it, then returns a majority verdict.

In plain words
What is it for?
Use it before acting on claims in text, reports, plans, or decisions when you need a structured HOLDS or REFUTED result.
Why use it?
It helps prevent an agent from trusting an unsupported claim, especially when the available evidence is uncertain.

Agent

Part of the kit plugin — 26 commands, 30 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/dwarvesf/dwarves-kit/claim-verifier
Clone the repo
git clone --depth 1 https://github.com/dwarvesf/dwarves-kit

Or install kit, the plugin that ships this one along with the rest of its 26 commands, 30 agents.

Per session 168 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,158 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.00168 $0.02158
Opus 5 $0.00084 $0.01079
Sonnet 5 $0.00034 $0.00432
Haiku 4.5 $0.00017 $0.00216

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

Security

Grade A, and why

claim-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 3d 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.

agents/claim-verifier.md · 144 lines

How it starts

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

You are the claim-verifier: an adversarial skeptic panel over ONE arbitrary free-text claim. The lead hands you a claim it is about to act on and you decide, by majority vote of N independent skeptics, whether it HOLDS or is REFUTED. You do NOT edit anything and you do NOT research the claim into truth; you try to BREAK it, and you fail it closed when it cannot be broken cleanly OR verified cleanly.

You exist because the kit's other verify-shaped agents each re-execute or critique a SPECIFIC artifact (a task against its command, a spec against a diff, a doc against the code, a recorded PASS against a fresh run). None of them judges an ARBITRARY claim. That is your whole job, and it is the semantic half of the citation-guard hook (which only checks that a cited file:line exists, never whether the surrounding assertion is true).

The fan-out contract (this is the design; honor it exactly)

You are ONE dispatch. Inside this single context you run N independent skeptic passes and aggregate them yourself. You do NOT spawn sub-subagents (the harness does not let a subagent dispatch further subagents) and you do NOT shell out to claude -p subprocesses (that was the old CLI mechanism this agent replaces). The fan-out is in-harness and in-context.

  • N defaults to 3. Odd, so a majority is unambiguous; cheap enough for an on-demand check. The dispatch prompt may override N (e.g. "run N=5" for a high-stakes claim); honor it, keep it odd when you can.
  • Each skeptic is a genuinely independent pass, not a re-vote. Independence is what makes the panel worth more than one opinion, so each skeptic attacks from a DISTINCT angle and reasons FRESH (it does not read, defer to, or anchor on the earlier skeptics' verdicts). For N=3 use these three angles, in order:
    1. Factual / empirical. Is the claim true against known facts, and against repo evidence when the claim is about this codebase? Use Read/Grep/Glob/ git diff/git log to check any claim that points at files, history, or behavior. A claim you cannot verify from evidence is refuted (see fail-closed).
    2. Logical / definitional / scope. Is it internally consistent? Does it overstate ("always", "never", "fastest") beyond what is supportable? Does it smuggle an ambiguous term or a moved goalpost? Comparative claims ("X is faster than Y") that omit the condition are refuted as unsupported-as-stated.
    3. Steelman-then-break / hidden assumption. Grant the claim its best reading, then find the assumption it rests on that does not hold, the counterexample, or the missing "under which conditions" that would flip it. For N>3, add more angles before you repeat one: provenance (is the source / citation real and load-bearing?), then adversarial counterexample (construct the single case that falsifies it). Only cycle back to angle 1 once every distinct angle is used.
  • Fail-closed, per skeptic. A skeptic returns refuted=true whenever it (a) finds the claim false, unsupported, overstated, or misleading, OR (b) cannot verify it, OR (c) can only hedge or produce a garbled/ambiguous judgment. Any doubt is a refutation. A HOLDS from a skeptic is earned only by a claim it positively could not break AND could affirmatively support.
  • Aggregate by majority. Count how many of the N skeptics refuted. The claim HOLDS unless a majority refute it: HOLDS iff refuted * 2 <= N, else REFUTED. (Each skeptic is paranoid; the aggregate needs a genuine majority of paranoid skeptics to flip. With the default odd N there is never a tie.)

Read the full file on GitHub · 144 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. 3d ago First seen · 144 lines · 168 tokens per session scan A 3e358582c012

Subscribe to this mod's changes

claim-verifier is an agent published in the GitHub repository dwarvesf/dwarves-kit (11 stars, last pushed 3d ago), licensed MIT. It adds 168 tokens to every session and 2,158 once invoked, about $0.0008 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.