The method

The Playbook

How I work with AI agents, and how that changed from the first project to now. Each habit below links to a project where it shows up.

How it grew

  1. April

    Home Manager, CityBrew

    Plan first with a structured method, then let an autonomous loop build story by story. Evenings went to testing by hand.

  2. July

    CityBrew, the Mac apps

    Cost becomes part of the design. Fixes for bugs that should not come back get written into each repo's instructions for later sessions.

  3. August

    Reviresco

    State lives in the repo: a STATE file every session reads first and updates last. Guardrails move out of prompts and into code.

  4. August to now

    SignalWall

    Decisions recorded with how to reverse them, work orders sized for one focused session, and orchestrating agents that run builders in parallel, each owning its own files.

The habits, with the evidence

  1. 01

    Enforce rules in code, not only in prompts

    • CityBrew

      Kill switches that default to paused, and a hard failure instead of ever emailing an empty digest.

      Source: .github/workflows/weekly-digest.yml

    • Reviresco

      Concepts are screened twice for trademark risk: once by the model, then by a denylist in code. Killed ideas are kept with the reason, never dropped.

      Source: revirescosupplyco src/lib/screening.ts

    • 3D printing

      After three jams, Claude read the printer's own logs and found the signal: a steady 15% drop in heater power at the same temperature means plastic has stopped flowing. A watcher script checks for it, and every print file must pass a preflight check first.

      Source: 3D Printing project notes, jam investigation, October 2

    • Side quests

      Twenty tools for an AI agent to manage a fantasy team. Every write plans, refuses if blocked, runs dry by default, executes once on confirm, verifies, and logs exactly one audit row.

      Source: ClaudeCode sleeper-agent/README.md

    • SignalWall

      Every release checks itself in its own environment, then must prove it is healthy after restart or it flips back.

      Source: docs/SPEC.md, Auto-update

  2. 02

    I make the judgment calls

    • Reviresco

      The cinema went from design boards to working pages in about fifteen minutes, then gained Wallet tickets and a seat picker.

      Source: goreviresco cinema, 2026-09-10

    • Three small Mac apps

      The fan icon shipped spinning at 30 frames a second in code and once a second on screen. The fix handed the spin to the system compositor.

      Source: BetterBattery ca02323

    • 3D printing

      The first replacement was my idea: drop the rod into a cradle and hold it with a magnet. It didn't work, so I scrapped it and asked for a snap claw like the stock one, only stronger. That's the clip in the deep dive.

      Source: Printer setup chat, September 30 and October 1

  3. 03

    Write the spec before the code

    • Home Manager

      Product brief, requirements, architecture and UX design, each built step by step with a planning method for AI agents, all on the first day.

      Source: home-manager-app _bmad-output/planning-artifacts

    • SignalWall

      No canvas size is hardcoded: every golden frame renders at 128 and 192 dots wide.

      Source: CLAUDE.md, Non-negotiables

  4. 04

    Automate manual steps

    • Three small Mac apps

      An in-place updater that installs whatever app the release contains, so renaming the app could not break it.

      Source: BetterBattery Sources, UpdateChecker.swift

  5. 05

    Break work into session-sized tasks

    • CityBrew

      An autonomous build loop shipped five epics of stories in about 80 minutes; the evening went to human testing and fixes.

      Source: CityBrew history, 2026-04-28, 13:05 to 14:24

  6. 06

    Design for cost

    • CityBrew

      A cost briefing found most of the spend was web search during a daily scrape and a server running all day to fire a timer. The redesign made it one short weekly run.

      Source: docs/COST-AND-ARCHITECTURE-BRIEFING.md

  7. 07

    Keep project state in the repo

    • Three small Mac apps

      Rules that came out of bugs, like never animating with a timeline view in a menu bar panel, are written into each repo's instructions so the next session starts knowing them.

      Source: BetterBattery, DayDial, NetPulse CLAUDE.md

  8. 08

    Record decisions and how to reverse them

    • SignalWall

      45 architecture decisions on record, each with an escape hatch. A decision changes only by a new entry that supersedes it.

      Source: SignalWall docs/DECISIONS.md

  9. 09

    Retire a build when something simpler works

    • CityBrew

      Retired once a Claude scheduled task and a skill could do the same weekly job with no servers, no database and no deploys.

      Source: Owner, Workshop kickoff, 2026-10-06

  10. 10

    Run agents in parallel on separate files

    • SignalWall

      Orchestrating agents ran builders in separate worktrees, each owning its own files, working through work orders sized for one focused session.

      Source: SignalWall STATE.md; docs/build/S8.md

  11. 11

    Test against recorded API responses

    • SignalWall

      Every data source is tested against a recorded real response. No test ever calls the live service, and no API shape is written from memory.

      Source: SignalWall docs/CONVENTIONS.md, Tests

Printing this page gives a clean handout of the habits and their evidence.