Step 3: Specify
Write the normative spec.md: requirements, Gherkin scenarios, technical plan, data model and interface contract.
Skill: fireskill-03-specify · Asks questions: only when the brief is not enough (it hands back to the backlog) · Creates: specs/draft/<NNNN>-<slug>/spec.md
When to use it
The brief from Step 2 is ready, or you already know exactly what you want and want to write the spec straight away.
What to type
Use $fireskill-03-specify para iniciar uma spec numerada no diretório atual e consolidar seus requisitos. Orquestre transições automáticas com anúncio, execução e retomada na mesma conversa.
Add the backlog item or a short description below it.
What the agent does
- Runs
fireskills/skills/fireskill-03-specify/scripts/iniciar_spec.mjs --title "<name>". The script allocates the next number and creates onlyspecs/draft/<NNNN>-<slug>/spec.mdfrom the template. - Reads the inbox capture, the backlog item, your request, and real files of the repository that reveal constraints. If it cannot identify problem, actor and result, it goes back to
$fireskill-02-backlogand resumes afterwards. - Fills the template. It keeps the header table, the three acts and the 18 sections, numbers new items without reusing IDs (
US-001,FR-001,NFR-001,AC-001,DEC-001), and writes every requirement as a verifiable behavior. - Defines at least three distinct
ACfor the whole feature and for eachUS,FRandNFR. AnAConly counts when it declares the ID in its**Cobre**line. - For a delivery with a screen (
Interface para pessoas: Sim), fills section 10 with stack, screens, information flow, menus, forms and actions, composition, the Vue and@nuxt/uicomponents, states and accessibility. A CRUD described only as API and database is not accepted. It loads$fireskill-specialist-ux-design,-ui-designand the interface specialist of the stack. - If a source outside the repository was consulted, stores the allowed evidence in
research/and indexes it in the spec. - Self-checks while in
Draft:node fireskills/skills/fireskill-04-validate/scripts/validate_spec.mjs specs/draft/<NNNN>-<slug>/spec.md --allow-draft - Reports the path, status, counts of
US/FR/NFR/AC, assumptions, and hands off to$fireskill-04-validate.
The spec header (real output)
# Especificação integrada: Convite de membros por e-mail
| Campo | Valor |
| --- | --- |
| Formato | Specsfy/2.0 |
| ID | SPEC-0001 |
| Slug | 0001-convite-de-membros-por-e-mail |
| Status | Draft |
| Effort | 1 |
| Effort updated at | 2026-09-18 |
| Effort rationale | Estimativa inicial; revisar durante a descoberta. |
| Definition Gate | Pending |
| Plan Gate | Pending |
| Delivery Gate | Pending |
| Interface para pessoas | A definir |
The header must stay a two-column table (Campo / Valor). The slug equals the directory name.
The 18 sections
| Act | Sections |
|---|---|
| I — Definir | 1 Problema e resultado · 2 Research e esclarecimentos · 3 Escopo e atores · 4 Princípios e restrições · 5 Histórias de usuário · 6 Cenários BDD de aceite · 7 Requisitos |
| II — Projetar e provar | 8 Plano técnico · 9 Modelo de dados · 10 Interfaces e contratos · 11 Estratégia TDD · 12 Plano de testes e rastreabilidade · 13 Validações · 14 Tarefas · 15 Ordem de execução |
| III — Entregar e validar | 16 Dependências, riscos e suposições · 17 Decisões · 18 Definition of Done |
Effort
Give the spec a difficulty score from 1 to 10 (reasoning and execution needed, not time):
bun run fireskill effort 0001 4 --reason "tabela + e-mail + mutation tRPC"
Output: 0001-convite-de-membros-por-e-mail Effort 4/10. The identifier is the spec number (0001) or the full <NNNN>-<slug>; an unknown number fails with spec not found. See Effort scale.
Next
Automatic: Step 4: Validate.
Ready to build and launch your SaaS?
Get 100% full source code ownership, zero proprietary wrappers, and architecture engineered for millions of requests on Cloudflare.