#The Change
Ai For Writing Specs is what you do when “ai for writing specs” keeps coming up and the advice online feels too hand-wavy. The change is simple: treat the work like a small system with inputs, outputs, and a repeatable loop.
If you can describe the system, you can improve it. If you can measure it, you can teach it to someone else. That is the difference between “I got lucky with a prompt” and “we have a process”.
Concrete example: if you are using AI to draft a PRD and the output keeps missing edge cases, don’t just re-prompt blindly. Save the exact prompt, the exact context you fed it, and the exact output you got, then change one variable at a time. Now you have a baseline and a delta.
#Why Builders Should Care
Most teams lose time in the same 3 places:
- They cannot reproduce what happened (no saved inputs)
- They fix the symptom, not the broken assumption
- They ship a “one-off” fix with no guardrail
When you are building internal apps, the cost is not the first demo. The cost is the 20 small changes after the demo. A lightweight loop (inputs -> output -> checks -> iteration log) is what lets you keep shipping without re-learning the same lesson each week.
#What To Do Now
- Write the goal in one sentence. Example: “Generate a PRD outline with acceptance criteria for an internal admin tool.”
- Capture inputs. Save the prompt, any tool outputs, and the constraints (tone, length, format).
- Define success checks. What must be true for the output to be useful? (e.g., includes scope, non-goals, risks, and open questions)
- Run a tight iteration loop. Change one thing, re-run, compare.
- Freeze a version. Once it works, write down the exact template so you can repeat it.
- Add one guardrail. Pick the most common failure mode (missing edge cases, wrong schema, unsafe claims) and add a check for it.
- Create a tiny runbook. A runbook is 10 lines: goal, inputs, steps, checks, and the final template. That is enough to onboard a teammate.
#What Breaks
- Hidden context drift: the writer prompt changes, the inputs change, and no one notices.
- No acceptance criteria: you get text, but you can’t tell if it is good.
- Unbounded scope: the output grows until it becomes unusable.
- No handoff: the next person cannot reproduce the result.
- No “stop rule”: you keep iterating because you don’t know when to ship.
If you notice any of these, don’t add complexity. Shrink the system: fewer inputs, clearer checks, and a shorter template.
#Copy/Paste Block
Copy/paste checklist
Goal (1 sentence):
Inputs:
- Prompt:
- Context/docs provided:
- Constraints (tone/format/length):
Success checks:
- Must include:
- Must avoid:
- "Good enough" threshold:
Iteration log:
- v1 change:
- v1 result:
- v2 change:
- v2 result:
Final template to reuse:
- System prompt (fixed):
- User prompt (variable):
- Output format:
#Next Step
#Sources
- how do you write PRDs in 2026?
- It becomes much easier and faster to explain what is required to 5.3 model than to the dev team. PMs started to use codex, SDE is now reviewers.