Works with the AI Agents you already use

    Claude CodeClaude CodeCursorCursorCodex CLICodex CLIMuseMuseDotsDots+21 more

    Claude Code Hooks: Block "Done" Until Tests Really Pass

    1

    Your agent can't end its turn until the tests ran green after its last edit. Also catches deleted, skipped and weakened tests.

    $15

    Secure checkout via Stripe

    Money-back guarantee

    Converts to your local currency at checkout

    Security scanned
    Claude Code Hooks: Block "Done" Until Tests Really Pass

    Claude Code Hooks: Block "Done" Until 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 claude code hooks

    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

    "Done, all tests pass." Did it actually run them? Or pipe the output to tail, skip the failing one, or loosen an assertion until everything went green?

    Proof-of-Done makes that impossible in Claude Code.

    What you get

    • Stop gate: after a code edit, the agent cannot finish until a real test command ran and passed after the last edit. Masked runs (| tail, || true, --passWithNoTests) and "0 tests collected" do not count.
    • Test-integrity guard: 11 rules that catch deleted test files, removed cases, new skip/xfail/.only, weakened assertions, lowered coverage thresholds and softened CI. Each hit shows file and line.
    • CI job that fails pull requests which weaken tests.
    • Evidence protocol for Cursor, Codex and Copilot.

    Verified end to end: told "just make the edit, no need to run anything", the agent said "Done", got blocked, ran the tests, found a real failure, fixed it and finished with evidence.

    Local and private: two readable Python files, no network, no telemetry, 26 automated tests. Never traps you: after two reminders it lets the turn end with a warning.

    Why this beats just prompting "run the tests" A prompt is a request the agent can forget. A hook is enforced by Claude Code itself on every turn, and the block message tells the agent exactly what to run next. Example of what the agent sees:

    Proof-of-Done: the last test run after your changes did not pass (<reason>). Run the tests again and fix the failure before finishing.

    Use cases

    • Solo developers running long autonomous sessions
    • Teams that want a CI check against weakened tests
    • Anyone burned by "done" that was not done

    Known limitations

    • The Stop hook is Claude Code only (other agents get the evidence protocol and the CI gate).
    • Projects with no tests: after two reminders the turn ends with a warning.
    • It checks that a passing test run happened, not that the tests are good.

    Launch price $15 until 3 Nov 2026, then $19.

    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

    Money-back guarantee

    Doesn't do what its page promises? You get your money back.

    Trust & safety

    Security scan

    Security scan passed 12 days ago

    Requires

    Python
    Git

    Permissions

    Terminal / Shell
    Read Files
    Listed12 days ago

    What's inside

    Frequently Asked Questions

    Your agent can't end its turn until the tests ran green after its last edit. Also catches deleted, skipped and weakened tests.

    This skill uses the open SKILL.md standard. Use it through an MCP-compatible agent connected to Agensi, and check the compatibility information on this page for confirmed agents and required capabilities.

    Connect your AI agent to Agensi through MCP, then ask it to use Claude Code Hooks: Block "Done" Until Tests Really Pass on your task. Your agent loads the latest approved version each time. Paid skills require a purchase or active subscription. Skill files are not available for download; your licence does not allow you to save, copy or export any part of a skill.