- Home
- Skills
- Agents & Orchestration
- Prove It Done: receipts for every done claim
Prove It Done: receipts for every done claim
Every "done", "fixed", "deployed" or "worker said ok" gets a one-line receipt (command, file hash, HTTP status, git commit). A bundled verifier re-runs them against the real system; only what passes gets reported.
Free
Works with the AI Agents you already use
Prove It Done: receipts for every done claim
Example session with this skill installed
Deploy web 2.1.0 to staging and confirm it is live. Prove it with receipts.
- Read your context and instructions
- Compiled the prove it done
Summary
The deploy tool said ok: rollout started. That is a self-report, so it does not count. The first ledger had only one behaviour instrument and the verifier refused it; the agent added the orchestrator's rollout status as a second instrument, re-ran the verifier, and reported only what passed.
Final ledger
The agent adds a behaviour check through a second instrument: the orchestrator's own rollout status.
- [x] 1. Staging runs web 2.1.0
- receipt: `said:deploy tool returned "ok: rollout started for web@2.1.0"`
- receipt: `http:https://staging.example.com/version | status=200 | contains="version":"2.1.0"`
- receipt: `cmd:kubectl -n staging rollout status deploy/web --timeout=60s | contains=successfully rolled out`
- receipt: `cmd:kubectl -n staging get deploy web -o jsonpath={..image} | contains=web:2.1.0 | proves=config`
$ python3 scripts/verify_receipts.py --ledger receipts.md --min-instruments 2
step 1 Staging runs web 2.1.0
CLAIM [1] said:deploy tool returned "ok: rollout started for web@2.1.0" -- a self-report is a claim, not evidence; it does not count (via self-report)
PASS [2] http:https://staging.example.com/version | status=200 | contains="version":"2.1.0" -- HTTP 200, body contains the expected text (via http:staging.example.com)
PASS [3] cmd:kubectl -n staging rollout status deploy/web --timeout=60s | contains=successfully rolled out -- exit 0, output contains the expected text (via kubectl)
PASS [4] cmd:kubectl -n staging get deploy web -o jsonpath={..image} | contains=web:2.1.0 | proves=config [config] -- exit 0, output contains the expected text (via kubectl)
-> PROVEN: 3 receipt(s); behaviour checked through 2 instrument(s): http:staging.example.com, kubectl
summary: 3 pass, 0 fail; 1 of 1 done step(s) proven
Report
Done: staging runs web 2.1.0.
https://staging.example.com/versionreturns 2.1.0 (HTTP 200), andkubectl rollout statusreports the rollout complete. Both checks ran after the deploy.
Next steps
Keep receipts.md with the task. Re-run python3 scripts/verify_receipts.py --ledger receipts.md after any later change; a FAIL reopens the step.
Connects securely to your tools. The creator never sees your data.
About this skill
Stop accepting "done" on trust. Prove It Done makes every completion claim (deployed, fixed, published, migrated, or a sub-agent that reported ok) carry a receipt: a one-line check anyone can re-run against the real system and get the same answer.
How it works
- The agent writes one receipt per claim into a small ledger: a command and its expected output, a file hash, an HTTP status and body match, or a git commit.
- The bundled verifier,
scripts/verify_receipts.py(Python 3, standard library only), re-runs every receipt and prints PASS, FAIL or CLAIM for each. It reads no transcript and trusts nobody's word. - Self-reports ("the tool said ok") are recorded as claims, never as evidence.
- Config-only checks are tagged as config, so they cannot stand in for behaviour.
- For high-stakes steps,
--min-instruments 2demands two independent ways of looking. - Only what passes gets reported. A failing receipt reopens the step.
What's in the package
SKILL.md: the procedure.references/: receipt syntax, the rules, prior art.examples/: four worked cases (deploy, config change, published page, worker said ok).scripts/verify_receipts.py
Free and open source (MIT). Source, issues and the Gemini CLI extension: https://github.com/cloudlabworks/prove-it-done-gemini
Built by Cloud Lab Works.
Requires Python 3.9+. Does not automatically detect if a receipt is logically valid for a claim. Cannot verify claims without an executable command or endpoint.
How to use
- 1
Connect your agent to the Agensi MCP
Copy the prompt and paste it into Claude, ChatGPT, Cursor or any agent that supports MCP. It sets up the connection for you. Manual setup
- 2
Sign in to Agensi
Your agent shows a sign-in link. Sign in and click Allow.
- 3
Ask for what you need
Your agent loads this skill and uses it on your task. It always asks before any payment.
Reviews
No reviews yet
Be one of the first to try it. Every listed skill goes through the trust checks below.
Security scanned
Checked by our 8-point scan before listing
Fresh listing
Recently published to Agensi
Free forever
No account required to browse
Trust & safety
Security scan
Security scan passed 4 days ago
- Free with an Agensi account
Requires
Permissions
Shell: the verifier runs the cmd: receipts you write. Network: only for http: receipts you write. Read files: file and hash receipts. It writes nothing except your own ledger, and only when you pass --reopen. It sends no data anywhere.