@qubiit/lmagent 2.5.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.
- package/.editorconfig +18 -0
- package/AGENTS.md +169 -0
- package/CLAUDE.md +122 -0
- package/CONTRIBUTING.md +90 -0
- package/LICENSE +21 -0
- package/README.md +195 -0
- package/config/commands.yaml +194 -0
- package/config/levels.yaml +135 -0
- package/config/models.yaml +192 -0
- package/config/settings.yaml +405 -0
- package/config/tools-extended.yaml +534 -0
- package/config/tools.yaml +437 -0
- package/docs/assets/logo.png +0 -0
- package/docs/commands.md +132 -0
- package/docs/customization-guide.md +445 -0
- package/docs/getting-started.md +154 -0
- package/docs/how-to-start.md +242 -0
- package/docs/navigation-index.md +227 -0
- package/docs/usage-guide.md +113 -0
- package/install.js +1044 -0
- package/package.json +35 -0
- package/pyproject.toml +182 -0
- package/rules/_bootstrap.md +138 -0
- package/rules/agents-ia.md +607 -0
- package/rules/api-design.md +337 -0
- package/rules/automations-n8n.md +646 -0
- package/rules/code-style.md +570 -0
- package/rules/documentation.md +98 -0
- package/rules/security.md +316 -0
- package/rules/stack.md +395 -0
- package/rules/testing.md +326 -0
- package/rules/workflow.md +353 -0
- package/scripts/create_skill.js +300 -0
- package/scripts/validate_skills.js +283 -0
- package/skills/ai-agent-engineer/SKILL.md +394 -0
- package/skills/ai-agent-engineer/references/agent-patterns.md +149 -0
- package/skills/api-designer/SKILL.md +429 -0
- package/skills/api-designer/references/api-standards.md +13 -0
- package/skills/architect/SKILL.md +285 -0
- package/skills/architect/references/c4-model.md +133 -0
- package/skills/automation-engineer/SKILL.md +352 -0
- package/skills/automation-engineer/references/n8n-patterns.md +127 -0
- package/skills/backend-engineer/SKILL.md +261 -0
- package/skills/backend-engineer/assets/fastapi-project-structure.yaml +74 -0
- package/skills/backend-engineer/references/debugging-guide.md +174 -0
- package/skills/backend-engineer/references/design-patterns.md +208 -0
- package/skills/backend-engineer/scripts/scaffold_backend.py +313 -0
- package/skills/bmad-methodology/SKILL.md +202 -0
- package/skills/bmad-methodology/references/scale-adaptive-levels.md +141 -0
- package/skills/browser-agent/SKILL.md +502 -0
- package/skills/browser-agent/scripts/playwright_setup.ts +16 -0
- package/skills/code-reviewer/SKILL.md +306 -0
- package/skills/code-reviewer/references/code-review-checklist.md +16 -0
- package/skills/data-engineer/SKILL.md +474 -0
- package/skills/data-engineer/assets/pg-monitoring-queries.sql +154 -0
- package/skills/data-engineer/references/index-strategy.md +128 -0
- package/skills/data-engineer/scripts/backup_postgres.py +221 -0
- package/skills/devops-engineer/SKILL.md +547 -0
- package/skills/devops-engineer/references/ci-cd-patterns.md +265 -0
- package/skills/devops-engineer/scripts/docker_healthcheck.py +125 -0
- package/skills/document-generator/SKILL.md +746 -0
- package/skills/document-generator/references/pdf-generation.md +22 -0
- package/skills/frontend-engineer/SKILL.md +532 -0
- package/skills/frontend-engineer/references/accessibility-guide.md +146 -0
- package/skills/frontend-engineer/scripts/audit_bundle.py +144 -0
- package/skills/git-workflow/SKILL.md +374 -0
- package/skills/git-workflow/references/git-flow.md +25 -0
- package/skills/mcp-builder/SKILL.md +471 -0
- package/skills/mcp-builder/references/mcp-server-guide.md +23 -0
- package/skills/mobile-engineer/SKILL.md +502 -0
- package/skills/mobile-engineer/references/platform-guidelines.md +160 -0
- package/skills/orchestrator/SKILL.md +246 -0
- package/skills/orchestrator/references/methodology-routing.md +117 -0
- package/skills/orchestrator/references/persona-mapping.md +85 -0
- package/skills/orchestrator/references/routing-logic.md +110 -0
- package/skills/performance-engineer/SKILL.md +549 -0
- package/skills/performance-engineer/references/caching-patterns.md +181 -0
- package/skills/performance-engineer/scripts/profile_endpoint.py +170 -0
- package/skills/product-manager/SKILL.md +488 -0
- package/skills/product-manager/references/prioritization-frameworks.md +126 -0
- package/skills/prompt-engineer/SKILL.md +433 -0
- package/skills/prompt-engineer/references/prompt-patterns.md +158 -0
- package/skills/qa-engineer/SKILL.md +441 -0
- package/skills/qa-engineer/references/testing-strategy.md +166 -0
- package/skills/qa-engineer/scripts/run_coverage.py +147 -0
- package/skills/scrum-master/SKILL.md +225 -0
- package/skills/scrum-master/references/sprint-ceremonies.md +159 -0
- package/skills/security-analyst/SKILL.md +390 -0
- package/skills/security-analyst/references/owasp-top10.md +188 -0
- package/skills/security-analyst/scripts/audit_security.py +242 -0
- package/skills/seo-auditor/SKILL.md +523 -0
- package/skills/seo-auditor/references/seo-checklist.md +17 -0
- package/skills/spec-driven-dev/SKILL.md +342 -0
- package/skills/spec-driven-dev/references/phase-gates.md +107 -0
- package/skills/supabase-expert/SKILL.md +602 -0
- package/skills/supabase-expert/references/supabase-patterns.md +19 -0
- package/skills/swe-agent/SKILL.md +311 -0
- package/skills/swe-agent/references/trajectory-format.md +134 -0
- package/skills/systematic-debugger/SKILL.md +512 -0
- package/skills/systematic-debugger/references/debugging-guide.md +12 -0
- package/skills/tech-lead/SKILL.md +409 -0
- package/skills/tech-lead/references/code-review-checklist.md +111 -0
- package/skills/technical-writer/SKILL.md +631 -0
- package/skills/technical-writer/references/doc-templates.md +218 -0
- package/skills/testing-strategist/SKILL.md +476 -0
- package/skills/testing-strategist/references/testing-pyramid.md +16 -0
- package/skills/ux-ui-designer/SKILL.md +419 -0
- package/skills/ux-ui-designer/references/design-system-foundation.md +168 -0
- package/skills_overview.txt +94 -0
- package/templates/PROJECT_KICKOFF.md +284 -0
- package/templates/SKILL_TEMPLATE.md +131 -0
- package/templates/USAGE.md +95 -0
- package/templates/agent-python/README.md +71 -0
- package/templates/agent-python/agent.py +272 -0
- package/templates/agent-python/config.yaml +76 -0
- package/templates/agent-python/prompts/system.md +109 -0
- package/templates/agent-python/requirements.txt +7 -0
- package/templates/automation-n8n/README.md +14 -0
- package/templates/automation-n8n/webhook-handler.json +57 -0
- package/templates/backend-node/Dockerfile +12 -0
- package/templates/backend-node/README.md +15 -0
- package/templates/backend-node/package.json +30 -0
- package/templates/backend-node/src/index.ts +19 -0
- package/templates/backend-node/src/routes.ts +7 -0
- package/templates/backend-node/tsconfig.json +22 -0
- package/templates/backend-python/Dockerfile +11 -0
- package/templates/backend-python/README.md +78 -0
- package/templates/backend-python/app/core/config.py +12 -0
- package/templates/backend-python/app/core/database.py +12 -0
- package/templates/backend-python/app/main.py +17 -0
- package/templates/backend-python/app/routers/__init__.py +1 -0
- package/templates/backend-python/app/routers/health.py +7 -0
- package/templates/backend-python/requirements-dev.txt +6 -0
- package/templates/backend-python/requirements.txt +4 -0
- package/templates/backend-python/tests/test_health.py +9 -0
- package/templates/checkpoint.yaml +117 -0
- package/templates/database/README.md +474 -0
- package/templates/frontend-react/README.md +446 -0
- package/templates/plan.yaml +320 -0
- package/templates/session.yaml +125 -0
- package/templates/spec.yaml +229 -0
- package/templates/tasks.yaml +330 -0
- package/workflows/bugfix-backend.md +380 -0
- package/workflows/documentation.md +232 -0
- package/workflows/generate-prd.md +320 -0
- package/workflows/ideation.md +396 -0
- package/workflows/new-agent-ia.md +497 -0
- package/workflows/new-automation.md +374 -0
- package/workflows/new-feature.md +290 -0
- package/workflows/optimize-performance.md +373 -0
- package/workflows/resolve-github-issue.md +524 -0
- package/workflows/security-review.md +291 -0
- package/workflows/spec-driven.md +476 -0
- package/workflows/testing-strategy.md +296 -0
- package/workflows/third-party-integration.md +277 -0
|
@@ -0,0 +1,342 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Spec-Driven Agentic Development
|
|
3
|
+
description: Metodología de desarrollo basada rigurosamente en especificaciones y contratos técnicos para garantizar trazabilidad.
|
|
4
|
+
role: Development Methodology - Specification as Source of Truth
|
|
5
|
+
type: methodology
|
|
6
|
+
version: 2.5
|
|
7
|
+
icon: 📋
|
|
8
|
+
expertise:
|
|
9
|
+
- Specification-first development
|
|
10
|
+
- YAML-based artifact pipeline
|
|
11
|
+
- Multi-phase agentic workflows
|
|
12
|
+
- Persona-phase routing
|
|
13
|
+
- Context handoff protocols
|
|
14
|
+
- spec.yaml → plan.yaml → tasks.yaml pipeline
|
|
15
|
+
- Acceptance criteria validation
|
|
16
|
+
activates_on:
|
|
17
|
+
- Desarrollo de features complejos (Level 2+)
|
|
18
|
+
- Proyectos nuevos que requieren especificación formal
|
|
19
|
+
- Cuando se necesita trazabilidad spec → code
|
|
20
|
+
- Refactors arquitecturales
|
|
21
|
+
- MVPs de productos nuevos
|
|
22
|
+
triggers:
|
|
23
|
+
- /spec-dev
|
|
24
|
+
- /sdd-skill
|
|
25
|
+
- /spec-method
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
# Spec-Driven Agentic Development Skill
|
|
29
|
+
|
|
30
|
+
> **SPEC+LM Methodology**: La especificación es la fuente de verdad. El código se deriva de ella, no al revés. Cada fase tiene un experto y un artefacto verificable.
|
|
31
|
+
|
|
32
|
+
## 🧠 System Prompt
|
|
33
|
+
|
|
34
|
+
```markdown
|
|
35
|
+
Eres un experto en **Spec-Driven Agentic Development (SPEC+LM)**.
|
|
36
|
+
Tu objetivo es **GARANTIZAR QUE EL CÓDIGO REFLEJE EXACTAMENTE LO ESPECIFICADO**.
|
|
37
|
+
Tu tono es **Disciplinado, Trazable, Orientado a Artifacts**.
|
|
38
|
+
|
|
39
|
+
**Principios Core:**
|
|
40
|
+
1. **Spec is Truth**: Si no está en la spec, no se construye. Si está en la spec, se construye.
|
|
41
|
+
2. **Artifacts as Contracts**: Cada fase produce un artefacto que es contrato para la siguiente.
|
|
42
|
+
3. **Phase Gates**: No avanzar de fase sin validar el artefacto anterior.
|
|
43
|
+
4. **Persona Expertise**: Cada fase tiene un experto asignado; no mezclar responsabilidades.
|
|
44
|
+
|
|
45
|
+
**Restricciones:**
|
|
46
|
+
- NUNCA implementes sin un spec.yaml aprobado.
|
|
47
|
+
- NUNCA avances de fase sin validar el artefacto de la fase anterior.
|
|
48
|
+
- SIEMPRE mantén trazabilidad: spec → plan → tasks → code → tests.
|
|
49
|
+
- SIEMPRE usa el Context Handoff Protocol entre fases.
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## 📊 Pipeline de 5 Fases
|
|
53
|
+
|
|
54
|
+
```
|
|
55
|
+
┌─────────────────────────────────────────────────────────────────────────────┐
|
|
56
|
+
│ SPEC DRIVEN DEVELOPMENT PIPELINE │
|
|
57
|
+
│ │
|
|
58
|
+
│ SPECIFY PLAN TASKS IMPLEMENT VERIFY │
|
|
59
|
+
│ ─────────► ─────────► ─────────► ─────────► ─────────► │
|
|
60
|
+
│ │
|
|
61
|
+
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
|
|
62
|
+
│ │spec.yaml │→ │plan.yaml │→ │tasks.yaml│→ │ CODE │→ │ TESTS │ │
|
|
63
|
+
│ │ │ │ │ │ │ │ │ │ │ │
|
|
64
|
+
│ │ WHAT │ │ HOW │ │ ACTIONS │ │ RESULT │ │ VALIDATE │ │
|
|
65
|
+
│ └──────────┘ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │
|
|
66
|
+
│ │
|
|
67
|
+
│ /pm /arch /dev /dev+/qa /qa │
|
|
68
|
+
│ writes designs breaks down implements validates │
|
|
69
|
+
└─────────────────────────────────────────────────────────────────────────────┘
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## 📝 Phase 1: SPECIFY (`/pm`)
|
|
73
|
+
|
|
74
|
+
**Objetivo**: Definir QUÉ construir y POR QUÉ.
|
|
75
|
+
|
|
76
|
+
### Artefacto: `spec.yaml`
|
|
77
|
+
|
|
78
|
+
```yaml
|
|
79
|
+
# Template: templates/spec.yaml
|
|
80
|
+
metadata:
|
|
81
|
+
title: "[Feature Name]"
|
|
82
|
+
status: draft # draft → review → approved
|
|
83
|
+
|
|
84
|
+
problem_statement:
|
|
85
|
+
description: "[Qué problema resolvemos]"
|
|
86
|
+
affected_users: [...]
|
|
87
|
+
evidence: [...]
|
|
88
|
+
|
|
89
|
+
solution:
|
|
90
|
+
overview: "[Descripción de alto nivel]"
|
|
91
|
+
in_scope: [...]
|
|
92
|
+
out_of_scope: [...]
|
|
93
|
+
|
|
94
|
+
user_stories:
|
|
95
|
+
- id: "US-001"
|
|
96
|
+
as_a: "[tipo de usuario]"
|
|
97
|
+
i_want: "[acción]"
|
|
98
|
+
so_that: "[beneficio]"
|
|
99
|
+
acceptance_criteria: [...]
|
|
100
|
+
|
|
101
|
+
success_metrics:
|
|
102
|
+
primary: { metric, baseline, target }
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
### Gate de Aprobación
|
|
106
|
+
- [ ] Problem Statement validado con evidencia
|
|
107
|
+
- [ ] User Stories con acceptance criteria claros
|
|
108
|
+
- [ ] Success Metrics definidas y medibles
|
|
109
|
+
- [ ] Status cambiado a `approved`
|
|
110
|
+
|
|
111
|
+
**Template**: [spec.yaml](../templates/spec.yaml)
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## 🏗️ Phase 2: PLAN (`/arch`)
|
|
116
|
+
|
|
117
|
+
**Objetivo**: Definir CÓMO construir la solución.
|
|
118
|
+
|
|
119
|
+
### Artefacto: `plan.yaml`
|
|
120
|
+
|
|
121
|
+
```yaml
|
|
122
|
+
# Template: templates/plan.yaml
|
|
123
|
+
architecture:
|
|
124
|
+
decisions:
|
|
125
|
+
- id: "ADR-001"
|
|
126
|
+
title: "[Decisión]"
|
|
127
|
+
status: proposed
|
|
128
|
+
consequences:
|
|
129
|
+
positive: [...]
|
|
130
|
+
negative: [...]
|
|
131
|
+
|
|
132
|
+
phases:
|
|
133
|
+
- name: "Foundation"
|
|
134
|
+
tasks: ["Setup", "DB", "configs"]
|
|
135
|
+
- name: "Core Logic"
|
|
136
|
+
tasks: ["Business logic"]
|
|
137
|
+
- name: "API Layer"
|
|
138
|
+
tasks: ["Endpoints", "Auth"]
|
|
139
|
+
|
|
140
|
+
parallel_execution:
|
|
141
|
+
enabled: true
|
|
142
|
+
groups: [...]
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
### Gate de Aprobación
|
|
146
|
+
- [ ] ADRs documentados para decisiones clave
|
|
147
|
+
- [ ] Fases definidas con dependencias claras
|
|
148
|
+
- [ ] Rollback plan definido
|
|
149
|
+
- [ ] Security considerations documentadas
|
|
150
|
+
|
|
151
|
+
**Template**: [plan.yaml](../templates/plan.yaml)
|
|
152
|
+
|
|
153
|
+
---
|
|
154
|
+
|
|
155
|
+
## 📋 Phase 3: TASKS (`/dev`)
|
|
156
|
+
|
|
157
|
+
**Objetivo**: Desglosar el plan en tareas ejecutables.
|
|
158
|
+
|
|
159
|
+
### Artefacto: `tasks.yaml`
|
|
160
|
+
|
|
161
|
+
```yaml
|
|
162
|
+
# Template: templates/tasks.yaml
|
|
163
|
+
tasks:
|
|
164
|
+
- id: "T001"
|
|
165
|
+
title: "[Título descriptivo]"
|
|
166
|
+
persona: "/dev"
|
|
167
|
+
estimated_hours: 2.0
|
|
168
|
+
file_operations:
|
|
169
|
+
create: ["path/to/new/file.py"]
|
|
170
|
+
modify: ["path/to/existing/file.py"]
|
|
171
|
+
dependencies: []
|
|
172
|
+
acceptance_criteria:
|
|
173
|
+
- "[ ] [Criterio 1]"
|
|
174
|
+
- "[ ] [Criterio 2]"
|
|
175
|
+
commands:
|
|
176
|
+
validate: ["pytest tests/ -v"]
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
### Reglas para Tasks
|
|
180
|
+
|
|
181
|
+
| Regla | Descripción |
|
|
182
|
+
|-------|-------------|
|
|
183
|
+
| **Atómica** | Una task = una acción completa |
|
|
184
|
+
| **Estimable** | Máximo 4 horas por task |
|
|
185
|
+
| **Testeable** | Cada task tiene criterio de aceptación |
|
|
186
|
+
| **Independiente** | Mínimas dependencias posibles |
|
|
187
|
+
|
|
188
|
+
**Template**: [tasks.yaml](../templates/tasks.yaml)
|
|
189
|
+
|
|
190
|
+
---
|
|
191
|
+
|
|
192
|
+
## 💻 Phase 4: IMPLEMENT (`/dev`)
|
|
193
|
+
|
|
194
|
+
**Objetivo**: Ejecutar las tasks y producir código.
|
|
195
|
+
|
|
196
|
+
### Proceso
|
|
197
|
+
|
|
198
|
+
```mermaid
|
|
199
|
+
graph TD
|
|
200
|
+
A[Seleccionar Task] --> B{Dependencias completadas?}
|
|
201
|
+
B -->|No| C[Esperar o cambiar task]
|
|
202
|
+
B -->|Sí| D[Implementar]
|
|
203
|
+
D --> E[Edit-Lint-Test Loop]
|
|
204
|
+
E --> F{Tests pasan?}
|
|
205
|
+
F -->|No| D
|
|
206
|
+
F -->|Sí| G[Marcar task completa]
|
|
207
|
+
G --> H{Más tasks?}
|
|
208
|
+
H -->|Sí| A
|
|
209
|
+
H -->|No| I[Proceed to Verify]
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
### Actualizar tasks.yaml
|
|
213
|
+
|
|
214
|
+
```yaml
|
|
215
|
+
- id: "T001"
|
|
216
|
+
status: completed
|
|
217
|
+
actual_hours: 2.5
|
|
218
|
+
completed_at: "2026-01-23T12:30:00"
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
---
|
|
222
|
+
|
|
223
|
+
## ✅ Phase 5: VERIFY (`/qa`)
|
|
224
|
+
|
|
225
|
+
**Objetivo**: Validar que la implementación cumple la spec.
|
|
226
|
+
|
|
227
|
+
### Checklist de Verificación
|
|
228
|
+
|
|
229
|
+
#### Funcional
|
|
230
|
+
- [ ] Todos los acceptance criteria de user stories cumplidos
|
|
231
|
+
- [ ] Happy paths funcionan
|
|
232
|
+
- [ ] Error paths manejados correctamente
|
|
233
|
+
- [ ] Edge cases cubiertos
|
|
234
|
+
|
|
235
|
+
#### Técnico
|
|
236
|
+
- [ ] Tests passing (unit + integration + E2E)
|
|
237
|
+
- [ ] Coverage > 80%
|
|
238
|
+
- [ ] Performance dentro de límites
|
|
239
|
+
- [ ] Security scan pasado
|
|
240
|
+
|
|
241
|
+
#### Documentación
|
|
242
|
+
- [ ] API docs actualizados
|
|
243
|
+
- [ ] README actualizado
|
|
244
|
+
- [ ] Changelog actualizado
|
|
245
|
+
|
|
246
|
+
---
|
|
247
|
+
|
|
248
|
+
## 🔄 Context Handoff Protocol
|
|
249
|
+
|
|
250
|
+
**CRÍTICO**: Al pasar contexto entre fases, SIEMPRE incluir:
|
|
251
|
+
|
|
252
|
+
```markdown
|
|
253
|
+
**Handoff: /[origen] → /[destino]**
|
|
254
|
+
|
|
255
|
+
📄 **Estado Actual**: [Qué se completó]
|
|
256
|
+
📁 **Artefactos**: [Lista de archivos creados/modificados]
|
|
257
|
+
📋 **Siguiente Paso**: [Acción específica para la próxima persona]
|
|
258
|
+
✅ **Criterio de Éxito**: [Cómo saber que la fase terminó]
|
|
259
|
+
⚠️ **Riesgos/Bloqueos**: [Si hay alguno identificado]
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
### Ejemplo
|
|
263
|
+
|
|
264
|
+
```markdown
|
|
265
|
+
**Handoff: /pm → /arch**
|
|
266
|
+
|
|
267
|
+
📄 **Estado Actual**: PRD completado para sistema de autenticación multi-tenant.
|
|
268
|
+
📁 **Artefactos**:
|
|
269
|
+
- specs/auth-system/spec.yaml (approved)
|
|
270
|
+
📋 **Siguiente Paso**: Diseñar arquitectura de auth con JWT + refresh tokens.
|
|
271
|
+
✅ **Criterio de Éxito**:
|
|
272
|
+
- ADR para elección de auth flow
|
|
273
|
+
- plan.yaml con fases estimadas
|
|
274
|
+
⚠️ **Riesgos/Bloqueos**: Integración con SSO pendiente de API docs.
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
## 🎯 Integración con Orchestrator
|
|
278
|
+
|
|
279
|
+
El [Orchestrator](../orchestrator/SKILL.md) activa automáticamente Spec-Driven para tareas Level 2+:
|
|
280
|
+
|
|
281
|
+
```
|
|
282
|
+
User Input → Orchestrator clasifica nivel
|
|
283
|
+
│
|
|
284
|
+
▼
|
|
285
|
+
┌───────────────┐
|
|
286
|
+
│ Level 0-1 │ → Directo a /dev
|
|
287
|
+
│ Level 2+ │ → Activa /spec-dev workflow
|
|
288
|
+
└───────────────┘
|
|
289
|
+
```
|
|
290
|
+
|
|
291
|
+
## 🛠️ Comandos
|
|
292
|
+
|
|
293
|
+
| Comando | Acción |
|
|
294
|
+
|---------|--------|
|
|
295
|
+
| `/spec-dev new [name]` | Crear nueva spec + pipeline completo |
|
|
296
|
+
| `/spec-dev plan [name]` | Generar plan desde spec existente |
|
|
297
|
+
| `/spec-dev tasks [name]` | Generar tasks desde plan existente |
|
|
298
|
+
| `/spec-dev status [name]` | Ver estado del feature en el pipeline |
|
|
299
|
+
| `/spec-dev validate [name]` | Validar implementación contra spec |
|
|
300
|
+
|
|
301
|
+
## 🛠️ Tool Bindings
|
|
302
|
+
|
|
303
|
+
| Herramienta | Cuándo Usarla |
|
|
304
|
+
|-------------|---------------|
|
|
305
|
+
| `view_file` | Leer specs, plans, tasks existentes |
|
|
306
|
+
| `write_to_file` | Crear spec.yaml, plan.yaml, tasks.yaml |
|
|
307
|
+
| `notify_user` | Phase gates — pedir aprobación antes de avanzar |
|
|
308
|
+
| `grep_search` | Verificar trazabilidad spec → code |
|
|
309
|
+
| `run_command` | Ejecutar validaciones y tests |
|
|
310
|
+
|
|
311
|
+
## 📚 Referencias
|
|
312
|
+
|
|
313
|
+
- [templates/spec.yaml](../templates/spec.yaml) — Template de especificación
|
|
314
|
+
- [templates/plan.yaml](../templates/plan.yaml) — Template de plan
|
|
315
|
+
- [templates/tasks.yaml](../templates/tasks.yaml) — Template de tasks
|
|
316
|
+
- [workflows/spec-driven.md](../workflows/spec-driven.md) — Workflow SOP completo
|
|
317
|
+
- [skills/orchestrator/SKILL.md](../orchestrator/SKILL.md) — Routing automático
|
|
318
|
+
|
|
319
|
+
## 📋 Definition of Done (Spec-Driven)
|
|
320
|
+
|
|
321
|
+
### Pipeline Completo
|
|
322
|
+
- [ ] `spec.yaml` creado y aprobado
|
|
323
|
+
- [ ] `plan.yaml` creado y aprobado
|
|
324
|
+
- [ ] `tasks.yaml` creado con tasks atómicas
|
|
325
|
+
- [ ] Todas las tasks implementadas
|
|
326
|
+
- [ ] Verificación contra spec completada
|
|
327
|
+
|
|
328
|
+
### Trazabilidad
|
|
329
|
+
- [ ] Cada user story tiene acceptance criteria
|
|
330
|
+
- [ ] Cada task tiene criterio de aceptación
|
|
331
|
+
- [ ] Context Handoff Protocol usado entre fases
|
|
332
|
+
- [ ] Plan de rollback documentado
|
|
333
|
+
|
|
334
|
+
### Artifacts
|
|
335
|
+
- [ ] Todos los artefactos YAML válidos y completos
|
|
336
|
+
- [ ] Status actualizado en cada artefacto
|
|
337
|
+
- [ ] Lecciones aprendidas documentadas (retrospectiva)
|
|
338
|
+
|
|
339
|
+
---
|
|
340
|
+
|
|
341
|
+
*Skill version: 2.3 | SPEC+LM Methodology*
|
|
342
|
+
*Compatible con: BMAD-METHOD + SWE-Agent*
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
# Spec-Driven Dev: Fase Gates Reference
|
|
2
|
+
|
|
3
|
+
> Criterios de transición entre las 5 fases del pipeline Spec-Driven.
|
|
4
|
+
|
|
5
|
+
## Las 5 Fases
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
PHASE 1 PHASE 2 PHASE 3 PHASE 4 PHASE 5
|
|
9
|
+
SPECIFY → PLAN → TASKS → IMPLEMENT → VERIFY
|
|
10
|
+
spec.yaml plan.yaml tasks.yaml CODE REPORT
|
|
11
|
+
/pm /arch /dev /dev+fe /qa
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## Criterios Gate por Fase
|
|
15
|
+
|
|
16
|
+
### Gate 1: SPECIFY → PLAN
|
|
17
|
+
|
|
18
|
+
**Artefacto requerido:** `spec.yaml`
|
|
19
|
+
|
|
20
|
+
**Criterios de paso:**
|
|
21
|
+
- [ ] Problema claramente definido
|
|
22
|
+
- [ ] User stories con acceptance criteria
|
|
23
|
+
- [ ] Métricas de éxito definidas (KPIs)
|
|
24
|
+
- [ ] Scope explícito (qué SÍ y qué NO incluye)
|
|
25
|
+
- [ ] Stakeholders alineados
|
|
26
|
+
- [ ] Priorización hecha (MoSCoW o similar)
|
|
27
|
+
|
|
28
|
+
**Quién aprueba:** Product Manager (`/pm`)
|
|
29
|
+
|
|
30
|
+
### Gate 2: PLAN → TASKS
|
|
31
|
+
|
|
32
|
+
**Artefacto requerido:** `plan.yaml`
|
|
33
|
+
|
|
34
|
+
**Criterios de paso:**
|
|
35
|
+
- [ ] ADR(s) escritos para decisiones técnicas
|
|
36
|
+
- [ ] Arquitectura diseñada (C4 containers mínimo)
|
|
37
|
+
- [ ] Stack tecnológico definido y justificado
|
|
38
|
+
- [ ] Fases de implementación definidas
|
|
39
|
+
- [ ] Riesgos técnicos identificados
|
|
40
|
+
- [ ] Dependencias externas mapeadas
|
|
41
|
+
|
|
42
|
+
**Quién aprueba:** Architect (`/arch`)
|
|
43
|
+
|
|
44
|
+
### Gate 3: TASKS → IMPLEMENT
|
|
45
|
+
|
|
46
|
+
**Artefacto requerido:** `tasks.yaml`
|
|
47
|
+
|
|
48
|
+
**Criterios de paso:**
|
|
49
|
+
- [ ] Tasks atómicas (≤4h cada una)
|
|
50
|
+
- [ ] Dependencias entre tasks definidas
|
|
51
|
+
- [ ] Orden de ejecución definido
|
|
52
|
+
- [ ] Estimaciones en T-shirt sizes
|
|
53
|
+
- [ ] Cada task tiene acceptance criteria
|
|
54
|
+
|
|
55
|
+
**Quién aprueba:** Tech Lead (`/lead`) o Dev (`/dev`)
|
|
56
|
+
|
|
57
|
+
### Gate 4: IMPLEMENT → VERIFY
|
|
58
|
+
|
|
59
|
+
**Artefacto requerido:** Código + Tests
|
|
60
|
+
|
|
61
|
+
**Criterios de paso:**
|
|
62
|
+
- [ ] Código implementado y compilando
|
|
63
|
+
- [ ] Tests unitarios escritos (coverage ≥ 80%)
|
|
64
|
+
- [ ] Lint limpio (no errores)
|
|
65
|
+
- [ ] Environment variables documentadas
|
|
66
|
+
- [ ] README/docs actualizados
|
|
67
|
+
- [ ] PR listo para review
|
|
68
|
+
|
|
69
|
+
**Quién aprueba:** Developer (`/dev`)
|
|
70
|
+
|
|
71
|
+
### Gate 5: VERIFY → DONE
|
|
72
|
+
|
|
73
|
+
**Artefacto requerido:** Reporte de verificación
|
|
74
|
+
|
|
75
|
+
**Criterios de paso:**
|
|
76
|
+
- [ ] Acceptance criteria del spec.yaml cumplidos
|
|
77
|
+
- [ ] Tests E2E pasando
|
|
78
|
+
- [ ] Performance dentro de SLOs
|
|
79
|
+
- [ ] Security review (si aplica)
|
|
80
|
+
- [ ] Documentación completa
|
|
81
|
+
- [ ] Deploy exitoso (staging mínimo)
|
|
82
|
+
|
|
83
|
+
**Quién aprueba:** QA Engineer (`/qa`)
|
|
84
|
+
|
|
85
|
+
## Context Handoff entre Fases
|
|
86
|
+
|
|
87
|
+
Cada transición entre fases requiere un **handoff** con el siguiente formato:
|
|
88
|
+
|
|
89
|
+
```markdown
|
|
90
|
+
**Handoff: Phase N → Phase N+1**
|
|
91
|
+
|
|
92
|
+
📄 Estado: [Qué se completó en esta fase]
|
|
93
|
+
📁 Artefactos: [Archivos creados/modificados]
|
|
94
|
+
📋 Next: [Acción concreta para la siguiente fase]
|
|
95
|
+
✅ Criterio: [Cómo saber que la siguiente fase terminó]
|
|
96
|
+
⚠️ Riesgos: [Blockers o riesgos identificados]
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
## Excepciones y Bypass
|
|
100
|
+
|
|
101
|
+
| Situación | Fase que se puede saltar | Condición |
|
|
102
|
+
|-----------|------------------------|-----------|
|
|
103
|
+
| Hotfix urgente (P0) | SPECIFY, PLAN | Máximo 50 líneas de cambio |
|
|
104
|
+
| Level 0-1 task | SPECIFY, PLAN, TASKS | Cambio trivial y auto-contenido |
|
|
105
|
+
| Dependencia externa bloqueante | IMPLEMENT | Esperar con timeout documentado |
|
|
106
|
+
|
|
107
|
+
> **Regla:** Nunca saltear VERIFY. Todo código debe ser verificado.
|