spec-driven-development

por n8n-io

Keeps implementation and specs in sync. Use when working on a feature that has a spec in .claude/specs/, when the user says /spec, or when starting…

npx skills add https://github.com/n8n-io/n8n --skill spec-driven-development

Spec-Driven Development

Specs live in .agents/specs/. They are the source of truth for architectural decisions, API contracts, and implementation scope. Implementation and specs must stay in sync — neither leads exclusively.

Core Loop

Read spec → Implement → Verify alignment → Update spec or code → Repeat

Before Starting Work

  1. Find the spec. Search .agents/specs/ for files matching the feature:
ls .agents/specs/
  1. Read the full spec. Understand scope, decisions, API contracts, and open questions before writing code.

  2. If no spec exists and the task is non-trivial (new module, new API, architectural change), ask the user whether to create one first.

During Implementation

  • Reference spec decisions — don't re-decide what the spec already settled.
  • When you diverge from the spec (better approach found, user requested change, constraint discovered), update the spec immediately in the same session. Don't leave spec and code out of sync.
  • Tick off TODO checkboxes (- [ ]- [x]) as items are completed.
  • Strike through or annotate items that were deliberately skipped or replaced, with a brief reason:
    - [x] ~~OpenRouter proxy~~ → Direct execution: nodes call OpenRouter directly
    

After Completing Work

Run a spec verification pass:

  1. Re-read the spec alongside the implementation.
  2. Check each section:
    • Do API endpoints in spec match the controller?
    • Do config/env vars in spec match the config class?
    • Does the module structure in spec match the actual file tree?
    • Do type definitions in spec match @n8n/api-types?
    • Are all TODO items correctly checked/unchecked?
  3. Update the spec for any drift found. Common drift:
    • New files added that aren't listed in the structure section
    • API response shapes changed during implementation
    • Config defaults adjusted
    • Architectural decisions refined
  4. Flag unresolved gaps to the user — things the spec promises but implementation doesn't deliver yet (acceptable for MVP, but should be noted).

Spec File Conventions

  • One or more markdown files per feature in .agents/specs/.
  • Keep specs concise. Use tables for mappings, code blocks for shapes.
  • Use ## Implementation TODO with checkboxes to track progress.
  • Split into multiple files when it helps (e.g. separate backend/frontend), but don't enforce a rigid naming scheme.

When the User Asks to "Self-Review" or "Verify Against Spec"

  1. Read all relevant specs.
  2. Read all implementation files.
  3. Produce a structured comparison:
    • Aligned: items where spec and code match
    • Drift: items where they diverge (fix immediately)
    • Gaps: spec items not yet implemented (note as future work)
  4. Fix drift, update specs, report gaps to the user.

Mais skills de n8n-io

n8n-cli
n8n-io
Use a CLI do n8n para gerenciar workflows, credenciais, execuções e mais em uma instância do n8n. Use quando o usuário pedir para interagir com o n8n, automatizar workflows,…
official
create-issue
n8n-io
Criar tickets no Linear ou issues no GitHub seguindo as convenções do n8n. Use quando o usuário pedir para criar um ticket, registrar um bug, abrir uma issue ou disser /create-issue.
official
node-add-oauth
n8n-io
Adiciona suporte a credenciais OAuth2 a um nó n8n existente — cria o arquivo de credencial, atualiza o nó, adiciona testes e mantém a constante da CLI sincronizada. Use quando…
official
spec-driven-development
n8n-io
Mantém a implementação e as especificações sincronizadas. Use ao trabalhar em uma funcionalidade que possui uma especificação em .claude/specs/, quando o usuário disser /spec, ou ao iniciar…
official
content-design
n8n-io
Product content designer for UI copy. Use when writing, reviewing, or auditing user-facing text: button labels, error messages, tooltips, empty states, modal…
official
create-issue
n8n-io
Crie tickets no Linear ou issues no GitHub seguindo as convenções do n8n. Use quando o usuário pedir para criar um ticket, registrar um bug, abrir uma issue, ou digitar /create-issue.
official
agent-builder
n8n-io
Use ao criar, configurar ou editar a configuração de build de um agente n8n de destino — integrações/gatilhos de chat, servidores MCP, localizadores de recursos de ferramentas de nó,...
official
create-pr
n8n-io
Cria pull requests no GitHub com títulos formatados corretamente que passam na validação de CI do check-pr-title. Use ao criar PRs, enviar alterações para revisão,…
official