@daniel-da-silva-alves/sddk 2.0.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/README.md +21 -4
  3. package/bin/cli.js +4 -4
  4. package/package.json +7 -2
  5. package/sddk/plugin.json +1 -1
  6. package/sddk/skills/code-review/SKILL.md +142 -141
  7. package/sddk/skills/code-review/references/anti-ai-design-patterns.md +90 -90
  8. package/sddk/skills/code-review/references/refactoring-severity-guide.md +60 -60
  9. package/sddk/skills/code-review/references/security-checklist.md +59 -59
  10. package/sddk/skills/fullstack-development/SKILL.md +79 -78
  11. package/sddk/skills/fullstack-development/references/clean-code-rules.md +65 -65
  12. package/sddk/skills/fullstack-development/references/self-review-checklist.md +42 -42
  13. package/sddk/skills/implementation-planning/SKILL.md +65 -64
  14. package/sddk/skills/implementation-planning/references/manual-tests-template.md +53 -53
  15. package/sddk/skills/implementation-planning/references/microtask-template.md +47 -47
  16. package/sddk/skills/software-requirements-specification/SKILL.md +46 -45
  17. package/sddk/skills/software-requirements-specification/references/checklist-template.md +48 -48
  18. package/sddk/skills/software-requirements-specification/references/ieee-830-template.md +94 -94
  19. package/sddk/skills/software-requirements-specification/references/socratic-interview-guide.md +65 -65
  20. package/sddk/skills/system-design-document/SKILL.md +108 -107
  21. package/sddk/skills/system-design-document/references/architecture-patterns.md +59 -59
  22. package/sddk/skills/system-design-document/references/documentation-sources-guide.md +69 -69
  23. package/sddk/skills/system-design-document/references/sdd-template.md +117 -117
  24. package/sddk/skills/system-design-document/references/standards-api-template.md +47 -47
  25. package/sddk/skills/system-design-document/references/standards-architecture-template.md +42 -42
  26. package/sddk/skills/system-design-document/references/standards-coding-template.md +64 -64
  27. package/sddk/skills/system-design-document/references/standards-design-system-template.md +81 -81
  28. package/sddk/skills/system-design-document/references/standards-naming-template.md +59 -59
  29. package/sddk/skills/system-design-document/references/standards-onboarding-guide.md +80 -80
  30. package/sddk/skills/system-design-document/references/tech-stack-analysis.md +37 -37
@@ -1,102 +1,103 @@
1
1
  ---
2
2
  name: implementation-planning
3
- description: "Planejamento de implementação com microtasks faseadas e referências ao SRS/SDD. ATIVE esta skill quando o usuário mencionar: planejar implementação, criar plano de desenvolvimento, microtasks, checklist de desenvolvimento, fases de implementação, quebrar em tarefas, task breakdown, sprint planning, planejamento técnico de dev. Também acione quando o agente completar a skill SDD e o usuário confirmar a transição para o Planejamento."
3
+ description: "Implementation planning with phased microtasks and SRS/SDD references. ACTIVATE this skill when the user mentions: plan implementation, create development plan, microtasks, development checklist, implementation phases, break into tasks, task breakdown, sprint planning, technical dev planning. Also activate when the agent completes the SDD skill and the user confirms the transition to Planning."
4
4
  ---
5
5
 
6
- # Skill de Planejamento de Implementação
6
+ # Implementation Planning Skill
7
7
 
8
- ## Identidade
8
+ ## Identity
9
9
 
10
- Você é um **Tech Lead Sênior** especializado em decomposição de tarefas, planejamento de sprints e definição de dependências entre entregas de software.
10
+ You are a **Senior Tech Lead** specialized in task decomposition, sprint planning, and defining dependencies between software deliverables.
11
11
 
12
- ## Contexto do Pipeline
12
+ ## Pipeline Context
13
13
 
14
- Esta é a **Skill 3 de 5** do pipeline Spec-Driven Development (SDD):
14
+ This is **Skill 3 of 5** in the Spec-Driven Development (SDD) pipeline:
15
15
 
16
16
  ```
17
- 1. SRS ✅ → 2. SDD ✅ → ► [3. Planejamento] → 4. Dev → 5. CodeReview
17
+ 1. SRS ✅ → 2. SDD ✅ → ► [3. Planning] → 4. Dev → 5. CodeReview
18
18
  ```
19
19
 
20
20
  > [!IMPORTANT]
21
- > O SRS e o SDD DEVEM ter sido concluídos antes desta skill. Se os arquivos `.specs/features/{feature-name}/srs.md` e `.specs/features/{feature-name}/sdd.md` não existirem, PARE e instrua o usuário a completar as skills anteriores.
21
+ > The SRS and SDD MUST have been completed before this skill. If the files `.specs/features/{feature-name}/srs.md` and `.specs/features/{feature-name}/sdd.md` do not exist, STOP and instruct the user to complete the previous skills.
22
22
 
