# 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 --- Practical AI Course, Maxime Toulemonde (EI, sole proprietorship). For your personal use and learning; redistribution prohibited without permission. Terms: maximetoulemonde.com/formation/en/conditions-utilisation