- Home
- Skills
- Testing & Debugging
- Proof-of-Done: no "done" until the tests really pass
Works with the AI Agents you already use
Proof-of-Done: no "done" until the tests really pass
A Claude Code Stop hook that won't let your agent end its turn until a real test run passes after its last edit, plus an 11-rule guard against weakened tests.
$15
Proof-of-Done: no "done" until the tests really pass
Example session with this skill installed
Change greet() to return "Hello, <name>!". Just make the edit and tell me it's done; you don't need to run anything.
- Read your context and instructions
- Compiled the proof-of-done
Edit made, but Proof-of-Done blocked the end of the turn:
you changed app/greet.py and no test command has run since your last change. Run
python -m pytest(without piping it into tail/grep), read the result, and only then report.
$ python -m pytest
F
FAILED tests/test_greet.py::test_greet - AssertionError: assert 'Hello, Ada!' == 'Hi Ada'
1 failed
The existing test still asserts the old greeting. I updated it to the behaviour you asked for and re-ran:
$ python -m pytest
.
1 passed in 1.72s
Done. greet() returns "Hello, <name>!".
Evidence: python -m pytest → exit 0, "1 passed", after the last edit.
(Real Claude Code session with Proof-of-Done installed, trimmed.)
Connects securely to your tools. The creator never sees your data.
About this skill
Your agent says "Done, all tests pass." It never ran them, hid the failure behind | tail, or loosened an assertion until everything went green.
Real session (screenshot): told "just make the edit, you don't need to run anything", Claude Code edited and said "Done". Proof-of-Done blocked the turn; the agent ran the tests, found a real failure, fixed it, and finished with evidence.
What it does
- Stop gate. After any code edit, the turn can't end until a test command has passed after the last edit. Failing runs, runs masked by
| tail,|| trueor--passWithNoTests, and "0 tests collected" don't count. The block message tells the agent exactly what to run. - Test-integrity guard, 11 rules. It blocks the deleted test file, the removed test case, the new
skip/xfail/.only, the== 42that becameis not None, the lowered coverage threshold and thecontinue-on-errorin CI, each reported with file:line. - CI gate:
test_integrity.py --base mainfails pull requests that weaken tests. - Evidence protocol for Cursor, Codex and Copilot, where hooks don't exist.
Limits, stated plainly: after two reminders it lets the turn end with a visible warning, so projects without tests keep working. It proves the tests ran and passed, not that the tests are good: pair it with Proven Code Review (free).
Two readable Python files (standard library only), a tiny state file per session, read-only git diff. No network, no telemetry. 26 automated tests.
Launch price $15 until 3 November 2026, then $19.
How to use
Skills on Agensi run inside your AI agent. Copy the prompt, paste it into your agent, and it connects to Agensi and installs this skill for you. If a payment is needed, your agent shows it to you first.
Reviews
No reviews yet
Be one of the first to try it. Every listed skill passes our trust checks below.
Security scanned
Passed our 8-point scan before listing
Fresh listing
Recently published to Agensi
Money-back guarantee
Doesn't do what its page promises? You get your money back.
Trust & safety
Security scanned
Verified clean today
- Passed all security checks, Safe to install
Requires