Fernando Ramos← All skills07 of 09
← All skills

/proof

Prove · Revision-bound verification and Stop gate

Executes declared checks against the exact code state (HEAD + tracked-modified + untracked digest) and writes .ramos/runs/<run-id>/result.json. A passing /proof run arms the Stop gate for that session.

npx skills@latest add luci-efe/skills -s proof

  • ProveStage
  • 03 Evidence of done · 01 ObservableMethod
  • .ramos/runs/<run-id>/result.jsonProduced artifact / output

Use when

You are about to say "done" — validating a change, measuring a performance claim, or verifying a web or desktop UI.

Support & adapters

  • Instructions usable across harnesses
  • Hooks tested: Claude Code
01 · INPUT STATERequirement + TreeHEAD SHA + dirty filessha256(tracked + untracked)02 · EXECUTED CHECKSObserved executionassertion · perf · visualargv + cwd + exit === 003 · STOP GATE (LOCAL DONE)result.jsonRecomputes input_digestBlocks if missing or stalestatus: passed | failed | blocked | cancelled04 · CI + REVIEWVerifiedIndependent CI run+ peer review
  1. 01 · INPUT STATERequirement + Tree

    HEAD SHA + dirty files · sha256(tracked + untracked)

  2. 02 · EXECUTED CHECKSObserved execution

    assertion · perf · visual · argv + cwd + exit === 0

  3. 03 · STOP GATE (LOCAL DONE)result.json

    Recomputes input_digest · Blocks if missing or stale · status: passed | failed | blocked | cancelled

  4. 04 · CI + REVIEWVerified

    Independent CI run + peer review

Fig. 3. A passing /proof run arms the Stop gate for that session (it does not read the conversation; blocked, failed, or cancelled runs with a reason are allowed to exit). The local gate prevents accidental false done claims, though a hand-written result can still pass locally; CI re-execution plus independent review earns verified.

Decision tree

  1. 01

    Select branch & probe prerequisites

    assertion (code checks), perf (baseline vs changed threshold), visual-web (playwright, optional odiff), or visual-desktop (cua-driver)

    → Branch prerequisites verified
  2. 02

    Execute scripts/run.mjs checks.json

    Run literal argv checks with timeout bounds, compute input_digest over HEAD + modified + untracked files, and arm the Stop gate for this Claude Code session only when all checks pass

    → .ramos/runs/<run-id>/result.json
  3. 03

    Validate with scripts/check.mjs <run-id>

    Recompute current input_digest before ending the session; blocked/failed/cancelled runs with a reason are allowed to exit

    → Local done (CI + review = verified)

Prerequisites & install recipes

  • noderequired · assertion, perf, visual-web, visual-desktopnode
    brew install node
  • playwrightoptional · required for visual-web branchnode_modules/.bin/playwright
    npm i -D @playwright/test && npx playwright install chromiumper-repo local dependency
  • odiffoptional · visual-web pixel diffnode_modules/.bin/odiff
    npm i -D odiff-binoptional · per repo (or use Playwright's toHaveScreenshot)
  • cua-driveroptional · required for visual-desktop branchcua-driver
    from cua.ai (macOS); install not verified by this suite/doctor only checks that cua-driver is on PATH

Completion criteria

  • Writes .ramos/runs/<run-id>/result.json bound to HEAD and the SHA-256 digest of tracked-modified and untracked files.
  • A passing /proof run in a Claude Code session arms the Stop gate for that session (it does not read the conversation; blocked/failed/cancelled runs with a reason are allowed).
  • The local gate prevents accidental false done claims, though a hand-written result with matching hashes can still pass locally; CI re-execution plus independent review earns verified.

View skill source on GitHub

Want something like this built for your company?

Book a callMessage me on LinkedInSee Agentic Engineering
← All skills