Bot template · Vibe coding

Agent Status Hardware: one light and one e-ink display for every agent session, driven by hooks

by PaperChaseWebb

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.

Preview card for Agent Status Hardware
Works withClaude CodeCodexGrok BotHermesHooks for Claude Code, Codex and Hermes, a rules block for Grok Bot; tested against a simulated light, fake device tools, a mock Home Assistant and a virtual serial port, not on real hardware
Price
$14
Difficulty
Intermediate
Setup
30 min
Format
.md file
$14 one time

agent-status-hardware-lights-and-e-ink-via-hooks.md · 105 KB · instant download after checkout

Buy now · $14

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

What you end up with

You see at a glance when any agent session needs you, a crashed session stops looking busy, and flashing a board, opening the bridge to your network or using a Home Assistant token each wait for your written yes.

What you get

  • 19 sections in one .md file
  • Hook files for Claude Code, Codex and Hermes, and a rules block for Grok Bot
  • status_bridge.py: one state for all sessions, six states with waiting first, stale decay, a local read-only endpoint, standard library only
  • Seven adapters: terminal, simulated light, e-ink frame, busylight-for-humans, blink(1), ESP32 serial and Home Assistant, each with plain notes on what was tested
  • MicroPython firmware for an ESP32 LED and a Raspberry Pi script for a Waveshare 2.13 inch e-ink panel
  • Owner approvals in approvals.csv for firmware flashing, network exposure and Home Assistant tokens
  • status_check.py: fifteen read-only checks, with a fixture builder and the expected output
  • Four test scripts: selftest, hooks, adapters and firmware
  • Ten prompts and a failure table
  • A look at ten status lights, displays and tools people are using, with sources

Who it is for

People who run long or parallel agent sessions in other windows and want one honest signal for when an agent needs them, on a light or a display they control.

Works with

Claude CodeCodexGrok BotHermesHooks for Claude Code, Codex and Hermes, a rules block for Grok Bot; tested against a simulated light, fake device tools, a mock Home Assistant and a virtual serial port, not on real hardware

Solid chips: the agent is named in this listing's own tools list. Dashed chip: Hooks for Claude Code, Codex and Hermes, a rules block for Grok Bot; tested against a simulated light, fake device tools, a mock Home Assistant and a virtual serial port, not on real hardware.

Tools needed

Claude Code, Codex or Hermesruns the status hooks on its own events; the hooks write one metadata line and exit 0
Grok Bothas no hooks, so a rules block has it report working, waiting, done and error with one command on the same machine
Python 3runs the bridge, the adapters, the tests and the read-only checker; standard library only
A light or a display (optional)a USB busylight, a blink(1), an ESP32 with LEDs, a Waveshare 2.13 inch e-ink panel or a Home Assistant light; a terminal window works with no hardware
You needClaude Code, Codex, Hermes or Grok Bot on the same machine as the bridge
You needPython 3.9 or newer
You needbusylight-for-humans or blink1-tool for USB lights (optional)
You needMicroPython on an ESP32, or a Raspberry Pi with the Waveshare library (optional)

Cost to run: The pack is the only purchase. No hardware is included; a terminal window needs none.
Time to result: A working terminal light in about ten minutes, a device in about half an hour

How it works

  1. Test the bridge

    Save status_bridge.py into ~/.agent-status with the example config, set owner to your name and run selftest.

    Expected: 16 ok, 0 failures, including a waiting session that stays red while another finishes.

  2. Test the check

    Save the scripts, run make_fixture.py and run status_check.py on the two fixture folders.

    Expected: 15 findings on seeded, 0 on fixed; exit 2 on a missing folder.

  3. Connect your harness

    Merge the hook file for Claude Code, Codex or Hermes, or paste the Grok Bot rules block, then start serve with the terminal adapter.

    Expected: A prompt turns the terminal light green, a permission prompt turns it red and blinking.

  4. Add a device

    Pick the adapter for your light or panel from section 8 and add it to the config. Record an approval first if it needs a flash, the network or a token.

    Expected: The device follows the terminal light, and status_check.py prints no findings.

Sample prompt from the pack

Connect Claude Code · Claude Code
Show me the hooks block you would merge into my ~/.claude/settings.json from hooks/claude-settings.json, as a diff against what is there now.
Do not write it until I say yes.

Prompt 2 of 10. Your settings file is yours to change.

Plan a flash · Grok Bot, Claude Code, Codex, Hermes
Show me the sha256 of the firmware file and the approvals.csv row I would need to flash it to the port I name, then stop.
I will add the row and run the command myself.

Prompt 9 of 10. The agent never writes approvals.

Free preview of the file

agent-status-hardware-lights-and-e-ink-via-hooks.md (excerpt)105 KB total
# Agent Status Hardware: one light and one e-ink display for every agent session, driven by hooks

Version 1.0, 2026-10-28. By PaperChaseWebb. Works with Claude Code, Codex and Hermes through their hooks, and with Grok Bot through a rules block. Plain Markdown, hook files for each harness, a bridge script, firmware for an ESP32 light and a Raspberry Pi e-ink panel, and a read-only checker, all Python 3 with no outside packages for the bridge. Tested as described in section 12: everything ran on Linux with Python 3.13 against a simulated light, fake device tools, a mock Home Assistant and a virtual serial port. No real light, panel or board was connected for this release, and the hook files were not loaded inside the harnesses. Both are marked where they matter. No hardware is included.

You start an agent, switch to another window, and come back twenty minutes later to find it has been waiting for a yes since minute two. With two or three sessions open it gets worse: one finishes, you check that one, and the one that is blocked sits there. A status light fixes this, if it is honest. It has to tell you "needs you" louder than anything else, it has to stop claiming "working" when the agent has crashed, and it must never become a way to approve things without reading them.

