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

  1. Runs fireskills/skills/fireskill-03-specify/scripts/iniciar_spec.mjs --title "<name>". The script allocates the next number and creates only specs/draft/<NNNN>-<slug>/spec.md from the template.
  2. 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-backlog and resumes afterwards.
  3. 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.
  4. Defines at least three distinct AC for the whole feature and for each US, FR and NFR. An AC only counts when it declares the ID in its **Cobre** line.
  5. 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/ui components, states and accessibility. A CRUD described only as API and database is not accepted. It loads $fireskill-specialist-ux-design, -ui-design and the interface specialist of the stack.
  6. If a source outside the repository was consulted, stores the allowed evidence in research/ and indexes it in the spec.
  7. Self-checks while in Draft:
    node fireskills/skills/fireskill-04-validate/scripts/validate_spec.mjs specs/draft/<NNNN>-<slug>/spec.md --allow-draft
    
  8. 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

ActSections
I — Definir1 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 provar8 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 validar16 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.

Nuxfire Production Kit

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.

© 2026 Nuxfire