GUIDE 01
Build software with
an AI coding agent.
A step-by-step method for taking an idea to working software with an AI coding agent, without losing track of what is being built. Most of the steps happen before any code is written, because that is where the cheap mistakes live. Every step has a prompt you can copy.
What you need.
- Claude Code installed, or another coding agent that can read and write files in a folder. The prompts below are written for Claude Code.
- A new, empty folder for the project with a
docsubfolder and adoc/ticketssubfolder inside it. - The four open skill packs the prompts refer to: Superpowers, Matt Pocock’s skills, Agency Agents, and Anthropic’s Knowledge Work plugins. Each has install instructions in its README. You can run the method without them; the prompts then lean on the agent’s own judgment instead of a named skill.
- A git repository in the folder (
git init), so every ticket can be committed on its own.
Write the idea down, in plain language
Create a file called doc/idea-v0.md and write what you want to build as if you were explaining it to a capable friend. What it is, who it is for, why it should exist, what a good result looks like, and anything it must never do. A few paragraphs is enough.
Do not describe how it should be built, and do not ask for any code yet. The purpose of this file is to record the intent and the reason behind it, so every later step has something to refer back to.
TIPWrite the parts you are unsure about as open questions inside the file. They become the first things the agent asks you about in the next step.
doc/idea-v0.mdwith the idea, the audience, the reason, and a description of a good result.
Clarify until nothing is ambiguous
Open the agent in the project folder and give it the prompt below. It will restate the goal, list what it is assuming and what it does not know, and ask you questions. Answer every one. “I don’t know yet” is a fine answer; it gets recorded as an open decision rather than guessed.
This step is allowed to take time. Most projects that go wrong go wrong here, long before any code exists, and a question answered now costs a sentence rather than a rebuild.
Here's a rough idea in the file doc/idea-v0.md. Restate the goal, list the assumptions and unknowns, and don't write any code yet. Ask me any clarifying questions you need until the goal and constraints are unambiguous before you summarize. The goal is to have a clear and unambiguous understanding of the idea and its requirements before starting to write code. Put all decisions in the file doc/idea-v1-decisions.md and put the result in the file doc/idea-v1.md
doc/idea-v1.md, the idea with every ambiguity resolved.doc/idea-v1-decisions.md, the start of a running decisions file. Every later prompt adds to it.
Brainstorm the approaches
Where there is more than one sensible way to build something, you want to see the options before one gets chosen for you. This prompt asks the agent to propose several approaches with trade-offs: simple or flexible, connect to an existing system or replace it, a person approves every action or only the exceptions.
Read the options, push back, and pick one on purpose. Note which one you chose; the next prompt refers to it by name.
Use the Superpowers brainstorming skill on the created file doc/idea-v1.md. Propose several approaches. Ask clarifying questions about the setup, functionality, design and constraints before proposing options if anything is unclear. Put the results in the file doc/idea-v1-brainstorming.md Add all decisions to the file doc/idea-v1-decisions.md
doc/idea-v1-brainstorming.mdwith several approaches and their trade-offs.- A chosen approach, written into the decisions file.
Turn it into a spec you can read
The chosen approach becomes a specification: what it does, what it deliberately does not do, what data it uses and who owns it, the interfaces it exposes, and the acceptance criteria that will decide whether it works.
Replace “strategy A” in the prompt with the approach you picked. When the spec comes back, read the acceptance criteria out loud. If you cannot tell whether one has been met, ask for it to be rewritten until you can.
Use the Matt Skills to-spec skill to turn the doc/idea-v1.md plus the doc/idea-v1-brainstorming.md and doc/idea-v1-decisions.md into a spec for the idea: goal, scope, non-goals, exposed endpoints, data and acceptance criteria. Ask clarifying questions and don't finalize the spec until any ambiguities are resolved. Put the result in the file doc/idea-v1-spec.md Add all decisions to the file doc/idea-v1-decisions.md Follow recommended strategy A from the brainstorming document.
doc/idea-v1-spec.mdwith goal, scope, non-goals, data, and acceptance criteria you have signed off.
Split the spec into tickets
A spec is too big to build in one go. This prompt breaks it into small, ordered tickets that can each be built, tested, and committed on their own, with dependencies and acceptance criteria per ticket. Each ticket becomes a file in doc/tickets, numbered so the order is obvious.
Skim the list. The first ticket should set up the project and prove the test setup works. If a ticket looks like it would take days, ask for it to be split.
Use the Matt Skills to-tickets skill to break the doc/idea-v1-spec.md into small, independently shippable tickets with dependencies and acceptance criteria, ordered so each can be built, tested, and merged on its own. Ask clarifying questions about scope or dependencies before finalizing the breakdown. Store all tickets as a markdown file in the ./doc/tickets folder, with a name that starts with the ticket number and a dash, followed by a short description of the ticket. For example, 001-setup-project.md. Put the result in the ./doc/tickets folder. Add all decisions to the file doc/idea-v1-decisions.md
- A numbered set of ticket files in
doc/tickets, each with its own acceptance criteria.
Review it from several angles before building
Before any code, have the spec and tickets reviewed by specialist personas: an architect for how the pieces fit, a security engineer for access and data, and a product manager for whether this is what you actually asked for. Each returns concerns and recommendations.
Fold the ones you agree with back into the spec and tickets, and say so in the decisions file. After a big change, run the review again. A mistake caught here costs a conversation.
Review the doc/idea-v1-spec.md and the tickets in the ./doc/tickets folder with the Agency Agents backend-architect, security-engineer, and product-manager. Have each agent ask clarifying questions where context is missing before giving their concerns. Return each agent's concerns and recommendations so I can fold them back into the spec and tickets. Write the concerns and recommendations in the file doc/idea-v1-spec-review.md Add all decisions to the file doc/idea-v1-decisions.md
TIPIf you want your own thinking challenged as well, ask for the grill-me skill on the spec first: it probes edge cases, failure modes, and what would have to be true for the plan to work.
doc/idea-v1-spec-review.md, and a spec and tickets updated to answer it.
Build one ticket at a time
Now the code. The prompt tells the agent to work through the tickets in order, ask when something is unclear, run a code review after each ticket, and commit after each reviewed ticket. Tests are written first and the code is written to pass them.
After each ticket, look at what changed and, where you can, open the thing and use it. If the agent stops partway through the list, tell it to continue with the remaining tickets; that is normal on a long build.
Now that the spec and tickets are finalized, start implementing the idea according to the tickets in the ./doc/tickets folder. The goal is to have a working first version of the idea that can be tested. Ask clarifying questions if anything is unclear and add the decisions to the file doc/idea-v1-decisions.md After each ticket run the skill code-review-expert Commit the code to the main branch after each ticket is completed and reviewed.
TIPWhen something breaks and the cause is not obvious, ask for the Superpowers debugging skill on it. It reproduces the failure and finds the root cause rather than patching the symptom.
- A working first version, with one commit per reviewed ticket.
- A decisions file that explains every non-obvious choice made along the way.
Verify before calling it done
Passing a code review is not the same as meeting the acceptance criteria. This prompt runs the full test suite, exercises the real end-to-end flows, and checks every acceptance criterion from the spec against evidence. Do not skip it because the build “looks fine”.
Use the Superpowers verification-before-completion skill on the idea. Run the full test suite, exercise the end-to-end flows, confirm no data loss on migration, and verify every acceptance criterion before calling it done.
- Every acceptance criterion checked, with the evidence in front of you.
Ship it, then fold the decisions back in
Release the first version, ideally to a small group first, and watch what happens. Then do the thing that makes the next build faster: rewrite the idea file with every decision folded in, as doc/idea-v2.md. The answers arrive with the questions next time instead of being rediscovered.
When you have new ideas for version two, start this guide again from step two, with idea-v2.md as the input.
Help me ship the idea: draft the phased rollout plan (a small group of users first, then everyone), list what to watch after release, and outline any cleanup to do once it is stable. Then rewrite doc/idea-v1.md as doc/idea-v2.md with every decision from doc/idea-v1-decisions.md folded into it, so the next version can start from the answers. Ask clarifying questions about the environment and rollout constraints before drafting the plan.
- A released first version and a rollout plan.
doc/idea-v2.md: the brief to start from next time.
Where this comes from.
The method and the prompts in steps two through eight come from Edwin Vermeer’s CodingAgentOrchestration tutorial, published under the MIT license. He used it to build Quadrim, an open-source game whose repository includes every prompt and a decisions log of several hundred entries, and which is the best worked example to read alongside this guide.
The skill packs the prompts call on are Superpowers (Jesse Vincent), Matt Pocock’s skills for real engineers, Agency Agents (Michael Sitarzewski), and Anthropic’s Knowledge Work plugins. The “you should now have” checklists, the step-nine prompt, and the tips are this guide’s own.
LET’S TALK
Would rather have it built
with you?
Bring the idea, or the job you want off your desk. We can run the same steps together, or I can build it and hand it over.