This pack wires the hooks each harness already has to one small bridge on your machine. Every hook writes one line of metadata (agent, event, a hashed session id, the folder name) to a local log. The bridge r

Worth knowing

  • No real light, e-ink panel, ESP32 board or Home Assistant was connected for this release. The adapters were tested against fake tools, a mock server and a virtual serial port, and the real busylight-for-humans 1.0.3 was run with no light attached.
  • The hook files were run with sample payloads in the documented shapes, not loaded inside Claude Code, Codex or Hermes. Open /hooks after installing and trigger one permission prompt to see the light change.
  • Grok Bot has no hooks; its rules block works only when it runs commands on the same machine as the bridge.
  • On 2026-10-28, selftest gave 16 ok, the hook test 35 ok, the adapter test 15 ok, the firmware test 7 ok, all with 0 failures; status_check.py reported the fifteen expected findings on the seeded fixture and 0 on the fixed one, with file hashes unchanged and exit 2 on a missing folder. Run the tests on your own machine first.

Questions

Do I need to buy hardware?

No. The terminal adapter needs none, and the bridge works the same way with it. If you buy a light later, section 8 lists what the adapters drive and what was tested.

Can I approve from the light?

No, on purpose. A button cannot show you the command it approves, and anyone can press it. The light tells you to look; you answer at the keyboard. The bridge refuses a config that sets device buttons to approve.

Does anything leave my machine?

Not by default. The bridge listens on 127.0.0.1 and the hooks write a local log of metadata only. Opening it to your network or using Home Assistant needs a row in approvals.csv with your name.

How is this different from Agents That Use a Computer?

That pack covers approval gates and status signals for agents that drive a browser or desktop. This one is the hook-driven light and display for any agent session.

Details

Version 1.0 · Updated Oct 28, 2026 · Markdown version of this page
License: Use on your own machines and on installs you do for clients and teams. Do not resell or republish the pack itself. Download terms

bot-templatestatus-lighte-inkhooksbusylightesp32home-assistantapproval-gatechecksclaude-codecodexhermesgrok-bot

Related

Preview card for A terminal status light for your agent hooks, with a five-check quick check (free sample)
Bot templateFree

A terminal status light for your agent hooks, with a five-check quick check (free sample)

by PaperChaseWebb

From Agent Status Hardware: an event-to-state map for Claude Code and Codex hooks, five rules, a script that shows one colored light for all your sessions in a spare terminal window, and a read-only quick check with a worked example.

Works withClaude CodeCodexGrok BotHermesPlain .md plus one Python 3 script, standard library only; hooks for Claude Code and Codex, notes for Hermes and Grok Bot
Vibe coding · Beginner · 10 min setup
Preview card for Agents That Use a Computer
Prompt pack$29

Agents That Use a Computer: approval gates, guard rules and status signals for desktop, browser and device agents

by PaperChaseWebb

Runbooks for agents that drive real machines: sort every action from read to irreversible, write a one-screen runbook per surface, add a guard that fails closed, answer approval cards in seconds and see when an agent is waiting on you.

Works withClaude CodeCodexGrok BotCursorPlain .md
Solo business · Intermediate · 45 min setup
Preview card for Cross-Harness Relay
Bot template$39

Cross-Harness Relay: Grok Bot, Claude Code, Codex and Hermes on one job

by PaperChaseWebb

A bot template and teaching guide for running more than one agent harness on the same work. Six seat cards (front desk, planner, builder, reviewer, tester, night shift), a RELAY.md seat map, a relay packet for every handoff, four loop shapes, routine-or-judgment routing with a fallback when limits run tight, a preflight check, the front desk and night shift split with a proof footer, shared memory rules, eight relay drills, a rules block and 14 prompts.

Works withClaude CodeCodexGrok BotHermesPlain .md
Vibe coding · Intermediate · 1 hr 30 min setup
Preview card for Two-Agent Build and Test Loop for paid apps
Bot template$29

Two-Agent Build and Test Loop for paid apps: one agent builds, another tests, and nothing passes on its own say-so

by PaperChaseWebb

A tested setup for apps that take money: one agent writes the code, a separate tester session writes the stories and tests and gives the verdicts, a small runner records every red, green and revert exit code itself, and the owner says yes to the plan, any payment or pricing work, each merge and each release. Test keys and sandboxes only. A read-only check with fifteen tests audits the finished run.

Works withClaude CodeCodexGrok BotHermesPlain .md and three Python 3 scripts; any harness pair, test mode and sandboxes only
Vibe coding · Intermediate · 1 hr setup
Preview card for Agent Readiness Self-Check
Prompt packFree

Agent Readiness Self-Check: score one workflow before you hand it to an AI agent

by PaperChaseWebb

A free self-check for agencies and small businesses. Score one workflow across eight areas (workflow mapped, data access, approval gates, owner per agent, handoffs, cost tracking, security and vetting, measurement) with an evidence rule and three gate rules, read your band and what to do next, plus an interview prompt for Grok Bot, Claude Code, Codex or Hermes, a score sheet and a worked example.

Works withClaude CodeCodexClaudeGrok Bot+2Plain .md
Solo business · Beginner · 30 min setup
Preview card for Agent Control Room
Bot template$29

Agent Control Room: voice control for a dozen agents

by PaperChaseWebb

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.

Works withClaude CodeCodexGrok BotHermesA skill file for Claude Code, Codex and Hermes, an AGENTS.md snippet and a Grok Bot rules block, plus waiting hooks for Claude Code, Codex and Hermes; tested with sample hook payloads, a pty, a local server on 127.0.0.1 and real tmux, not loaded inside each harness, and the prompts were not run inside each harness
Vibe coding · Intermediate · 45 min setup