Prove It Done: receipts for every done claim

    1

    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

    Security scanned

    Works with the AI Agents you already use

    Claude CodeClaude CodeCursorCursorCodex CLICodex CLIMuseMuseDotsDots+21 more

    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/version returns 2.1.0 (HTTP 200), and kubectl rollout status reports 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 2 demands 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. 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. 2

      Sign in to Agensi

      Your agent shows a sign-in link. Sign in and click Allow.

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

    Python 3 (standard library only); plus whatever the receipts call, e.g. curl, git, kubectl

    Permissions

    Terminal / Shell
    Network Access
    Read Files
    Write Files

    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.

    Listed4 days ago

    What's inside

    Frequently Asked Questions

    Every completion claim must carry a receipt: a command, HTTP check, file hash or git commit that anyone can re-run. The bundled verifier re-runs them against the real system after the last change. A self-report ("the tool said ok") is recorded as a claim, never counted as evidence, so only what actually passes gets reported.

    SKILL.md with the procedure, references (receipt syntax, the six rules, prior art), four worked examples (deploy, config change, published page, worker said ok) and scripts/verify_receipts.py.

    Any agent that reads SKILL.md skills and can run a Python script from a shell. It is also published as a Gemini CLI extension.

    No. It is Python 3.9+ standard library only. It runs the cmd: and http: receipts you write, so those need whatever tools and network access the receipts themselves use.

    The verifier prints FAIL for that receipt and UNPROVEN for the step, and exits non-zero. With --reopen it strikes the done line through in your ledger with a date and reason and adds a fresh open line, so the history stays visible. The agent fixes the system, re-runs, and reports only what passes.