Prompt pack · Vibe coding

Agent Watchtower: a run log format, an eval checklist, and a cost and failure report for your agents

by PaperChaseWebb

One JSON line per agent step, a Python logger that hides keys and closes crashed runs, and watch_check.py: log checks, a cost and failure report that finds loops, runs over a cost or step limit and unpriced calls, and an eval gate with cases for must say, must call, must not call, needs a yes before, cost, steps and time.

Preview card for Agent Watchtower
Works withClaude CodeCodexGrok BotCursorPlain .md and Python 3.8 or newer scripts, standard library only; unit tested on Python 3.8 to 3.13
Price
$39
Difficulty
Intermediate
Setup
1 hr
Format
.md file
$39 one time

agent-watchtower-run-logs-evals-cost-and-failure-report.md · 44 KB · instant download after checkout

Buy now · $39

Want this built for you instead? We can build it for you.

What you end up with

You see what each agent run did and cost, catch loops and unapproved actions, and only give an agent real work after it passes your cases.

What you get

  • 9 sections in one .md file
  • The run log format: eight event types
  • watch_log.py for Python agents
  • The eval checklist and a 12-point readiness list
  • watch_check.py: log, report and eval
  • A weekly review routine
  • AGENTS.md rules
  • Sample logs, evals and prices
  • 23 unit tests

Who it is for

Builders who want to know an agent works, what it costs and where it fails before it gets real work, without a monitoring platform.

Works with

Claude CodeCodexGrok BotCursorPlain .md and Python 3.8 or newer scripts, standard library only; unit tested on Python 3.8 to 3.13

Solid chips: the agent is named in this listing's own tools list. Dashed chip: Plain Markdown, so it also pastes into other agents such as Grok Bot, Hermes, OpenClaw or Muse. We list those as compatible by format only, not as tested.

Tools needed

Any agent that can append one JSON line per stepClaude Code or Codex hooks, n8n or Make flows, Grok Bot routines, your own code
Python 3.8 or newerruns watch_check.py and watch_log.py; standard library only
You needAn agent you can make write a log line per step
You needPython 3.8 or newer

Cost to run: The pack is the only purchase. The scripts use no hosted model tokens.
Time to result: Logging and a first report in an afternoon

Sample prompts, free to use

Gate an agent · Any agent that can append one JSON line per step
Run python3 watch_check.py eval evals.json runs/ --prices prices.json --min-score 90 and paste the RESULT line and every FAIL line.

From the pack.

Free preview of the file

agent-watchtower-run-logs-evals-cost-and-failure-report.md (excerpt)44 KB total
# Agent Watchtower: log, score and test your agents before they do real work

A PaperChaseWebb pack, version 1.0, 2026-10-31. Works with any agent you can make write one line of JSON per step: your own Python or TypeScript agents, Claude Code or Codex hooks, n8n or Make flows, and Grok Bot routines. Plain Markdown plus two small Python files (3.8 or newer, nothing to install).

Most agents go live on a few good demos. Then a loop burns a day of tokens, a tool call fires without a yes, or a quiet failure rate sits at one run in five and nobody sees it. Watchtower is the small layer that catches this first: one log format, an eval checklist you write once, and a checker that turns the logs into a cost and failure report and a pass or fail gate before an agent gets real work.

## What is in the pack

| Section | What it is for |
|---|---|
| 01 What to watch | The five things that go wrong with agents in practice, and the signal for each |
| 02 The run log format | One JSON line per step: eight event types, required and optional fields, and a filled example |
| 03 Writing the log | `watch_log.py` for Python agents, plus the one-line pattern for any other tool |
| 04 The eval checklist | How to write test cases from real tasks, the fields a case can check, and a 12-point readiness list |
| 05 The checker | `watch_check.py log`, `report` and `eval`: every code and what to do about it |
| 06 The cost and failure report | Reading the report, setting limits, and a weekly review routine |
| 07 AGENTS.md | Rules that make an agent log itself honestly and stop at the right places |
| 08 How we tested it | Fixtures, unit tests, Python versions, and what was not tested |
| 09 The files | Both scripts, the unit tests, and sample logs, evals and prices |

