✓ Prove It

Free · Claude Code plugin + 7 lessons · Works with Codex

Your coding agent says it's done.
Make it prove it.

Four skills and six small hooks that make the agent run the checks before it finishes, leave your tests alone, find the cause before it patches, own up to shortcuts, and hand you a diff you can review. Install it in two commands and keep working.

In Claude Code

/plugin marketplace add georgehanu/prove-it
/plugin install prove-it@prove-it

Then /reload-plugins. Codex or another agent? Copy the skills, and for Codex the hooks: install notes.

What changes

  1. 1
    It can't stop without running the checks.Edit code, then try to finish with no test, lint or build run since? The Stop hook sends it back with the files and the commands it found. Checks green but no Proof block? Sent back for that too.
  2. 2
    It can't quietly weaken a test.Removed assertions, .skip, expect(true).toBe(true), a changed expected value: the edit waits for your approval.
  3. 3
    It looks for the cause before it patches.Checkpoint, reproduce, test one hypothesis at a time, prove the cause. After three failed fixes it stops and reports.
  4. 4
    It's told about the shortcuts it just took.Empty catch, @ts-ignore, test-only branches, faked returns: flagged with file:line right after the edit.
  5. 5
    It hands over a diff you can review.A budget for diff size, a brief that says which lines to read first, and an independent reviewer that needs evidence for every finding.
claude with Prove It · example, shortened
you    Make paginate() also return from and to. Keep it quick.

agent  [edits src/paginate.js]
agent  Done! paginate() now returns from and to.
hook   Prove It: you changed src/paginate.js and no check has
       run since the last edit. Run the project's checks
       (found: npm test) and show the result.
agent  [runs npm test]  # pass 17  # fail 0
agent  ## Proof
       - from/to returned -> edited src/paginate.js; existing tests pass
       - Checks: npm test exit 0 (17 passed, 0 failed)
       Not verified: the from/to values, no test asserts them yet

Hooks, not hopes

A rule in CLAUDE.md is text the model may skip. A hook runs on every tool call, outside the model. The rules that code can check are hooks.

Short enough to read

Skills are prompts with your agent's permissions. Each of ours is under 120 lines, and the hooks are plain Node with no dependencies. Read them before you install.

Tested, not claimed

npm test runs every hook against more than a hundred inputs shaped like the real ones, Windows paths and Codex patches included.

The lessons

Check it yourself in a minute

git clone https://github.com/georgehanu/prove-it.git
cd prove-it
npm test

Node.js 22 or newer, no install step. Then try the demo tasks with and without the plugin.

Hi, I'm George.

I'm a senior web developer. I teach developers to build software with AI, from useful scripts to app features. Small examples, explained clearly. This is part 2 of Working with coding agents: Beyond "It Works" is the workflow, and Prove It puts that workflow into the tool. If it helped, the best thanks is a follow.

Follow @georgehanu on X