Write five cross-checked spec documents before coding an app

Lars Madsen had Claude Code write an SRS, architecture, PRD, user stories and technical design for a resume builder, with scripts checking the five agree, then built the app story by story.

Done withClaude Code· Oct 28, 2026

What they did

Before writing code for a resume and cover letter builder (Java 25, Spring Boot, Vue and five MCP servers), the author had Claude Code produce five documents in a terminal: a software requirements spec, a solution architecture, a PRD, user stories and a technical design. Each prompt names the documents to read first, says the SRS wins any disagreement, sends anything unclear to an Open questions list, and repeats shared rules such as the product name, ID prefix and limits. Claude Code builds the PDF and DOCX exports by running a build script that fails on broken diagrams and a trace script that checks every cited requirement ID exists and every Must requirement has a story, and fixes errors until both pass. He then fed it one user story at a time with its requirement IDs and design sections.

How it went

With one or two line prompts the documents looked fine but did not fit together: names drifted and requirements vanished between documents. After the prompt changes they stayed consistent, and renaming the product halfway through was a small job. Some errors were his own prompts asking for a database schema and a login the SRS never had. The five documents and a first increment of the app are public. He still reads every document himself and gives no time figures.

Worth knowing

The check scripts only prove the documents agree with each other, not that the requirements are right. Telling the agent to log unclear points as open questions, rather than guess, did more than longer prompts. Fix the SRS first when a story exposes a mistake, then the documents that depend on it.

Try it

With Claude Code· 7 parts to fill in

Write [document name] for [my project]. First read [list of existing spec documents]; if they disagree, [the SRS] wins. Use these fixed names and limits everywhere: [product name, ID prefix, constraints]. Do not guess: put anything unclear under an Open questions heading. Cite requirement IDs for every section. When done, run [build script] and [traceability check script] and fix every error until both pass. Then stop and show me the open questions before writing the next document.

Square brackets are the parts to fill in. The prompt is ours; the story is theirs.

Where they said it

Related