23
- ## Pré-condição
23
+ ## Precondition
24
24
 
25
- Antes de iniciar, verificar que existem:
26
- - `.specs/features/{feature-name}/srs.md` — ler completamente
27
- - `.specs/features/{feature-name}/sdd.md` — ler completamente
25
+ Before starting, verify that the following exist:
26
+ - `.specs/features/{feature-name}/srs.md` — read completely
27
+ - `.specs/features/{feature-name}/sdd.md` — read completely
28
28
 
29
- ## Regras Obrigatórias
29
+ ## Mandatory Rules
30
30
 
31
- 1. **SEMPRE ler SRS.md e SDD.md** como primeiro passo
32
- 2. **SEMPRE ler `.specs/standards/`** para garantir consistência com padrões do projeto
33
- 3. **SEMPRE criar microtasks faseadas** onde cada tarefa depende da anterior
34
- 4. **SEMPRE incluir referências (ponteiros)** para seções específicas do SRS/SDD e standards em cada microtask
35
- 5. **SEMPRE especificar quais arquivos** serão criados/modificados em cada microtask
36
- 6. **SEMPRE definir critério de "done"** para cada microtask
37
- 7. **SEMPRE gerar o manual-tests.md** com cenários de teste manual
38
- 8. **NUNCA criar microtasks genéricas** como "implementar backend" — devem ser granulares e específicas
31
+ 1. **ALWAYS read SRS.md and SDD.md** as the first step
32
+ 2. **ALWAYS read `.specs/standards/`** to ensure consistency with project standards
33
+ 3. **ALWAYS create phased microtasks** where each task depends on the previous one
34
+ 4. **ALWAYS include references (pointers)** to specific SRS/SDD and standards sections in each microtask
35
+ 5. **ALWAYS specify which files** will be created/modified in each microtask
36
+ 6. **ALWAYS define a "done" criterion** for each microtask
37
+ 7. **ALWAYS generate the manual-tests.md** with manual test scenarios
38
+ 8. **NEVER create generic microtasks** like "implement backend" — they must be granular and specific
39
+ 9. **ALWAYS write ALL generated documents and artifacts in the same language the user communicates in** — template headings, labels, field names, and examples must ALL be translated to the user's language. The only exception is technical code (variable names, file paths, CLI commands)
39
40
 
40
- ## Fluxo de Execução
41
+ ## Execution Flow
41
42
 
42
- ### Fase 1: Análise dos Documentos
43
+ ### Phase 1: Document Analysis
43
44
 
44
- 1. **Ler SRS.md** — identificar todos os requisitos funcionais (RF-xxx)
45
- 2. **Ler SDD.md** — identificar a arquitetura, modelo de dados, endpoints, componentes
46
- 3. **Ler `.specs/standards/`** — carregar padrões de nomenclatura, arquitetura, design system, API e coding
47
- 4. **Mapear dependências** — quais componentes dependem de quais
45
+ 1. **Read SRS.md** — identify all functional requirements (FR-xxx)
46
+ 2. **Read SDD.md** — identify the architecture, data model, endpoints, components
47
+ 3. **Read `.specs/standards/`** — load naming, architecture, design system, API, and coding standards
48
+ 4. **Map dependencies** — which components depend on which
48
49
 
49
- ### Fase 2: Decomposição em Microtasks
50
+ ### Phase 2: Microtask Decomposition
50
51
 
51
- Criar o **Implementation Plan artifact** com microtasks faseadas.
52
+ Create the **Implementation Plan artifact** with phased microtasks.
52
53
 
53
- #### Regras de Decomposição:
54
+ #### Decomposition Rules:
54
55
 
55
- 1. **Ordenar por camada de dependência**:
56
- - Fase 1: Configuração e setup (se necessário)
57
- - Fase 2: Modelo de dados / migrations
58
- - Fase 3: Camada de acesso a dados (repositories)
59
- - Fase 4: Lógica de negócio (services)
60
- - Fase 5: API / endpoints (se backend)
61
- - Fase 6: Componentes de UI (se frontend)
62
- - Fase 7: Integração entre camadas
63
- - Fase 8: Polish e edge cases
56
+ 1. **Order by dependency layer**:
57
+ - Phase 1: Configuration and setup (if needed)
58
+ - Phase 2: Data model / migrations
59
+ - Phase 3: Data access layer (repositories)
60
+ - Phase 4: Business logic (services)
61
+ - Phase 5: API / endpoints (if backend)
62
+ - Phase 6: UI components (if frontend)
63
+ - Phase 7: Cross-layer integration
64
+ - Phase 8: Polish and edge cases
64
65
 
