Mark HollandSenior AI Solutions Engineer

Step 1: Intake of existing materials

Read everything the team already has before asking a single question.

What it produces

  • docs/reference/, kept read-only
  • A short "here's what I learned" summary the team can correct

Step 2: Interview for gaps only

Ask only about what the materials leave open.

What it produces

  • Answers captured directly into PRD.md (no separate answers file)

Step 3: Expected results and definition of done

Agree what done looks like, in results someone can check.

What it produces

  • Expected Results section of PRD.md

Step 4: Product requirements

What the product does, for whom, and what each feature must do to count as done.

What it produces

  • docs/PRD.md

Step 5: Technical spec

How it is built: architecture, data, interfaces, and how it is tested.

What it produces

  • docs/TECHNICAL-SPEC.md

Step 6: Design doc, for anything with a screen

Screens, components, states, and accessibility, agreed before anyone builds them.

What it produces

  • docs/DESIGN.md

Step 7: Guardrails

What the AI may and may not do, where plain code decides instead of the model, and the eval gate a change must pass.

What it produces

  • docs/GUARDRAILS.md
  • A tested safety-hook kit that blocks risky actions during the build

Step 8: Project rules for the AI

The rules every coding agent follows on this project.

What it produces

  • CLAUDE.md

Step 9: Project skeleton

Folders, starter settings, and a README in place before the first feature.

What it produces

  • Folder structure
  • .env.example
  • .gitignore
  • README.md

Step 10: Ordered build prompts

One prompt per milestone, run in order, each naming the checks that must pass.

What it produces

  • docs/DEVELOPMENT-PROMPTS.md

Step 11: QA checklist

The checks a release must pass, written before the build starts, each tied to an acceptance criterion.

What it produces

  • docs/QA-CHECKLIST.md

Step 12: Verify the build against the spec

Every acceptance criterion maps to a test, and someone other than the builder checks the result. Gaps are recorded, not ignored.

What it produces

  • BUILD_STATUS.md