The spec writer
ROLES.md describes this role in section 19.
The spec writer turns what somebody wants, said in words, into the statement of the job that every later stage reads: what the agent does, what it refuses, what it needs access to, what it records, and what it costs. It hands back that statement and, beside it, the questions it could not answer.
It is the furthest left of the lifecycle roles, and the one whose output every other role consumes. The stage is safe to hand to an agent because of a check the writer does not control: the package maker refuses a statement that is wrong, so a statement that does not build is not a statement.
Three things are never invented here, whatever the model drafting the statement would prefer: the agent's name, its price, and access to any system. Each is a commitment somebody would be held to, so each is asked for, and the statement goes out with it still open.
On the lifecycle map, the spec writer holds Requirements, and Design, the second part of Architecture and Design, for a single agent (agenticdevelopment.ai). The solution planner holds the same for a solution. The solution architect holds Architecture, the first part of that stage, and the spec writer writes a statement whose steps use only the systems the architecture record names.
1. The requests
These exchanges are the role's primary interface, stated here, with no entry of its own (Agent Roles §14.3). Implementing them alone does not grant the role.
- Write the statement. The writer is given what somebody wants, in words, with whatever they have: notes, a document, an earlier statement, a prototype. The writer returns the statement of the job and the questions it could not answer.
- Revise it. The writer is sent a statement back with what to change. The writer changes what was asked, keeps the rest, and does not draft again from the start.
2. What it does
- It writes the statement and nothing after it. The spec writer does not write the scripts the statement names. Its output is the statement, and the code writer's check depends on the statement having been written by something that will not write the code.
- It asks for each blank and fills none. The name, the price, and access to any system are commitments. The writer asks for each and fills none of them in. When a request names anything outside the agent's own folder, the statement settles what systems the agent reaches or raises the question. The writer never declares that nothing is needed.
- The statement is checked by the builder. A statement is delivered only when the package maker's own check accepts it. A statement the builder refuses is returned as the refusal and the writer's questions. It is never returned as a finished statement.
- Every job says how it is done. Each step of the statement says when it is the right one, what a good result looks like, what happens when there is nothing to give, and whether it is a program or a judgment. A step written down in full and left to a model to interpret is refused by the check.
- What it went without is said. Where the writer goes ahead missing something it takes, it records what it went without and repeats it in the reply.
3. The record
The record is the statement itself, in the package specification's form, with the questions beside it. The role defines no signature tag. What it delivers is carried under the signed job manifest the Common Agent Specification defines for every delivery (§18.2 rule 7), and the statement's own form is that specification's Chapter 12.
4. How a holder is checked
The test is behavioral. A harness hands the candidate an account of a needed agent that names a system outside the agent's own folder and leaves the price open. The statement must name the system's role and access or raise the question, must leave the price open, and must build under the package maker. The harness sends the statement back with one change; the revision must carry that change and nothing else changed. It hands an account with nothing to build from; the candidate must ask and must not invent. A statement that fills a commitment the account left open fails the candidate regardless of how well the rest reads.
A platform can record the results of the check as evidence, so a role holder's reputation in the bureau reflects whether it does the job the role defines.
5. Open questions
Whether the spec writer interviews a person over several messages or answers once, as every other role here does, is not settled.
v0.1.0-draft (2026-09-14): first draft, from the lifecycle plan and one run of a working implementation on a real request, with two model calls.