65
- 2. **Cada microtask DEVE conter** — use o template em `references/microtask-template.md`:
66
- - Descrição clara da tarefa
67
- - 📎 Referência(s) ao SDD (seção + linhas) — ex: `[SDD#3.1](file:///.specs/features/{feature}/sdd.md#L45-L78)`
68
- - 📎 Referência(s) ao SRS (requisito) — ex: `[SRS RF-001](file:///.specs/features/{feature}/srs.md#L120-L135)`
69
- - 📎 Referência(s) a Standards (quando aplicável) — ex: `[Naming DB](file:///.specs/standards/naming-conventions.md#banco-de-dados)`
70
- - 📁 Arquivos a criar/modificar
71
- - ✅ Critério de done
66
+ 2. **Each microtask MUST contain** — use the template in `references/microtask-template.md`:
67
+ - Clear task description
68
+ - 📎 SDD reference(s) (section + lines) — e.g.: `[SDD#3.1](file:///.specs/features/{feature}/sdd.md#L45-L78)`
69
+ - 📎 SRS reference(s) (requirement) — e.g.: `[SRS FR-001](file:///.specs/features/{feature}/srs.md#L120-L135)`
70
+ - 📎 Standards reference(s) (when applicable) — e.g.: `[Naming DB](file:///.specs/standards/naming-conventions.md#database)`
71
+ - 📁 Files to create/modify
72
+ - ✅ Done criterion
72
73
 
73
- 3. **Encadeamento obrigatório**: cada microtask faz sentido se a anterior estiver concluída
74
+ 3. **Mandatory chaining**: each microtask only makes sense if the previous one is completed
74
75
 
75
- ### Fase 3: Geração de Testes Manuais
76
+ ### Phase 3: Manual Tests Generation
76
77
 
77
- 1. Gerar `manual-tests.md` usando template em `references/manual-tests-template.md`
78
- 2. Cada cenário de teste DEVE:
79
- - Referenciar o requisito funcional testado (RF-xxx)
80
- - Ter passos claros e reproduzíveis
81
- - Ter resultado esperado específico
82
- 3. Salvar em `.specs/features/{feature-name}/manual-tests.md`
78
+ 1. Generate `manual-tests.md` using the template in `references/manual-tests-template.md`
79
+ 2. Each test scenario MUST:
80
+ - Reference the functional requirement tested (FR-xxx)
81
+ - Have clear and reproducible steps
82
+ - Have a specific expected result
83
+ 3. Save to `.specs/features/{feature-name}/manual-tests.md`
83
84
 
84
- ### Fase 4: Revisão com o Usuário
85
+ ### Phase 4: User Review
85
86
 
86
- 1. Apresentar o plano completo de microtasks ao usuário
87
- 2. Perguntar: "O plano de implementação está adequado? Gostaria de ajustar a ordem, granularidade ou adicionar/remover tarefas?"
88
- 3. Ajustar conforme feedback
87
+ 1. Present the complete microtask plan to the user
88
+ 2. Ask: "Is the implementation plan adequate? Would you like to adjust the order, granularity, or add/remove tasks?"
89
+ 3. Adjust according to feedback
89
90
 
90
- ### Fase 5: Transição
91
+ ### Phase 5: Transition
91
92
 
92
- Após aprovação do planejamento:
93
+ After planning approval:
93
94
 
94
- 1. Anunciar: "✅ Planejamento concluído. Testes manuais salvos em `.specs/features/{feature-name}/manual-tests.md`. Próxima etapa: **Desenvolvimento Fullstack**. Deseja prosseguir?"
95
- 2. **AGUARDAR** confirmação explícita antes de ativar a próxima skill
95
+ 1. Announce: "✅ Planning completed. Manual tests saved to `.specs/features/{feature-name}/manual-tests.md`. Next stage: **Fullstack Development**. Would you like to proceed?"
96
+ 2. **WAIT** for explicit confirmation before activating the next skill
96
97
 
97
98
  ## Routing Table
98
99
 
99
100
  ### References
100
101
 
101
- - Se precisar do template de formato de microtask com campos obrigatórios, leia `references/microtask-template.md`
102
- - Se precisar do template de cenários de teste manual, leia `references/manual-tests-template.md`
102
+ - If you need the microtask format template with required fields, read `references/microtask-template.md`
103
+ - If you need the manual test scenarios template, read `references/manual-tests-template.md`
@@ -1,95 +1,95 @@
1
- # Template de Testes Manuais
1
+ # Manual Tests Template
2
2
 
3
- Use este template para gerar o `manual-tests.md` de cada feature. Cada cenário de teste deve ser claro, reproduzível e vinculado a um requisito funcional.
3
+ Use this template to generate the `manual-tests.md` for each feature. Each test scenario must be clear, reproducible, and linked to a functional requirement.
4
4
 
5
- ## Estrutura do Documento
5
+ ## Document Structure
6
6
 
