Build learnings

Anthropic's AI playbook graded our fleet. Four gaps to fix.

Anthropic's playbook has words for the gaps we had been stepping over. We scored our fleet stage by stage: two stages nailed, four gaps we are fixing this week, and a scorecard you can run on your own setup tonight.

By Robb Lejuwaan, Bluhook. Published September 3, 2026. Updated September 4, 2026. In the Build track.

Contents

TL;DR

Six stages: Plan, Design, Build, Test, Deploy, Maintain. We already run most of it, because the alternative kept breaking. The scorecard below leaves the gaps in, names the four things we are stealing, and ends with a one-page checklist you can score your own setup against.

The playbook is not "use a chatbot to write functions." It is a whole way of running the work: six stages, an agent doing the building, and humans stepping in at a handful of gates instead of at every line.

Here is what we found, what we are stealing from it, and the parts we are leaving on the shelf.

The idea in one paragraph

The playbook's core claim is that code is no longer the bottleneck. The agent can write the code. What slows everything down now is the process around it: figuring out what to build, keeping context, catching mistakes, shipping without breaking things.

So you fix the process. Six stages: Plan, Design, Build, Test, Deploy, Maintain. Each stage produces one artifact, and every artifact gets committed to git so the next stage can read it. An intent file becomes a spec, becomes a plan, becomes a pull request, becomes an incident record that turns back into a new intent. The loop closes.

And the rules that keep the agent in line are code, not vibes. Skills advise it. Hooks block it. Permissions deny it. Evals test its own configuration the way unit tests check a function. Humans sit at the gates, approve the artifacts, and stay out of the rest.

That is the whole thing. Now here is us.

What we run

We are a five-desk agent fleet. One person, Robb, runs it. One engineering desk owns the gates and the plumbing. The other desks do the work: a marketing site, a spirits brand, a payments client, an iOS app.

We did not build it from Anthropic's playbook. We built it over months, hitting walls and bolting on a fix each time we got burned. So reading the playbook was strange. It kept describing things we already had, in words we never used.

Here is the scorecard, gaps and all.

PlanWhat we run:An interview that produces the intent: who asked, the problem, the outcome, the constraints. Robb brings a fuzzy ask, the desk asks three or four questions each with a recommendation, and hands back a short spec he approves in one line.The gap:That spec lives in a chat window, not a file. The next session cannot read it. We have 86 plan documents and 2 intent files. That is backwards.
DesignWhat we run:The brand and compliance rules exist, more than 180 skills on the shelf.The gap:We jump straight from chat to plan. The skills get used, just not as a required step that leaves a reviewable file behind.
BuildWhat we run:86 plan docs. A one-page instruction file per desk. Every job an AI runs works on its own private copy of the code, so one job cannot step on another's. Spec-tight code goes to a separate coding lane so it does not eat the main budget.The gap:Our plans are free-form, and most of them skip the "how will we prove this worked" section.
Test + DeployWhat we run:Every pull request gets reviewed by a second AI before it can merge, and a blocking finding stops it cold. Production is gated behind a staging step. Sensitive changes need a person to type an explicit yes before they go live.The gap:Our review policy lives inside the tooling, not in a file a person can read. And we have no eval suite yet for changes to the agent's own configuration.
MaintainWhat we run:Four scanners watch for problems and file tickets. A new tool now closes resolved findings on its own; it closed its first ticket with no human at 08:20 one morning, and our open-ticket count dropped from 17 to 9 in a day.The gap:Our scanners file tickets, not intents. A ticket says "this is broken." An intent says "here is the problem, here is the likely fix, here is who owns it." The playbook wants the second one, and it is right.

The two stages we had nailed before we read it

Build and Deploy are where the playbook described us most closely, and it is worth saying how, because it is the part most people running AI skip.

On Build: every job an agent does runs in its own isolated copy of the code. It cannot see or step on another job's work. When the job is done, its changes come back as one reviewable bundle, not a pile of edits smeared across a live folder. And the token-heavy grunt work goes to a cheaper, separate AI so it never eats the budget the judgment work runs on. That is not something we read in a playbook. It is something we learned the week two agents edited the same file at the same time and quietly overwrote each other.

On Deploy, the rule is simple and it is enforced by code, not by anyone remembering it: the AI that wrote the work does not get to approve it. Every change is checked by a different AI before it can ship, and a blocking finding stops it cold. Below is what that looks like the moment an agent tries to push work it reviewed itself.

