08.02How-to guide
How to build your own AI CEO agent: planning reviews, memory and a person in charge
AR Labs' guide to building an AI CEO agent that runs your planning reviews, records decisions and keeps priorities honest, while you decide.
Steps
- Start with the minimum version
- Step 1: Decide what the agent is for and what it may never decide
- Step 2: Write down what it must read every time
- Step 3: Choose your reviews and their rhythm
- Step 4: Give each review a written procedure with checkpoints
- Step 5: Define what each review hands to the next
- Step 6: Separate the stores and give each one writer
- Step 7: Make it start from files, in a fixed order
- Step 8: Keep it out of the work
- Step 9: Run the first reviews by hand and fix what breaks
- Step 10: Only then consider running it on a schedule
- What it costs to run and keep
- Want the blueprints?
Before you start
- Steps
- 10
- Reading time
- 12 min
- Checklist items
- 30
The printed copy keeps the steps and checklists and leaves out the rest of the site.
This guide from AR Labs sets out how to build an AI CEO agent: an AI agent that holds the strategic thread of a small business, runs its planning reviews, remembers what was decided and keeps the week's priorities tied to the year's goals. An AI agent is a language model run in a loop with tools, so it can act, not only reply. Despite the name, the agent does not run the business. It prepares, records and passes direction down; the person running the business makes every strategic decision.
The guide is for two readers. The first is a founder or owner of a small firm, working alone or with a small team, who wants help keeping priorities honest from one week to the next. The second is the technically able person who would build it for them. Each step draws on our own strategy agent, which is the lab's own: it was built for, and is used by, one person running the lab, and we have not built one for a client. Internally we call it the CEO agent, after the seat it fills; the general components every agent needs are in how to build an AI agent, and this guide does not repeat them.
Start with the minimum version
Most of what follows can wait. The smallest version worth running is a handful of short files and one review a week. A review here is a recurring planning session the agent runs with you; we call each kind of review a cadence.
| Piece | What it holds | Who writes it |
|---|---|---|
| Vision | One page: where the business is going and what it will not do | You |
| Quarter's goals | Three objectives or fewer, each with a yes-or-no test | You, from the agent's draft |
| Weekly review procedure | The steps of the review, with a stop for your answer after each part | You, revised whenever a review goes wrong |
| Weekly log | Each week's priorities, appended and never rewritten | The agent, after you approve |
| Decision log | Dated decisions in your own words | The agent records; you decide |
| State file | The date each review last ran | The agent |
Run several weekly reviews against those files before adding anything. Everything in the steps below either makes that loop more reliable or adds a longer view above it.
Step 1: Decide what the agent is for and what it may never decide
What to do. Write the agent's role as a short list of functions, then write where its authority stops. Ours has four functions: setting direction (turning the long-range vision into objectives for the year and quarter, a theme for the month and priorities for the week); allocating attention between areas of work; watching progress and flagging risks early; and coordinating the reviews and the requests filed to it.
Why. "Help me with strategy" gives an agent no place to stop. A list of functions says what it does; an authority line says what it must hand back to you.
How we did it. We placed the agent on a five-level delegation scale, which runs from "do exactly as instructed", through "recommend and wait for approval" and "decide, then inform", to "act independently". It settles routine prioritisation itself. On strategy, on a large shift of time between areas of work, and on anything that would reverse one of the person's decisions, it recommends and waits.
The mistake to avoid. Letting the agent record a decision that was not yours to delegate. A well-argued recommendation written into the decision log as settled is still the agent deciding.
- Four or five functions written down
- An authority line: what it decides, what it recommends, what it never touches
- Strategy listed as the person's, by name
Step 2: Write down what it must read every time
What to do. Put the foundation in short plain-text files: the vision, the goals for the current period and the current plan. Keep each to a page where you can.
Why. A language model starts every session with an empty memory, so whatever it should know about your business must be in front of it again each time. Short, current files are misread least.
How we did it. Our agent loads its role, the strategic foundation and its state files at the start of every session, before it does anything else. The files are under version control, so every change to them has a date and a reason.
The mistake to avoid. Writing a long strategy document that mixes the vision, this quarter's plan and last month's notes. The agent cannot tell which parts still hold.
- Vision, goals and current plan in separate short files
- Each file states current truth; history kept elsewhere
- The files kept where the agent can read them and where changes are recorded
Step 3: Choose your reviews and their rhythm
What to do. Decide which reviews you will hold. Start with weekly and monthly. Add quarterly when the monthly review is routine, and yearly when the quarterly one is.
Why. Each longer review sets the frame for the shorter ones inside it. A weekly review with no monthly goal above it has nothing to plan against; a yearly review nobody follows up becomes a document.
How we did it. We run five cadences, yearly to daily, as a state machine: the agent is always in exactly one review, and a small state file records when each last ran. The weekly, monthly and quarterly reviews are in regular use and the yearly review has run. The daily review has a written procedure but has not become a habit. A review that comes round every day competes with the day's work, and missing one costs nothing anyone notices at once.
The mistake to avoid. Starting with all five. Each review needs its own procedure and its own habit, and the daily one is the hardest to keep.
- Weekly and monthly reviews chosen; longer ones deferred
- A rule for which review runs first when several are due
- A state file with the last-run date of each review
Step 4: Give each review a written procedure with checkpoints
What to do. Write each review as a procedure: what to read, then phases, each ending at a checkpoint where the agent stops and asks you one question. Outputs are written only after you answer.
Why. Without written stops, an agent works through every phase on its own and hands you a finished report. The review becomes something you read rather than something you decide.
How we did it. Our weekly review has two parts. The first scores each monthly goal against its test, compares where time went with the plan, and picks one main issue; the second proposes each area's focus and share of the week. Each phase's results are saved before the next begins, so an interrupted review loses nothing already agreed.
The mistake to avoid. One approval at the end of the whole review. By then the decisions are made and you are proofreading them.
- One procedure file per review
- A checkpoint after every phase, with one question
- Each phase saved before the next starts
Step 5: Define what each review hands to the next
What to do. Treat each hand-over between reviews as a contract: what the review reads, what it decides with you, what it writes, and what it hands down. Three rules hold it together: read only from the review directly above; write only your own outputs; propose a change one level up, for the person to approve.
Why. Without contracts, the weekly review reaches past the month to the year's goals, or edits an objective because one week went badly, and the levels stop agreeing.
How we did it. Our weekly review reads the monthly goals file, never the quarter's objectives, because the month has already refined them. When a weekly finding means a monthly goal no longer fits, the agent proposes the change, the person approves it, and the record says what triggered it. An approved change of direction also carries a checklist of every downstream document it touches, tracked until each one is updated; a decision recorded only at the top never reaches the pages people see.
The mistake to avoid. Rewriting goals in place. Mark an achieved goal done with its date, and add the next one below it, so the record shows what changed.
- For each review: reads, decides, writes, hands down
- Changes go one level up, as proposals
- Each approved change lists the documents it must reach
Step 6: Separate the stores and give each one writer
What to do. Keep the agent's records in separate files by writer. At least: a strategic state the agent writes (current theme, priorities, decisions, risks); an operational state the work writes (each area's focus, blockers and results); a state file recording which review ran when; and a dated, append-only memory log of decisions and lessons.
Why. Two writers on one file produce contradictions nobody notices until a decision rests on one of them.
How we did it. Every store in our design has exactly one writer. The agent reads what areas of work report and writes only its own stores; the plan documents each belong to the review that produces them. A state file can be as small as this:
current_review: weekly # placeholder values
current_phase: planning
last_yearly: YYYY-MM-DD
last_quarterly: YYYY-MM-DD
last_monthly: YYYY-MM-DD
last_weekly: YYYY-MM-DD
pending_flags: []The mistake to avoid. One big "notes" file the agent rewrites each session. It loses history, and nobody can tell which line is current.
- Strategic state, operational state, state file and memory log as separate files
- One writer named for each
- The memory log appended to, never edited
Step 7: Make it start from files, in a fixed order
What to do. Write the order in which the agent loads its files at the start of every session, and make it follow that order before doing anything else.
Why. If a session can be cleared or compressed mid-review without losing anything, you can stop and resume freely. That only holds when everything it needs is in files and reloaded the same way each time.
How we did it. Our agent loads today's date first, because every due date depends on it; then its role, the strategic foundation, the state files and the most recent entries of its memory log. Only then does it load the procedure for the review that is due, and only that one.
The mistake to avoid. Letting the agent load everything it might need. A context window full of every procedure and every past log leaves little room for the decision in front of it.
- A written boot order, date first
- Only the due review's procedure loaded
- A resume test: clear a session mid-review and continue from the files
Step 8: Keep it out of the work
What to do. Give the agent direction, not execution. It reads totals and blockers; it does not manage tasks or do the work itself.
Why. Task detail fills the agent's context and goes stale within days, and an agent that starts doing the work collides with whoever is already doing it.
How we did it. When the person names a piece of work during a review, our agent records it as that area's focus and stops; the work runs in a separate session with a fresh context. Tasks stay in the task tracker, which the agent reads for totals, readiness and what blocks what. Requests for a decision arrive as a written escalation.
The mistake to avoid. Asking the strategy agent to "just quickly" draft the proposal it has prioritised. That turns a planning session into a work session and leaves its record half-written.
- The agent reads aggregates, not individual tasks
- Work it names is handed to a separate session
- Decisions asked of it arrive as written requests
Step 9: Run the first reviews by hand and fix what breaks
What to do. Start every review yourself, read every output, and when something goes wrong, change the procedure, not just the answer.
Why. A planning agent fails in recognisable ways, and each failure you catch early becomes a rule that stops it next time.
How we did it. We keep a named catalogue of failure modes (listed on the method page). Three to watch for first: deciding from the most recent document instead of the authoritative one above it; grading progress by an easy number that measures something else, such as a task count that rises as scope grows; and the review nobody answered, where the agent produced a full report without stopping. Each became a written step: load the authoritative document before a strategic call, report several counts side by side, stop at every checkpoint.
The mistake to avoid. Fixing the output and moving on. If the procedure is unchanged, the same failure comes back.
- Every output read by the person
- Each failure named and turned into a procedure change
- The goal tests checked for whether they measure the goal
Step 10: Only then consider running it on a schedule
What to do. Keep the agent as something you start until the reviews are reliable by hand. If you then want it to remind you or prepare a review on its own, test delivery first and cap what it may spend.
Why. An unattended agent fails quietly, and a reminder that never arrives looks exactly like a quiet week.
How we did it. We once ran the agent as an always-on process on a server that woke it every half hour and passed each result through a filter for routine messages. Reminders about an overdue review are repetitive by nature: 47 of 48 wake-ups were classed as routine, and almost none reached the person. We paused it. Before it runs again it needs scheduled delivery instead of constant polling, a delivery path tested end to end, and a daily limit on model use.
The mistake to avoid. Treating a running service as proof that messages arrive. Test the round trip to a person.
- Reviews reliable when started by hand
- Delivery to the person tested end to end
- A daily cap on model use before anything runs unattended
What it costs to run and keep
The costs are in kind. Each review spends model use, because the agent rereads its files every time; a long review spends more and is worth splitting into parts. Each checkpoint asks for the person's attention, which is the point of it. And the system needs upkeep: procedures change when a failure appears, the foundation files need correcting when the business changes, and the areas of work must keep reporting, or the agent plans against a picture that has gone stale. A strategy agent supports a person's judgement; it does not supply it.
Want the blueprints?
We are considering publishing the blueprints for the agent this guide describes: the role and authority templates, a procedure for each review, the formats of the state and memory files, and a build brief a coding agent can follow. They are not published yet. If you would use them, get in touch, mention "CEO agent blueprints", and say what you would build with them; if enough people ask, we will produce them. The same route works if you would rather have one built for you.
Referenced by 05
- ProjectsAI agents at AR Labs: the agents we run and what each doeslists this as related
- ProjectsAI strategy agent: planning reviews from the year down to the daylinks here in its text
- SkillsStrategy agent skills: planning cadences and escalationlists this as related
- OperationsStrategy agent planning cadenceslists this as related
- GuidesHow to build an AI agent: the components and the processlists this as related