7
7
  ```markdown
8
- # Testes Manuais — {Nome da Feature}
8
+ # Manual Tests — {Feature Name}
9
9
 
10
- **Feature**: {nome da feature}
11
- **Data**: {data de geração}
12
- **SRS Referência**: [srs.md](.specs/features/{feature}/srs.md)
13
- **SDD Referência**: [sdd.md](.specs/features/{feature}/sdd.md)
10
+ **Feature**: {feature name}
11
+ **Date**: {generation date}
12
+ **SRS Reference**: [srs.md](.specs/features/{feature}/srs.md)
13
+ **SDD Reference**: [sdd.md](.specs/features/{feature}/sdd.md)
14
14
 
15
15
  ---
16
16
 
17
- ## Instruções para o Desenvolvedor
17
+ ## Instructions for the Developer
18
18
 
19
- 1. Execute cada cenário de teste **na ordem listada**
20
- 2. Marque `[x]` nos cenários que passaram
21
- 3. Para cenários que falharam, anote o comportamento observado na coluna "Resultado Real"
22
- 4. Todos os cenários DEVEM passar antes de considerar a feature completa
19
+ 1. Execute each test scenario **in the listed order**
20
+ 2. Mark `[x]` on scenarios that passed
21
+ 3. For failed scenarios, note the observed behavior in the "Actual Result" column
22
+ 4. All scenarios MUST pass before considering the feature complete
23
23
 
24
24
  ---
25
25
 
26
- ## Cenários de Teste
26
+ ## Test Scenarios
27
27
 
28
- ### CT-001: {Nome descritivo do cenário}
28
+ ### TS-001: {Descriptive scenario name}
29
29
 
30
- | Campo | Valor |
30
+ | Field | Value |
31
31
  |:---|:---|
32
- | **Requisito** | RF-{xxx} — {nome do requisito} |
33
- | **Prioridade** | Alta / Média / Baixa |
34
- | **Pré-condição** | {estado inicial necessário} |
32
+ | **Requirement** | FR-{xxx} — {requirement name} |
33
+ | **Priority** | High / Medium / Low |
34
+ | **Precondition** | {required initial state} |
35
35
 
36
- **Passos:**
37
- 1. {ação específica 1}
38
- 2. {ação específica 2}
39
- 3. {ação específica 3}
36
+ **Steps:**
37
+ 1. {specific action 1}
38
+ 2. {specific action 2}
39
+ 3. {specific action 3}
40
40
 
41
- **Resultado Esperado:**
42
- {descrição precisa do que deve acontecer}
41
+ **Expected Result:**
42
+ {precise description of what should happen}
43
43
 
44
- **Resultado Real:**
45
- - [ ] ✅ Passou
46
- - [ ] ❌ FalhouObservação: ___
44
+ **Actual Result:**
45
+ - [ ] ✅ Passed
46
+ - [ ] ❌ FailedObservation: ___
47
47
 
48
48
  ---
49
49
 
50
- ### CT-002: {Nome descritivo do cenário}
50
+ ### TS-002: {Descriptive scenario name}
51
51
 
52
- (repetir formato)
52
+ (repeat format)
53
53
 
54
54
  ---
55
55
 
56
- ## Cenários de Edge Case
56
+ ## Edge Case Scenarios
57
57
 
58
- ### EC-001: {Nome do edge case}
58
+ ### EC-001: {Edge case name}
59
59
 
60
- | Campo | Valor |
60
+ | Field | Value |
61
61
  |:---|:---|
62
- | **Requisito** | RF-{xxx} |
63
- | **Tipo** | Input inválido / Erro de rede / Concorrência / Limite |
62
+ | **Requirement** | FR-{xxx} |
63
+ | **Type** | Invalid input / Network error / Concurrency / Limit |
64
64
 
65
- **Passos:**
66
- 1. {ação que provoca o edge case}
65
+ **Steps:**
66
+ 1. {action that triggers the edge case}
67
67
 
68
- **Resultado Esperado:**
69
- {como o sistema deve se comportar neste caso}
68
+ **Expected Result:**
69
+ {how the system should behave in this case}
70
70
 
71
- **Resultado Real:**
72
- - [ ] ✅ Passou
73
- - [ ] ❌ FalhouObservação: ___
71
+ **Actual Result:**
72
+ - [ ] ✅ Passed
73
+ - [ ] ❌ FailedObservation: ___
74
74
 
75
75
  ---
76
76
 
77
- ## Resumo de Execução
77
+ ## Execution Summary
78
78
 
79
- | Total | Passou | Falhou | Pendente |
79
+ | Total | Passed | Failed | Pending |
80
80
  |:---:|:---:|:---:|:---:|
81
81
  | {n} | {n} | {n} | {n} |
82
82
 
83
83
  **Executor**: ___
84
- **Data de execução**: ___
85
- **Aprovado para deploy**: [ ] Sim / [ ] Não
84
+ **Execution date**: ___
85
+ **Approved for deploy**: [ ] Yes / [ ] No
86
86
  ```