A terminal showing a push being blocked because the code has no independent review verdict
The writer does not approve its own work. The push is refused until a different model signs off. This is a gate, not a suggestion.

The number that made the point

One change this week took nine rounds of AI review and three rounds of fixes before it was safe to ship. That sounds slow. It is the safety net doing its job. The change was a guard to stop a desk from editing the shared runtime and jamming everyone's deploys.

Here is what that failure looked like the day it bit us: the live system had been hand-edited on the machine, it no longer matched the code in git, and every deploy for every desk was frozen until someone reconciled the two.

A terminal showing every deploy blocked because the live runtime drifted from git
One hand-edit. Every deploy frozen until someone reconciled it.

Nine rounds to land the guard against that happening again. That is not a story about a hard bug. It is the playbook's "rework cycles per change" metric showing up in our own logs, unprompted, and it points straight at the fix. We do not need more pattern-matching rules bolted on. We need evals that test the agent's own configuration, so a change to how the agents behave either passes the behavior test or it does not, and we stop discovering the regression on round nine.

A rule and a test are not the same thing. A rule says "do not edit the shared runtime." A test says "prove that a desk trying to edit the shared runtime gets stopped," and it fails loudly the day the rule quietly breaks. We have the rules. We do not yet have the tests. The playbook is right that we should.

The tool that closed its own ticket

The Maintain stage is where the loop is supposed to close: the system notices its own problems, files them, and where it safely can, fixes them without a human in the middle.

We are partway there. Four scanners watch the fleet and file tickets when something looks wrong: a broken login token, a dead integration, a page that stopped loading. That part has run for a while. What is new this week is a tool that reads the tickets back and closes the ones that are already resolved, on its own. It closed its first ticket with no human involved at 08:20 one morning. Over that day, our open-ticket count dropped from 17 to 9, and not one of those closes needed a person to confirm the thing was actually fixed, because the tool checked.

Here is the gap the playbook made us see. Our scanners file tickets, and a ticket is a to-do list. It says "this is broken." The playbook wants the last stage to produce an intent instead: "here is the problem, here is the likely fix, here is who owns it," written as the same kind of file the whole loop started with. That is the difference between a fleet that logs its problems and one that turns each problem back into work it can pick up itself.

A ticket ends in a list. An intent starts the loop over.

What we are stealing

Four things, in order.

  • Commit the intent. The interview already writes the content; now we write it to a file in the repo before the plan starts, and the plan has to name its intent. Cheapest change, biggest payoff: the next session reads a file instead of losing the thread.
  • Evals on our own config. A test job that runs whenever we change how the agents behave. Twenty prompts with expected answers: does the reply lead with a summary, does it ask one question at a time, does it refuse to claim done without proof.
  • A plan that has to show its proof. A check that refuses a plan with no "how we will prove it" section. Then we measure the drift: files the plan named versus files that actually changed.
  • Incidents that become intents. Group the scanner findings by root cause, run a read-only diagnosis, and write an incident up as a problem with a proposed fix and an owner. One ticket that links it, not ten that bury it.

What we are skipping

We are not adding a full spec stage to every task. Our plans already carry the design; a separate spec pass makes sense for customer builds, and it can be a skill the plan calls when it needs one.

We are not writing a separate review-policy document. The gate already is the policy. Document it, do not clone it.

And we are not touching the human gates. Robb approves the intent and Robb approves what ships to production. The whole point of the machine is to earn that approval faster, not to remove the person giving it.

Grade your own setup

You do not need a five-desk fleet to use this. If you run any part of your business with AI, the same six stages apply, and the same gaps are the ones that hurt.

We turned the scorecard into a one-page checklist you can run tonight. Score each stage 0, 1, or 2: zero if you do not do it, one if you do it but it lives in someone's head or a chat window, two if it leaves a file behind that the next session can read. The total does not matter. The empty boxes are the whole point, because they are the gaps you have been stepping over without a word for them.

Three things we would bet on before you even fill it in. Your cheapest win is in Plan: write down what you asked for before you ask for it, in a file, not a chat. Your most expensive open gap is in Test, because if the AI that writes the work also approves it, you ship its mistakes at the speed it makes them. And the gap you have almost certainly forgotten is in Maintain: something should be watching for problems without you asking.

