Build playbook · Adelaide Hills Pantry

How I built the
AHP agent system.

A build playbook. Ten steps, in the order they actually happened, including the mistake that cost the most and what it taught me.

The goal was never add AI. It was to give a founder a workforce she can run herself, safely, with no technical background.

The starting point

Adelaide Hills Pantry is a two-person regional media business: a founder who owns the voice, the relationships and every approval, and a virtual assistant who handles assembly work.

The founder was the integration between every tool. She read email, retyped into trackers, rebuilt the newsletter weekly and chased sponsor follow-ups from memory.

The goal was never "add AI." It was: give her a workforce she can run herself, safely, with no technical background, and without locking the business into any single vendor.

The ten steps
01

Map how the business actually operates, before building anything

The first artefact was not code. It was a process map of the whole operation, written with the founder: how the weekly newsletter gets made, how the events pipeline works, how partner sales run.

Every activity got one of three colours.

Automated

Runs on its own.

AI-assisted

An agent works, the founder briefs and steers.

Manual

A human by hand.

This map became the ground truth. Every later build decision traces back to it. The single most important finding: the founder was the throughput point for everything, so the system had to reduce what flowed through her, not add to it.

Rule this producedNever build an agent for a process you have not mapped first.
02

Decide where everything lives, and write the rule down

Agents live in the repo, state lives in Notion and Drive, and secrets live with the runtime. No agent keeps private state on one person's laptop.

In practice

  • One private GitHub repo holds every agent, workflow and spec. Version control is the memory and the audit trail.
  • Notion holds the operating databases: the CRM, the events approval queue, the sponsorship calendar, the deliverables tracker.
  • Google Drive holds assets: images, proposals, documents.
  • Secrets follow the runtime. GitHub repo secrets for scheduled workflows, a local environment file for supervised sessions, nothing ever committed. A password-manager vault holds the master copy of every key.
Why this order mattersEvery later capability, including letting a non-technical founder deploy changes, only works because this separation exists.
03

Build agents as folders, to one standard

Every agent, the same layout

CLAUDE.mdThe agent's job description and rules, in plain language.
README.mdFor humans.
inputs/Human-supplied material the AI never edits.
knowledge/Durable distilled facts.
context/Instructions and examples.
output/Dated job folders, append-only.
work/Scratch space.

Opening the folder in the development environment primes the agent. The person then works with it conversationally.

The standard also carries the hard rules every agent inherits: drafts only, never send; Australian English; the brand system for anything client-facing; one source-of-truth document that wins on any disputed fact; and provenance, meaning everything in an output traces to something in the inputs, no invented sources.

Build orderI started with the two agents carrying the most weekly weight, sponsorship and newsletter production, and only added more once those were earning their keep. The fleet grew to ten: sponsorship, fulfilment and newsletter, operations, bookkeeping, marketing execution, brand and strategy, business coaching, paid partner onboarding, the events pipeline runtime, and a Slack bot.
04

Connect the tools the business already uses

No tool migration. The agents connect to the systems the business already ran: Notion, Gmail, Google Drive and Sheets, Xero, Shopify, Slack, Beehiiv, Canva, using the Model Context Protocol.

Two deliberate choices

  • Connections attach to the surface, not the agent. Which agent can touch which service depends on which workspace is open. The bookkeeping agent has Xero; the newsletter agent does not.
  • Read widely, write narrowly. Agents read from everywhere they need. Writing to live shared systems always shows the change first.
05

Build the one fully automated machine: the events pipeline

Most of the fleet is supervised. One process justified full automation because it is high-volume and low-judgement: event listings. Five workflows on GitHub Actions form a production line.

  1. Scrape. Discover events from source sites into a Notion approval queue.
  2. Intake. Process paid and free event submissions into the same queue.
  3. Enrich. AI fills the gaps on each queued event.
  4. Image. Guarantee every event has hosted imagery.
  5. Publish. Push approved events to the Shopify website, report the result to Slack.