87
87
 
88
- ## Regras de Geração
88
+ ## Generation Rules
89
89
 
90
- 1. **Cada requisito funcional (RF-xxx) DEVE ter pelo menos 1 cenário de teste**
91
- 2. **Cada regra de negócio (RN-xxx) DEVE ter pelo menos 1 cenário que a valida**
92
- 3. **Incluir pelo menos 2 edge cases** por feature (inputs inválidos, limites, erros)
93
- 4. **Passos DEVEM ser reproduzíveis** — "clicar no botão X" e não "testar a funcionalidade"
94
- 5. **Resultado esperado DEVE ser específico** — "exibir toast verde com texto 'Salvo com sucesso'" e não "funcionar"
95
- 6. **Prioridade dos cenários** corresponde à prioridade do requisito que testam
90
+ 1. **Each functional requirement (FR-xxx) MUST have at least 1 test scenario**
91
+ 2. **Each business rule (BR-xxx) MUST have at least 1 scenario that validates it**
92
+ 3. **Include at least 2 edge cases** per feature (invalid inputs, limits, errors)
93
+ 4. **Steps MUST be reproducible** — "click button X" not "test the functionality"
94
+ 5. **Expected result MUST be specific** — "display green toast with text 'Saved successfully'" not "work"
95
+ 6. **Scenario priority** corresponds to the priority of the requirement they test
@@ -1,66 +1,66 @@
1
- # Template de Microtask
1
+ # Microtask Template
2
2
 
3
- Cada microtask no Implementation Plan DEVE seguir este formato:
3
+ Each microtask in the Implementation Plan MUST follow this format:
4
4
 
5
- ## Formato Obrigatório
5
+ ## Required Format
6
6
 
7
7
  ```markdown
8
- - [ ] **{Fase}.{Número}: {Título descritivo da tarefa}**
9
- - 📎 Ref SDD: [{seção}](.specs/features/{feature}/sdd.md#L{inicio}-L{fim})
10
- - 📎 Ref SRS: [{requisito}](.specs/features/{feature}/srs.md#L{inicio}-L{fim})
11
- - 📎 Ref Standards: [{padrão}](.specs/standards/{arquivo}.md#{seção}) ← quando aplicável
12
- - 📁 Arquivos:
13
- - `{caminho/do/arquivo.ext}` — {criar | modificar} — {breve descrição}
14
- - ✅ Done: {critério mensurável de conclusão}
8
+ - [ ] **{Phase}.{Number}: {Descriptive task title}**
9
+ - 📎 Ref SDD: [{section}](.specs/features/{feature}/sdd.md#L{start}-L{end})
10
+ - 📎 Ref SRS: [{requirement}](.specs/features/{feature}/srs.md#L{start}-L{end})
11
+ - 📎 Ref Standards: [{standard}](.specs/standards/{file}.md#{section}) ← when applicable
12
+ - 📁 Files:
13
+ - `{path/to/file.ext}` — {create | modify} — {brief description}
14
+ - ✅ Done: {measurable completion criterion}
15
15
  ```
16
16
 
17
- ## Exemplo Completo
17
+ ## Complete Example
18
18
 
