Agent Ops bundle: run a service and its agents from one runbook a script can check
by PaperChaseWebb
Release Watch, Agent Control Room, Agent Status Hardware and Shrink the Attack Surface in full, tied into one daily loop by a new Ops Runbook: plain files for agents and their owners, tested stops, room names and lights, watched changes, attack surface decisions with proofs, action gates and monthly drills. ops.py answers every action with go, ask the owner or never, and a fifteen-check script names every gap. A risky action waits for the owner's yes typed at their terminal and tied to that request's sha256.
- Price
- $69
- Difficulty
- Intermediate
- Setup
- 1 hr
- Format
- .md file
agent-ops-bundle-run-a-service-and-its-agents-from-one-runbook.md · 481 KB · instant download after checkout · $106 if bought separately
Want this built for you instead? We can build it for you.
What you end up with
Agents that work on your live service on their own for safe tasks, a watch on every change, a light for every session, and no rollback, deploy, merge or key change without your typed yes on that exact request.
What you get
- Four packs in full: Release Watch, Agent Control Room, Agent Status Hardware and Shrink the Attack Surface ($106 bought separately)
- The Ops Runbook (only in this bundle): one folder of plain files for agents, changes, surface, actions and drills, with templates
- A daily ops loop: what happens when, which runbook file it lands in and which pack it comes from
- ops.py: a gate for every action (0 go, 11 ask the owner, 12 never), requests, owner approval at a terminal tied to the request sha256, verify with expiry, one use per yes
- ops_check.py: fifteen read-only checks, with a seeded test runbook (15 findings, then 0)
- A skill file for Claude Code, Codex and Hermes, an AGENTS.md snippet and a Grok Bot rules block
- Ten prompts, a failure table and a worked example
- A look at eight ops and agent-monitoring packs, with sources
Who it is for
Builders and small teams who run a real service with several agents on it and want one place that says what agents do alone and what waits for a person.
Works with
Solid chips: the agent is named in this listing's own tools list. Dashed chip: A skill file for Claude Code, Codex and Hermes, an AGENTS.md snippet and a Grok Bot rules block; the scripts were tested on Linux with Python 3.13, the agent files were not loaded inside each harness.
What is in the bundle (4 packs)
| Pack | Format | Separate price |
|---|---|---|
| Release Watch: a per-change monitoring plan your agent writes from the diff, run by a fixed script | Bot template | $24 |
| Agent Control Room: voice control for a dozen agents | Bot template | $29 |
| Agent Status Hardware: one light and one e-ink display for every agent session, driven by hooks | Bot template | $14 |
| Shrink the Attack Surface: patch with proof, then attack your own agent's tools | Bot template | $39 |
| Bought separately | $106 | |
| The bundle | $69 (you save $37) |
Tools needed
Cost to run: The bundle is the only purchase. The checker and ops.py use no model tokens. Status lights are optional hardware you buy yourself; a terminal light works with none.
Time to result: A checked, ratified runbook in one afternoon once the four packs are installed
How it works
Run the tests
Copy the agent-ops-bundle folder and run sh test_all.sh.
Expected: 15 findings on the seeded runbook and 0 on the fixed one, 15 of 15 single faults caught alone, checker tests 25 passed, ops tests 37 passed, exit 2 on a missing folder.
Install the four packs
Set up Release Watch, Agent Control Room, Agent Status Hardware and Shrink the Attack Surface, each to 0 on its own checker.
Expected: A watch on your last change, voice routing by name, a light per session and a surface list with decisions.
Start the runbook
Run ops.py init ops/<service>, fill ops.json, let your agent draft agents.csv, then stop each agent yourself and write the date.
Expected: Every agent has an owner, a room name, a light and a tested stop.
Gate and drill
Add your safe daily actions as agent-ok, keep the ten risky ones owner-yes, and run the five drills.
Expected: ops_check.py shows only O15.
Ratify and run
Run ops.py approve --runbook at your own terminal. From then on agents check ops.py gate before every action.
Expected: Safe actions go ahead, risky ones arrive as requests you approve by hash, and any edit to the runbook stops every gate until you ratify again.
Sample prompt from the pack
Run ops_check.py on ops/<service>. Show me the findings in order, the smallest fix for each, and the runbook hash. Edit nothing until I say yes.
Prompt 3 of 10.
Before any action today, run ops.py gate for it and tell me the exit code. On 11, write the request and show me its path and sha256, then wait. On 12, do not do it and tell me why.
Prompt 4 of 10.
Free preview of the file
# Agent Ops bundle: run a service and its agents from one runbook a script can check Version 1.0, 2026-10-29. By PaperChaseWebb. A bundle of four paid packs (Release Watch, Agent Control Room, Agent Status Hardware, Shrink the Attack Surface) plus a new Ops Runbook that ties them into one daily operating loop. The runbook comes with a gate and approval script, a read-only checker with fifteen checks, templates, a seeded test runbook, ten prompts and the tests, all Python 3 standard library. Works with Claude Code, Codex and Hermes through a skill file and an AGENTS.md snippet, and with Grok Bot through a rules block. Tested as described in section 10: everything ran on Linux with Python 3.13, including owner approvals typed at a pseudo-terminal. The skill file, snippet and rules block were not loaded inside the harnesses for this release, and the runbook has not been run on a live system. Each limit is marked where it matters. Most ops and SRE packs for agents are a list of prompts: "write a postmortem", "triage this alert", "draft a runbook". The prompts are fine. What goes wrong is everything between them. A change goes live and nobody watches the paths it touched. Three agents are running and you cannot tell which one is waiting for you. Someone says "yeah, go" near a microphone and an agent takes it as a yes. A debug route from last spring is still open. The rollback that was supposed to need your approval was marked agent-ok in a config nobody reread. This bundle is b
Test record
- Date
- Oct 29, 2026
- What was run
- ops_check.py on a seeded runbook and a fixed copy, each planted fault alone, a missing input, and the unit tests. Linux, Python 3.13.
- Result
- 15 findings on the seeded runbook, 0 on the fixed one; 15 of 15 planted faults caught alone; exit 2 on missing input; nothing written. 25 checker and 37 ops.py tests passed, 0 failed.
- Not run
- The agent files inside Claude Code, Codex, Hermes or Grok Bot. A live system, real status lights or a real microphone. Windows.
Copied from this item's dated test notes. What was not run stays in.
Worth knowing
- The checker checks that each ops decision was made and written down. It cannot tell whether a stop really works, a watch really fires or a proof really tests the fix; the drills and the included packs' own checkers do that.
- The skill file, AGENTS.md snippet and Grok Bot rules block were not loaded inside Claude Code, Codex, Hermes or Grok Bot for this release, and the runbook has not been run on a live system, real status lights or a real microphone. The test runbook is a made-up booking app. Linux only; Windows was not tested.
- The gate makes the rules plain and testable; it does not sandbox an agent. Pair it with each harness's own permission settings.
- The approval script refuses piped input and the environment variables Claude Code, Codex, Hermes and Grok Bot set. That stops an agent approving by mistake; it is not a lock against someone with the same account.
- On 2026-10-29, on Linux with Python 3.13.5: ops_check.py gave 15 findings on the seeded runbook (each check once) and 0 on the fixed one, caught 15 of 15 single faults with only its own check, wrote nothing, and exited 2 on a missing folder, any missing file or broken ops.json; checker tests 25 passed, 0 failed; ops.py tests at a pseudo-terminal 37 passed, 0 failed.
- The bundle contains the versions listed on this page on the day you buy. Each included pack keeps its own notes and limits.
Questions
Why not buy the four packs on their own?
You can, for $106. The bundle is $69 and adds the Ops Runbook, which is only here: the gate every agent checks before acting, approvals tied to one request, and one checker across all four parts.
Does it replace a paging or status page product?
No. It decides what agents may do and makes sure changes are watched. Keep your pager and status page.
Can an agent or a voice command approve a rollback?
No. ops.py approve refuses piped input and the agent environments it recognizes, and voice is off on every action. The owner types their name and part of the request hash at their own terminal.
What if I edit the runbook after ratifying?
The runbook hash changes, every gate answers never and older requests stop verifying, until you ratify again.
What if I want it set up with me?
Book a call on the paperchasewebb.ai homepage about the $5,000 Install sprint, or Manage at $5,000 a month to keep the runbook and drills current.
Details
Version 1.0 · Updated Oct 29, 2026 · Markdown version of this page
License: Use on your own machines and on services you run for clients and teams. Do not resell or republish the bundle itself. Download terms
Related

