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.
npx skills add badrabbitt/leanrigor --skill verificationgit clone --depth 1 https://github.com/badrabbitt/leanrigorWrote 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/skills/badrabbitt/leanrigor/verification)<a href="https://agentmods.dev/skills/badrabbitt/leanrigor/verification"><img src="https://agentmods.dev/badge/skills/badrabbitt/leanrigor/verification/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/skills/badrabbitt/leanrigor/verification"><img src="https://agentmods.dev/badge/skills/badrabbitt/leanrigor/verification.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.00043 | $0.00539 |
| Opus 5.5 | $0.00017 | $0.00216 |
| Sonnet 5.5 | $0.00009 | $0.00108 |
| Haiku 4.5 | $0.00004 | $0.00054 |
Grade A, and why
verification 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 — 61 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Verification
A completion claim is a factual claim. Make it only from output you have seen in this session.
The rule
Before writing "done", "fixed", "passing", "works" or "complete", you must have:
- run the command that proves it, in this session, after the last change;
- read its exit status and output;
- quoted the decisive line in your report.
If you cannot run the command, say what you could not verify. That is a complete answer. "It should work" is not.
What counts as evidence
| Claim | Evidence |
|---|---|
| tests pass | the test runner's summary line and exit status |
| the bug is fixed | the failing reproduction now succeeding |
| it builds | the build command's exit status |
| types are sound | the typechecker's output, not the absence of editor errors |
| the API works | the actual request and response |
| nothing else broke | the full suite, not the one file you touched |
A green result from before your change is not evidence about your change.
Procedure
- Name the claim. What exactly are you about to assert?
- Pick the check. The command whose output would change if the claim were false. If no such command exists, the claim is unverified — say so.
- Run it. Fresh, after the final edit.
- Read the output. Exit status and content. A suite that reports "0 tests ran" exits zero.
- Quote it. One decisive line in your report.
- Record the identifier. The run id, log handle or command line, so the claim can be re-checked later.
Failure is a result
When the check fails, report the failure and what it says. Do not soften it, do not re-run hoping for a different outcome, and do not narrow the check until it passes.
Anti-patterns
- Claiming success from a partial run ("the file I changed passes").
- Treating a skipped or filtered suite as a passing suite.
- Reporting completion while a step is still running.
- Describing intended behaviour in the past tense.
- Deleting or weakening a failing assertion to reach green.
What ships with it
2 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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 · +53 lines · +19 tokens per session 90c4d396ead9
- 2mo ago First seen · 8 lines · 24 tokens per session scan A 629190a05e50
verification is a skill published in the GitHub repository badrabbitt/leanrigor (0 stars, last pushed 23d ago), licensed Apache-2.0. It adds 43 tokens to every session and 539 once invoked, about $0.0002 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-31.
Other skills, from other repositories
headroom
Use when a Python or TypeScript app sends large tool outputs, logs, JSON, search results or long chat history to an LLM and the task is to cut input tokens, reduce token cost, fit a context window, or trim tool results without losing errors. Adds the headroom-ai compress() call; in-process, no API key, no model…
multi-agent-design
A guide to deciding when several AI agents should work together and how they should share tasks, context, and files. It compares peer, manager-led, and decentralised arrangements and explains common coordination failures.
agent-state-bar
A design guide for an agent status bar: a short, automatically updated summary of progress, remaining tasks, tool counts, errors, and system state placed near the latest model input.
context-engineering
A guide to organizing the instructions and information an AI agent receives at each step. It covers system prompts, tool descriptions, conversation history, on-demand skills, and protections against unsafe outside content.
kv-cache-design
A guide to arranging an AI agent's conversation so previously processed text can be reused. A KV cache stores intermediate results for earlier tokens, while a prompt cache reuses a stable beginning across requests.
loop-engineering
A guide to building reliable loops for AI agents that plan, act, check their work, and continue until a task is truly complete. It includes independent verification and a proposer-reviewer pattern in which one agent's work is checked using outside evidence.