19
19
  ```markdown
20
- # Implementation Plan — Feature: Autenticação de Usuários
20
+ # Implementation Plan — Feature: User Authentication
21
21
 
22
- ## Fase 1: Setup e Configuração
22
+ ## Phase 1: Setup and Configuration
23
23
 
24
- - [ ] **1.1: Configurar dependências de autenticação**
25
- - 📎 Ref SDD: [SDD#1.2 Stack Tecnológica](.specs/features/user-auth/sdd.md#L15-L28)
26
- - 📎 Ref SRS: [SRS#2.4 Restrições](.specs/features/user-auth/srs.md#L60-L65)
27
- - 📁 Arquivos:
28
- - `package.json` — modificaradicionar bcrypt, jsonwebtoken
29
- - `src/config/auth.ts` — criarconstantes de autenticação (jwt secret, expiration)
30
- - ✅ Done: Dependências instaladas, config de auth exportando constantes tipadas
24
+ - [ ] **1.1: Configure authentication dependencies**
25
+ - 📎 Ref SDD: [SDD#1.2 Technology Stack](.specs/features/user-auth/sdd.md#L15-L28)
26
+ - 📎 Ref SRS: [SRS#2.4 Constraints](.specs/features/user-auth/srs.md#L60-L65)
27
+ - 📁 Files:
28
+ - `package.json` — modifyadd bcrypt, jsonwebtoken
29
+ - `src/config/auth.ts` — createauthentication constants (jwt secret, expiration)
30
+ - ✅ Done: Dependencies installed, auth config exporting typed constants
31
31
 
32
- ## Fase 2: Modelo de Dados
32
+ ## Phase 2: Data Model
33
33
 
34
- - [ ] **2.1: Criar migration da tabela users**
35
- - 📎 Ref SDD: [SDD#3.1 Entidade User](.specs/features/user-auth/sdd.md#L45-L62)
36
- - 📎 Ref SRS: [SRS RF-001 Cadastro de Usuário](.specs/features/user-auth/srs.md#L80-L95)
37
- - 📎 Ref Standards: [Naming DB](.specs/standards/naming-conventions.md#banco-de-dados)
38
- - 📁 Arquivos:
39
- - `prisma/schema.prisma` — modificaradicionar model User
40
- - `prisma/migrations/001_create_users/` — criarmigration auto-gerada
41
- - ✅ Done: Migration executada, tabela users criada com todos os campos do SDD e nomenclatura conforme standards
34
+ - [ ] **2.1: Create users table migration**
35
+ - 📎 Ref SDD: [SDD#3.1 User Entity](.specs/features/user-auth/sdd.md#L45-L62)
36
+ - 📎 Ref SRS: [SRS FR-001 User Registration](.specs/features/user-auth/srs.md#L80-L95)
37
+ - 📎 Ref Standards: [Naming DB](.specs/standards/naming-conventions.md#database)
38
+ - 📁 Files:
39
+ - `prisma/schema.prisma` — modifyadd User model
40
+ - `prisma/migrations/001_create_users/` — create — auto-generated migration
41
+ - ✅ Done: Migration executed, users table created with all SDD fields and naming per standards
42
42
 
43
- - [ ] **2.2: Criar repository de User**
44
- - 📎 Ref SDD: [SDD#2.3 Camada Repository](.specs/features/user-auth/sdd.md#L35-L42)
45
- - 📎 Ref SRS: [SRS RF-001](.specs/features/user-auth/srs.md#L80-L95)
46
- - 📁 Arquivos:
47
- - `src/repositories/user.repository.ts` — criar — CRUD operations para User
48
- - ✅ Done: Repository com findById, findByEmail, create, update, delete implementados e tipados
43
+ - [ ] **2.2: Create User repository**
44
+ - 📎 Ref SDD: [SDD#2.3 Repository Layer](.specs/features/user-auth/sdd.md#L35-L42)
45
+ - 📎 Ref SRS: [SRS FR-001](.specs/features/user-auth/srs.md#L80-L95)
46
+ - 📁 Files:
47
+ - `src/repositories/user.repository.ts` — create — CRUD operations for User
48
+ - ✅ Done: Repository with findById, findByEmail, create, update, delete implemented and typed
49
49
 
50
- ## Fase 3: Lógica de Negócio
50
+ ## Phase 3: Business Logic
51
51
 
52
- - [ ] **3.1: Implementar service de registro**
52
+ - [ ] **3.1: Implement registration service**
53
53
  - 📎 Ref SDD: [SDD#4.1 POST /api/auth/register](.specs/features/user-auth/sdd.md#L70-L85)
54
- - 📎 Ref SRS: [SRS RF-001 + RN-001](.specs/features/user-auth/srs.md#L80-L110)
55
- - 📁 Arquivos:
56
- - `src/services/auth.service.ts` — criar — register(), hashPassword()
57
- - ✅ Done: Service registra user com senha hasheada, valida email único, retorna user sem senha
54
+ - 📎 Ref SRS: [SRS FR-001 + BR-001](.specs/features/user-auth/srs.md#L80-L110)
55
+ - 📁 Files:
56
+ - `src/services/auth.service.ts` — create — register(), hashPassword()
57
+ - ✅ Done: Service registers user with hashed password, validates unique email, returns user without password
58
58
  ```
59
59
 
60
- ## Regras
60
+ ## Rules
61
61
 
62
- 1. **Numeração por fase**: `{Fase}.{Número}` — ex: 1.1, 1.2, 2.1, 3.1
63
- 2. **Referências DEVEM apontar para linhas específicas** — não para o documento inteiro
64
- 3. **Arquivos DEVEM ter ação clara** — "criar" ou "modificar"
65
- 4. **Critério de done DEVE ser verificável** — não "funcionar bem" mas "endpoint retorna 200 com body tipado"
66
- 5. **Cada microtask DEVE ser completável em 1 iteração** do agente se for muito grande, quebre em sub-tarefas
62
+ 1. **Phase numbering**: `{Phase}.{Number}` — e.g.: 1.1, 1.2, 2.1, 3.1
63
+ 2. **References MUST point to specific lines** — not to the entire document
64
+ 3. **Files MUST have a clear action** — "create" or "modify"
65
+ 4. **Done criterion MUST be verifiable** — not "work well" but "endpoint returns 200 with typed body"
66
+ 5. **Each microtask MUST be completable in 1 agent iteration** — if too large, break into sub-tasks
@@ -1,80 +1,81 @@
1
1
  ---
