Let’s talk
Guides / Build software with an AI coding agent

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.

STEPS
9
TIME
A weekend for a small tool, a few weeks for a real product
WHO IT’S FOR
Anyone who can write a clear paragraph. No coding background needed, but you will be working in a terminal.
BEFORE YOU START

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 doc subfolder and a doc/tickets subfolder 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.
Start with step one
STEP 01 OF 09

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.

YOU SHOULD NOW HAVE
  • doc/idea-v0.md with the idea, the audience, the reason, and a description of a good result.
Next: Clarify until nothing is ambiguous
STEP 02 OF 09

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.

PROMPT TO COPY
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
YOU SHOULD NOW HAVE
  • 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.
Next: Brainstorm the approaches
STEP 03 OF 09

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.

PROMPT TO COPY
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
YOU SHOULD NOW HAVE
  • doc/idea-v1-brainstorming.md with several approaches and their trade-offs.
  • A chosen approach, written into the decisions file.
Next: Turn it into a spec you can read
STEP 04 OF 09

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.

PROMPT TO COPY
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.
YOU SHOULD NOW HAVE
  • doc/idea-v1-spec.md with goal, scope, non-goals, data, and acceptance criteria you have signed off.
Next: Split the spec into tickets
STEP 05 OF 09

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.

PROMPT TO COPY
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
YOU SHOULD NOW HAVE
  • A numbered set of ticket files in doc/tickets, each with its own acceptance criteria.
Next: Review it from several angles before building
STEP 06 OF 09

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.

PROMPT TO COPY
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.

YOU SHOULD NOW HAVE
  • doc/idea-v1-spec-review.md, and a spec and tickets updated to answer it.
Next: Build one ticket at a time
STEP 07 OF 09

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.

PROMPT TO COPY
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.

YOU SHOULD NOW HAVE
  • A working first version, with one commit per reviewed ticket.
  • A decisions file that explains every non-obvious choice made along the way.
Next: Verify before calling it done
STEP 08 OF 09

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”.

PROMPT TO COPY
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.
YOU SHOULD NOW HAVE
  • Every acceptance criterion checked, with the evidence in front of you.
Next: Ship it, then fold the decisions back in
STEP 09 OF 09

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.

PROMPT TO COPY
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.
YOU SHOULD NOW HAVE
  • A released first version and a rollout plan.
  • doc/idea-v2.md: the brief to start from next time.
Credits and sources
CREDITS AND SOURCES

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.

Tell me what you have in mind