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 kreek/consult --skill proofgit clone --depth 1 https://github.com/kreek/consultWrote 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/kreek/consult/proof)<a href="https://agentmods.dev/skills/kreek/consult/proof"><img src="https://agentmods.dev/badge/skills/kreek/consult/proof/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/kreek/consult/proof"><img src="https://agentmods.dev/badge/skills/kreek/consult/proof.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.00024 | $0.01417 |
| Opus 5.5 | $0.00010 | $0.00567 |
| Sonnet 5.5 | $0.00005 | $0.00283 |
| Haiku 4.5 | $0.00002 | $0.00142 |
Grade A, and why
proof 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 16d 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 — 115 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Proof
Iron Law
NO ENGINEERING CLAIM WITHOUT A NAMED PROOF.
A proof is a named check that would fail if the claim were false. "The tests pass" does not count until you can say which test would break if you were wrong.
When to Use
- As the completion gate before any reply that says or implies the work is done, fixed, ready to commit, ready for a PR, or passing.
- Writing or reviewing behavior tests for any change or flaky test.
- Turning an agreed spec, model, contract, or root cause into Proof Contracts and runnable checks.
When NOT to Use
- Edits with no behavior surface: formatting, typos, comments, renames and moves that tooling already confirms.
- A bug whose cause is not pinned down:
debuggingfirst. - Design, naming, structure:
code-review. Benchmarks:performance. Test runner setup:scaffolding.
Rules
- Every non-trivial claim owes a check. If you cannot point to one, mark the
claim
unprovenand say which evidence is missing. Silence is not proof. - Match the proof to the claim: a behavior change needs a runnable check at the boundary, a new endpoint a contract test, a bug fix a regression test that fails before and passes after, a refactor the same behavior before and after, a data claim an invariant.
- Test at boundaries, in the caller's words: where the data's shape, value, state, or error visibly changes, and always at the outermost boundary the caller sees (endpoint, CLI, UI, public API). Boundary tests survive refactors; unit-test only non-trivial pure logic.
- One behavior per test. Real collaborators inside; mock only true system edges (network, clock, filesystem) or write the reason. Never test the framework, the language, or static text.
- A flaky test is a bug in the test, the code, or the environment. Fix it. No sleeps, no retries.
- Red before green when the failing test is itself the evidence: a reproducible bug, a behavior change with a clear observable, a contract change. A test that passes on its first run proves nothing; verify the red as deliberately as the green.
- Prove artifacts the way the system uses them: run, load, parse, render, or inspect config, wiring, generated output, and documents. Never assert literal text.
- For a removal, prove the behavior that remains and confirm the old code is gone with a search. Test the removal itself only when it now returns an explicit rejection (404, 410, deprecation error): that is new behavior.
- Narrowest check first: one test by name or line, then the file. Once a failing test is known, iterate on that failure until it is green. Run the whole package or suite after major changes, before completion or commit, or when targeted green evidence suggests wider breakage. An unrelated broad failure is reported separately, not treated as blocking.
- "Done" is a claim. Before saying it: re-read the latest request and any corrections, look at every named file as it stands after your last edit, run the chosen check fresh, and report proven, partly proven, blocked, or unproven. Smoke and helper-only checks are partial, not acceptance.
What ships with it
5 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.
- 16d ago Changed · +3 tokens per session 44f12e793ecd
- 1mo ago Changed · -108 lines 77332b2095d9
- 1mo ago First seen · 223 lines · 21 tokens per session scan A df5498dbefbb
proof is a skill published in the GitHub repository kreek/consult (1 stars, last pushed 17d ago), licensed MIT. It adds 24 tokens to every session and 1,417 once invoked, about $0.0001 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
bootstrap-solution
Bootstrap or guide a reproducible .NET solution with explicit F# or C# language choice, SDK selection, project layout, test project setup, and initial validation commands.
testing-lint-workflow
Plan, run, filter, and triage Android tests and lint, including local unit tests, instrumentation and Compose UI test handoffs, Gradle variant tasks, lint configuration, lint baselines, failure explanations, emulator-aware validation routing, and readable next checks.
build-csharp-project
Build or modify idiomatic C# .NET projects using nullable-aware APIs, records/classes, async/task behavior, analyzer conventions, tests, and repo-local validation.
build-fsharp-project
Build or modify idiomatic F# .NET projects using explicit modules, domain types, functional data flow, file ordering, async/task interop, tests, and repo-local validation.
swift-package-testing-workflow
Guide Swift Testing, XCTest holdouts, code coverage, xctestplan handoff conditions, async test design, semantic accessibility-test boundaries, test-fixture organization, and package test-diagnosis work in existing Swift Package Manager repositories. Use when Package.swift is the source of truth and the task is…
xcode-testing-workflow
Guide Swift Testing, XCTest, XCUITest, XCUIAutomation-oriented mechanics, code coverage, xctestplan matrices, accessibility-verification follow-through, test filtering, retries, diagnostics, and test-specific fallback work in existing Xcode-managed projects and workspaces. Use when Xcode-aware execution is needed and…