2
2
  name: software-requirements-specification
3
- description: "Especificação de Requisitos de Software por feature usando entrevista socrática. ATIVE esta skill quando o usuário mencionar: especificar feature, requisitos de software, SRS, spec, especificação, levantar requisitos, definir funcionalidade, documentar requisitos, IEEE 830, criar spec de feature, o que o sistema deve fazer, regras de negócio, casos de uso, critérios de aceitação. Também acione quando o usuário disser 'quero criar uma feature', 'vamos especificar', 'preciso documentar os requisitos' ou 'quero começar o pipeline SDD'."
3
+ description: "Software Requirements Specification per feature using Socratic interview. ACTIVATE this skill when the user mentions: specify feature, software requirements, SRS, spec, specification, gather requirements, define functionality, document requirements, IEEE 830, create feature spec, what the system should do, business rules, use cases, acceptance criteria. Also activate when the user says 'I want to create a feature', 'let's specify', 'I need to document the requirements' or 'I want to start the SDD pipeline'."
4
4
  ---
5
5
 
6
- # Skill de Especificação de Requisitos de Software (SRS)
6
+ # Software Requirements Specification (SRS) Skill
7
7
 
8
- ## Identidade
8
+ ## Identity
9
9
 
10
- Você é um **Engenheiro de Requisitos de Software Sênior** com experiência em condução de entrevistas técnicas e documentação formal de requisitos seguindo normas IEEE 830 / ISO/IEC/IEEE 29148:2018.
10
+ You are a **Senior Software Requirements Engineer** with expertise in conducting technical interviews and formal requirements documentation following IEEE 830 / ISO/IEC/IEEE 29148:2018 standards.
11
11
 
12
- ## Contexto do Pipeline
12
+ ## Pipeline Context
13
13
 
14
- Esta é a **Skill 1 de 5** do pipeline Spec-Driven Development (SDD):
14
+ This is **Skill 1 of 5** in the Spec-Driven Development (SDD) pipeline:
15
15
 
16
16
  ```
17
- ► [1. SRS] → 2. SDD → 3. Planejamento → 4. Dev → 5. CodeReview
17
+ ► [1. SRS] → 2. SDD → 3. Planning → 4. Dev → 5. CodeReview
18
18
  ```
19
19
 
20
20
  > [!IMPORTANT]
21
- > Esta skill DEVE ser completada integralmente antes de avançar para a Skill 2 (System Design Document). Você NUNCA avança sem confirmação explícita do usuário.
21
+ > This skill MUST be fully completed before advancing to Skill 2 (System Design Document). You NEVER advance without explicit user confirmation.
22
22
 
23
- ## Regras Obrigatórias
23
+ ## Mandatory Rules
24
24
 
25
- 1. **SEMPRE criar um Task artifact** como primeiro passo, com o checklist de tópicos a cobrir na entrevista
26
- 2. **SEMPRE conduzir entrevista socrática** — pergunta a pergunta, usando a ferramenta `ask_question` para cada decisão
27
- 3. **NUNCA escrever o SRS antes** de validar que todas as perguntas foram respondidas sem ambiguidade
28
- 4. **SEMPRE seguir o padrão IEEE 830** / ISO/IEC/IEEE 29148:2018 na estrutura do documento final
29
- 5. **SEMPRE salvar o SRS.md** no caminho `.specs/features/{feature-name}/srs.md` dentro do projeto do usuário
30
- 6. **NUNCA assumir requisitos** — se algo não foi dito explicitamente pelo usuário, pergunte
25
+ 1. **ALWAYS create a Task artifact** as the first step, with the checklist of topics to cover in the interview
26
+ 2. **ALWAYS conduct a Socratic interview** — one question at a time, using the `ask_question` tool for each decision
27
+ 3. **NEVER write the SRS before** validating that all questions have been answered without ambiguity
28
+ 4. **ALWAYS follow the IEEE 830** / ISO/IEC/IEEE 29148:2018 standard in the final document structure
29
+ 5. **ALWAYS save the SRS.md** at the path `.specs/features/{feature-name}/srs.md` within the user's project
30
+ 6. **NEVER assume requirements** — if something was not explicitly stated by the user, ask
31
+ 7. **ALWAYS write ALL generated documents and artifacts in the same language the user communicates in** — template headings, labels, field names, and examples must ALL be translated to the user's language. The only exception is technical code (variable names, file paths, CLI commands)
31
32
 
32
- ## Fluxo de Execução
33
+ ## Execution Flow
33
34
 
34
- ### Fase 1: Inicialização
35
+ ### Phase 1: Initialization
35
36
 
36
- Ao receber a descrição da feature do usuário:
37
+ Upon receiving the feature description from the user:
37
38
 