Grade your own AI setup. Paste it in and score each of the six stages 0, 1, or 2. The total is not the point. The empty boxes are, and they tell you which stage to fix first.

Your scorecard prompt
You are a Claude Code agent. Score this scorecard for the project you are working in, using what you can actually read in the repository rather than what I tell you. Where you cannot verify a stage, mark it UNVERIFIED instead of guessing.

# Grade your own AI setup

A one-page scorecard for anyone using AI agents to build or run a business. It maps
to the six stages in Anthropic's AI-Native SDLC playbook. Score each stage 0, 1, or
2. Add it up. The number does not matter; the empty boxes do.

- 0 = we do not do this
- 1 = we do it, but it lives in someone's head or a chat window
- 2 = it leaves a file behind that the next person or the next AI session can read

---

## Plan

- [ ] Every task starts from a written statement of who asked, the problem, the
      wanted outcome, and the constraints.
- [ ] That statement is saved somewhere a future session can read it, not just
      spoken once in a chat.

Score: ___ / 2

## Design

- [ ] Before building, the AI is handed the rules it must follow: your voice, your
      brand, what you never say, any compliance line.
- [ ] Those rules are a required step, not a thing you remember to paste in when
      you think of it.

Score: ___ / 2

## Build

- [ ] The AI works from a plan, not a vibe.
- [ ] The plan says how you will prove the work actually worked before you trust it.

Score: ___ / 2

## Test

- [ ] Something other than the AI that wrote the work checks the work: a test, a
      second AI, or a person.
- [ ] A failed check actually stops the work from shipping. It is a gate, not a
      suggestion.

Score: ___ / 2

## Deploy

- [ ] Nothing reaches your customers without a preview step you can look at first.
- [ ] The risky changes (money, customer data, anything you cannot undo) need a
      human to sign off.

Score: ___ / 2

## Maintain

- [ ] Something watches for problems and writes them down without you asking.
- [ ] When it finds one, it records the likely fix and who owns it, not just "this
      is broken."

Score: ___ / 2

---

## How to read your score

Do not chase a perfect 12. Look at the zeros and ones.

- The cheapest win is almost always in **Plan**: write the intent to a file before
  you start. One paragraph. The next session reads it instead of losing the thread.
- The most expensive gap to leave open is in **Test and Deploy**: if the AI that
  writes the work also approves it, you will ship its mistakes at the speed it makes
  them.
- The gap most people forget is in **Maintain**: a tool that files "this is broken"
  is a to-do list. A tool that files "here is the problem, the likely fix, and the
  owner" is the start of the thing fixing itself.

Made by Bluhook. We build and run AI systems for businesses, and we tell you what we
learn while we do it. bluhook.com/learn

Prefer the file? Download the markdown version

The takeaway

The useful thing about grading yourself against someone else's framework is not the score. It is that the framework has words for the gaps you have been stepping over.

We did not need Anthropic's vocabulary to build a fleet that plans, reviews, gates, and heals itself. We grew into most of it because the alternative kept breaking. But the playbook named the four things we were missing, and now they are on the list. Worth more than a passing grade.

The lesson underneath all of it is the same one we keep landing on. The thing that separates AI that wastes your time from AI that runs part of your business is not how smart the model is. It is the process around it: does the intent survive to the next session, does something other than the AI check the AI, does a problem turn back into work the system can pick up itself. Anthropic wrote that down as six stages. We had learned it the expensive way, one broken deploy at a time.

We build these systems for a living, and we tell you what we learn while we build them. This is one of those. If your own scorecard has more than a couple of empty boxes, that is the conversation we have with clients: tell us what you are building and we will tell you where the gaps are.

About the author

Robb Lejuwaan

Robb Lejuwaan

Robb founded Bluhook and sets the standard for everything it ships. He spent two years experimenting with AI, then went all in on agentic systems for business. Everything here is written from that work: the experiments, the mistakes, and the few things that held up.

The team is Robb plus a fleet of AI agents, each with one job, supervised by a general-manager agent. The fleet builds this site, writes the first drafts, and runs the operation; Robb decides what is good enough to ship. He writes these notes in the open for small business owners and other builders.

Want a system like this running in your business? Tell us the job and we will tell you straight whether AI can do it.