Scrape Intake Enrich Image Founder approves Publish
The human stays in the middleNothing publishes without the founder approving the queue. Each workflow only earns its schedule after repeated clean manual runs. Automation is granted on evidence, not assumed.
06

Add the scheduled layer, and make the mistake

Around twenty small scheduled scripts handle recurring checks: content reminders and ideas, partner hygiene and payment reconciliation, event staleness checks, finance reports. Each posts its result to Slack, so the humans see flags, not silence.

The mistake

For speed, these scripts were set up on an always-on local machine rather than in the repo. It worked, and that was the problem. Months later, a fifth of the operation was running production work that could not be versioned, reviewed or rolled back, and the machine pulling the main branch every few minutes meant any merge deployed instantly with no protection.

The lesson, now a ruleEverything starts life in the repo, even a five-line script. Convenience infrastructure in week one becomes governance debt by month three. The migration of those scripts into version control became a top-priority backlog item in the later review.
07

Design the human operating model

This is the step that makes the system usable by a non-technical founder, and it is the one most builds skip. Five rules, and nothing else to remember.

  1. New task, new window. One session does one job.
  2. Start every session with one line. Work: agent. task to use an agent, Build: agent. change to change one.
  3. Know the difference. Work produces things for customers and partners. Build changes how an agent behaves.
  4. Branches and pull requests are the AI's job. In a Build session, the AI branches, commits and opens the pull request. The founder's only job is to read it on GitHub and press merge. She controls every deployment without ever touching git.
  5. Mid-task ideas go to a backlog, not the current chat. "The agent should always do X" gets parked, then applied in a weekly batch as one reviewed change.
The fifth rule is the learning loopFeedback on a draft fixes the draft immediately. Feedback that sounds like a standing rule gets parked, and the same lesson parked twice is definitely a rule. This stops agents rewriting their own instructions unreviewed, because that change would deploy.
08

Write the governance so it survives without me

Four controls, all documented in the repo

  • Drafts only. No agent sends email or writes to live shared systems without showing the change first. The human owns the send button.
  • Merge is deploy. Nothing reaches production except through a pull request a human reviewed.
  • Secrets discipline. Keys never committed; anything ever pushed is treated as compromised, rotated first and scrubbed second.
  • Archive, never delete. A retired agent moves to an archive path with a one-line reason. History stays.
09

Review the fleet on evidence, not affection

Once the system had run for a while, I audited it: sixty days of git activity per agent, a folder audit against the standard, and overlap tests between agents with similar jobs. Every agent got one of four verdicts.

Keep

Earning its place.

Optimise

Works but wasteful.

Rewrite

Right job, wrong build.

Retire

Job gone.

Each verdict needing work became one backlog row. The review surfaced real findings: the most active folder in the repo was mislabelled and needed restructuring, the least-used agent went on a usage watch rather than being merged prematurely, and the unversioned scripts from step 6 were named the biggest governance gap.

Why this step mattersAn agent fleet without a retirement process only grows. The review is what keeps it a workforce instead of a museum.
10

Keep an honest list of what is unfinished

Open at the time of writing
  • The Slack trigger surface, which lets the founder fire agents from her phone, is built but not deployed.
  • The legacy scheduled scripts are still migrating into version control.
  • The pipeline schedules go live one at a time as each earns trust.

All three are on the prioritised backlog, in dependency order, with the blockers named.

A system that claims to be finished is a system nobody is reviewing.

The five lessons, if you keep nothing else
01

Map the process before building the agent.

02

Decide where agents, state and secrets live before writing anything, and make it one sentence everyone can repeat.

03

Supervise judgement work; automate only high-volume, low-judgement work, and make automation earn its schedule.

04

The operating model for the humans is the product. Five rules a non-technical founder can follow beat any amount of technical elegance.

05

Review the fleet on activity evidence, retire without sentiment, and keep the unfinished list public.