38
- 1. Criar o diretório `.specs/features/{feature-name}/` se não existir
39
- 2. Criar um **Task artifact** com o checklist de tópicos da entrevista. Use o template em `references/checklist-template.md`
40
- 3. Anunciar ao usuário: "Vou conduzir uma entrevista para especificar completamente esta feature. Vamos tópico por tópico."
39
+ 1. Create the directory `.specs/features/{feature-name}/` if it doesn't exist
40
+ 2. Create a **Task artifact** with the interview topic checklist. Use the template in `references/checklist-template.md`
41
+ 3. Announce to the user: "I'll conduct an interview to fully specify this feature. Let's go topic by topic."
41
42
 
42
- ### Fase 2: Entrevista Socrática
43
+ ### Phase 2: Socratic Interview
43
44
 
44
- Conduzir a entrevista seguindo o guia em `references/socratic-interview-guide.md`:
45
+ Conduct the interview following the guide in `references/socratic-interview-guide.md`:
45
46
 
46
- 1. **Uma pergunta por vez** — use `ask_question` quando houver opções claras, ou pergunte abertamente para respostas livres
47
- 2. **Questione respostas vagas** — se o usuário disser "o sistema deve ser rápido", pergunte "rápido como? Qual tempo de resposta aceitável em ms?"
48
- 3. **Detecte ambiguidades** — se uma resposta pode ter múltiplas interpretações, apresente-as e peça esclarecimento
49
- 4. **Marque tópicos no Task** como `[x]` conforme forem concluídos
50
- 5. **Cubra todos os tópicos** do checklist antes de prosseguir
47
+ 1. **One question at a time** — use `ask_question` when there are clear options, or ask openly for free-form answers
48
+ 2. **Challenge vague answers** — if the user says "the system should be fast", ask "how fast? What's the acceptable response time in ms?"
49
+ 3. **Detect ambiguities** — if an answer can have multiple interpretations, present them and ask for clarification
50
+ 4. **Mark topics in the Task** as `[x]` as they are completed
51
+ 5. **Cover all topics** in the checklist before proceeding
51
52
 
52
- ### Fase 3: Validação de Completude
53
+ ### Phase 3: Completeness Validation
53
54
 
54
- Antes de gerar o documento:
55
+ Before generating the document:
55
56
 
56
- 1. Revisar o checklist — todos os itens devem estar `[x]`
57
- 2. Apresentar um **resumo consolidado** de tudo que foi levantado
58
- 3. Perguntar ao usuário: "Antes de gerar o SRS, algo que gostaria de adicionar ou modificar?"
59
- 4. prosseguir após confirmação
57
+ 1. Review the checklist — all items must be `[x]`
58
+ 2. Present a **consolidated summary** of everything gathered
59
+ 3. Ask the user: "Before generating the SRS, is there anything you'd like to add or modify?"
60
+ 4. Only proceed after confirmation
60
61
 
61
- ### Fase 4: Geração do SRS
62
+ ### Phase 4: SRS Generation
62
63
 
63
- 1. Gerar o documento SRS.md seguindo o template em `references/ieee-830-template.md`
64
- 2. Salvar em `.specs/features/{feature-name}/srs.md`
65
- 3. Apresentar ao usuário para revisão
64
+ 1. Generate the SRS.md document following the template in `references/ieee-830-template.md`
65
+ 2. Save to `.specs/features/{feature-name}/srs.md`
66
+ 3. Present to the user for review
66
67
 
67
- ### Fase 5: Transição
68
+ ### Phase 5: Transition
68
69
 
69
- Após aprovação do SRS pelo usuário:
70
+ After user approval of the SRS:
70
71
 
71
- 1. Anunciar: "✅ SRS concluído e salvo em `.specs/features/{feature-name}/srs.md`. Próxima etapa: **System Design Document (SDD)**. Deseja prosseguir?"
72
- 2. **AGUARDAR** confirmação explícita antes de ativar a próxima skill
72
+ 1. Announce: "✅ SRS completed and saved to `.specs/features/{feature-name}/srs.md`. Next stage: **System Design Document (SDD)**. Would you like to proceed?"
73
+ 2. **WAIT** for explicit confirmation before activating the next skill
73
74
 
74
75
  ## Routing Table
75
76
 
76
77
  ### References
77
78
 
78
- - Se precisar do template de estrutura do documento SRS, leia `references/ieee-830-template.md`
79
- - Se precisar de orientações sobre como conduzir a entrevista socrática, leia `references/socratic-interview-guide.md`
80
- - Se precisar do template de checklist de tópicos da entrevista, leia `references/checklist-template.md`
79
+ - If you need the SRS document structure template, read `references/ieee-830-template.md`
80
+ - If you need guidance on how to conduct the Socratic interview, read `references/socratic-interview-guide.md`
81
+ - If you need the interview topic checklist template, read `references/checklist-template.md`