Agent Ops: five rules for agents on a live service, and a five-check script (free sample)
From the Agent Ops bundle: five rules for running agents on a service people use (one named approver, a stop tested in the last 30 days, risky actions owner-yes, voice never approves, a watch on every live change), and a read-only script that checks one small file for them.

Release Watch: a per-change monitoring plan your agent writes from the diff, run by a fixed script
After a change goes live, your agent reads the diff and writes a small watch plan for that change: which signals it could move, against which baseline, by how much, for how long. A fixed script runs the plan every five minutes, so no agent sits in a loop. On a trip, a second agent triages read-only and proposes one next step. Rollbacks, flag flips and alert changes stay with you.

Agent Control Room: voice control for a dozen agents
Talk to twelve agents by name from one place. Say "tell juniper to fix the login test" and it goes to juniper and only juniper, read back in a sentence. Ask "who is waiting" and the board answers with waiting on top. Say "stop all" and every session gets it. What voice never does is approve: every yes, "approve it", "go ahead" and "1" is refused, and gated actions wait for a typed yes from the owner tied to the sha256 of the request, which the agent checks before it acts.

Agent Status Hardware: one light and one e-ink display for every agent session, driven by hooks
Wire the hooks Claude Code, Codex and Hermes already have, plus a rules block for Grok Bot, to one small bridge on your machine. It turns agent events into one state for all sessions and drives a terminal, a USB busylight, a blink(1), an ESP32 LED, a 2.13 inch e-ink panel or a Home Assistant light. Waiting for you is a red blink nothing can cover, a session with no news turns amber, and the light never approves anything.

Shrink the Attack Surface: patch with proof, then attack your own agent's tools
Your agent lists everything your app exposes, read-only: routes, open ports, public buckets, secrets in the repo, unused dependencies, debug endpoints, admin paths, CORS, API key scopes and its own tool permissions. You decide keep, remove or lock for each. Every fix gets a proof that fails before the change and passes after it, and the proof stays as a regression test. Then attack drills run against your agent's own tool gate, offline: pressure, impersonation, injected tool output, stale and non-owner approvals and a failing tool. Each is judged by what the tools actually did, and every drill that gets through becomes a test that fails before the fix and passes after. A failing tool stops at a retry budget and asks you, and every approval is yours, typed at your own terminal and tied to a sha256.

Agency Install Kit: install one agent workflow in two weeks, with a binder a script can check
Five paid packs and the free Readiness Self-Check, tied into one two-week install by a new Install Binder: plain files for readiness, one workflow, agent owners and tested pauses, a gate register, a reach inventory, a cost cap, a dry run with refusal cases, a scorecard with kill rules and a run sheet with an off switch. A fifteen-check script names every missing decision, and the owner's go-live yes is tied to the binder's sha256.