It is late, and the agents are still working. You wait for a reply, carry it to another AI, then check what comes back. Between those handoffs, the hours you meant to spend creating quietly unravel.
This post shows the wiring we use to take those handoffs out of our hands: four small pieces around Claude Code, each a short standard-library Python script. It also shows what went wrong when we pointed the same wiring at our own product page.
The board, running with sample data, and the diagram: https://zero-trace-ship-kit.zeus-lab-global.workers.dev/harness/
The four pieces
| Piece | Claude Code mechanism | What it does |
|---|---|---|
| Tool guard | PreToolUse hook | Refuses a call before it runs when its text matches a rule |
| Stop report | Stop hook | Runs the commit checks when the agent stops and says which one does not pass yet |
| Review relay | a script, no hook | Hands a text to a second AI's CLI and saves the answer as a file |
| Event board | PostToolUse / SubagentStop hooks | Writes one line per event; a local page shows them |
The hook entries in .claude/settings.json:
{ "hooks": { "PreToolUse": [{"matcher": "Bash|Edit|Write", "hooks": [{"type": "command", "command": "python3 \"$CLAUDE_PROJECT_DIR/hooks/guard.py\""}]}], "PostToolUse": [{"matcher": "Edit|Write|Bash", "hooks": [{"type": "command", "command": "python3 \"$CLAUDE_PROJECT_DIR/hooks/log_event.py\""}]}], "Stop": [{"hooks": [{"type": "command", "command": "python3 \"$CLAUDE_PROJECT_DIR/hooks/commit_gate.py\" --report"}]}] } } The guard is a text match, and that is all it is
A PreToolUse hook receives the tool name and its input as JSON on stdin. Exit code 2 refuses the call and the message on stderr goes back to the agent. Ours checks two things: a metered API key variable being given a value or read, and a commit command that carries the flag for skipping checks.
It does not follow what a script does once it runs. Other ways around a check are not matched. It is a seat belt for the agent's own commands, not a sandbox. We say this plainly because the first version of our page did not (see below).
It also stops its author. While writing this article, the guard refused our own shell command, because the command contained an example of the very phrase it looks for. We narrowed that rule to shell commands, so prose in a file no longer trips it, and wrote the fix with the phrase split in two. Loosening the rule to get through was not an option we allow ourselves.
Only names are logged
The event hook writes the kind of event, a name (tool, check or agent), a state and a duration. Tool inputs and outputs are never written. A test plants a value in a command and asserts that the log does not contain it.
Relay: a second AI reads it, a guard runs first
relay/cross_ai_audit.sh runs the commit checks, then passes the text to each configured CLI in turn (for us: a Gemini CLI, then a Codex CLI, both under flat-rate sign-ins — no metered API key is set or read), then writes a packet for a detached auditor role. Before anything is sent, a guard command runs on the text; if it fails, nothing is sent. What the second AI's service does with the text is governed by that service's terms, under your account.
What the reviews found in our own listing
We ran the relay on the store text of this kit before publishing. Both reviewers returned FIX. Then a detached auditor role unpacked the packages and ran their tests. The findings we acted on:
- A stale license inside the bundle. It still said "two kits" after a third was added. The checksums were right and the tests passed; only a reader could catch it. Fixed, version raised.
- "Per year" next to "one-time". An allowance that covers 12 months from purchase read like a yearly renewal. Reworded to "within 12 months of purchase, 25 in total".
- "Enforced hooks". The auditor tried four ways around the guard and they passed. The word came out, and the page now says exactly what is matched.
None of these were caught by a mechanical check. All three were about words.
Measured, on our machine
- 10 tests in the kit: install, merge and removal of settings; no input in the log; the guard; the stop report; a real blocked commit; the relay with its guard; the cross-AI audit; the board server.
- 36 files including the checksum list. Python standard library only.
- Tested on macOS with Python 3.14 and git 2.x. Windows has not been tested.
Limits
A passing check is not a guarantee. The board shows the events it receives; it does not watch any AI service by itself. Nothing here promises results. AI subscriptions are separate from the kit and are yours.
The whole set — hooks, roles, skills, relay, board, diagram generator and installer — is the ZEUS Autonomous Harness & Telemetry Kit, $149 one-time: https://zero-trace-ship-kit.zeus-lab-global.workers.dev/harness/