## What you get

- **A run log format** small enough to add in an hour: run_start, model_call, tool_call, tool_result, retry, approval, error, run_end.
- **A checker** that finds malformed logs, keys pasted into logs, runs that never ended, loops (the same tool with the same arguments three times in a row), runs over a cost or step limit, and model calls with no price.
- **A cost and failure report** in plain text or Markdown: success rate, total cost, cost per successful run, the priciest run and the top failures.
- **An eval gate**: write cases from real tasks (must say, must not say, must call, must not call, needs a yes before, cost, steps and time limits) and get a score with a minimum you set.

Test record

Date
Oct 31, 2026
What was run
23 unit tests on Python 3.8, 3.9, 3.11, 3.12 and 3.13 with warnings as errors, from the source files and from the files extracted out of the pack, with the sample logs, evals and prices from the pack.
Result
All 23 tests passed on every version from both copies.
Not run
Live hooks inside Claude Code, Codex, n8n, Make or Zapier.

Copied from this item's dated test notes. What was not run stays in.

Worth knowing

  • Key detection uses patterns for common key formats and will not catch every secret.
  • Prices in the sample file are examples; use your provider's current prices.
  • Tested 2026-10-31: 23 unit tests on Python 3.8, 3.9, 3.11, 3.12 and 3.13 with warnings as errors, from the source files and from the files extracted out of the pack, with the sample logs, evals and prices from the pack. Result: All 23 tests passed on every version from both copies. Not run: Live hooks inside Claude Code, Codex, n8n, Make or Zapier.

Questions

Do I need a monitoring service?

No. Logs are plain files and the checker runs on your machine.

Details

Version 1.0 · Updated Oct 31, 2026 · Markdown version of this page
License: Use for your own work and for clients. Do not resell or republish the pack itself. Download terms

agent-watchtowerchecksagents-mdpython

Related

Preview card for Governed Agent Teams
Prompt pack$39

Governed Agent Teams: subagent personas, authority maps and handoffs

by PaperChaseWebb

A Markdown pack plus a small checker for running a team of coding and research agents with clear limits: 7 Claude Code subagent personas, Codex agent files, a reviewed Hermes skill, a Desk Authority Map with risk classes and an approval card, a handoff packet checked against git, an evidence standard, a decision ledger, a reach inventory, and team_check.py to check it all against the map.

Works withClaude CodeCodexGrok BotHermesPlain .md; the optional checker needs Python 3.8 or newer
Solo business · Intermediate · 20 min setup
Preview card for Ask-first rules for AI agents
Prompt pack$19

Ask-first rules for AI agents: hard nos, approval cards and a test set

by PaperChaseWebb

Paste-in rules that make an agent ask before it sends, spends, posts or deletes, define what a real yes is, and stop retries after a no, plus 12 test scenarios to check it.

Works withClaude CodeCodexClaudeGrok Bot+4Plain .md plus one Python 3 file, standard library only. The agent prompt in block 13 is written for any agent with a shell (Grok Bot, Claude Code, Codex, Hermes); it was not loaded inside each harness.
Solo business · Beginner · 20 min setup
Preview card for Agent Memory Kit
Prompt pack$29

Agent Memory Kit: what to keep, what to forget, a memory file format and a checker for stale or conflicting facts

by PaperChaseWebb

Keep or forget rules for six kinds of agent memory, a one-line-per-fact format with source, dates and status, a way to change a fact without losing its history, and mem_check.py, which flags stale entries, passed review dates, two active values for one key, duplicates, stored keys or card numbers, sensitive personal data and lines that read like instructions.

Works withClaude CodeCodexGrok BotCursorPlain .md and Python 3.8 or newer scripts, standard library only; unit tested on Python 3.8 to 3.13
Vibe coding · Beginner · 20 min setup