Skip to content
Free and open to everyone. The lessons keep improving thanks to your feedback.
Language : EN

Specification template for a small tool

The file opens with any text editor (Notepad, TextEdit), or you can paste it into your notes.

Specification template for a small tool

One page, written before building anything (lesson 1). It is then used to build (lessons 2 and 3), to test (lesson 4) and to maintain (lesson 8). Nothing from the “never” list goes in it.

SPECIFICATION: [name of the tool]
Updated on: [date]

THE PROBLEM: [what is wrong today, in 2 or 3 sentences]
WHO USES IT: [who, on which device, at what moment]
THE JOURNEY: [the steps, from the person's point of view]
1. ...
2. ...
3. ...
THE MINIMUM VERSION: [the smallest tool that already solves the problem]
OUT OF SCOPE FOR NOW: [what we are not doing in this version]
IT WORKED IF: [criteria you can check, one per line]
1. ...
2. ...
THE DATA: [which data, where it stays, what we do not keep]
CONSTRAINTS: [for example: a single file, no account, no server, nothing to install, nothing loaded from the Internet]
TO DECIDE: [what is still left to settle]

The request to your agent

I want a small tool for [need, in two sentences]. I can't code.
Propose a short specification, with exactly these parts: [paste the parts of the template].
Constraints: [your constraints].
Write [to decide] for what I have to settle, and ask at most 3 questions at the end.
Write the specification in specification.md, then show it to me. Do not create any other file.

Before moving on to building

  • ☐ Each criterion under “IT WORKED IF” can be checked with a yes or no
  • ☐ No [to decide] left
  • ☐ The data: nothing more than what is needed
  • ☐ The minimum version fits in one sentence