sdd-tasks
Skill1 starsChanged 24 days agoMITView on GitHub
Use this skill whenever generating, validating, or editing a tasks.md file for Spec-Driven Development. Defines task anatomy (checkbox, sequential number, action verb, sub-steps, references, EARS traceability footer), the two grouping structures per delivery_strategy (vertical/default — Walking Skeleton + feature slices demonstrable end-to-end; layered — by architectural layer, only for infra/migration/refactor without UI), the four operational rules, useful patterns (spike, preventive refactor, validation tasks, optional tasks), execution discipline (batched execution: one lote — a full Slice in vertical mode or a contiguous same-layer group in layered mode — per session, tasks executed one by one in order, human review per lote, validation tasks always alone), and the mandatory validation checklist. Trigger whenever the task involves transforming an approved design.md into tasks.md, or when reviewing an existing tasks.md.
10 other projects use a version of this, 1 of them edited.
Adopted by
Most recently taken up by
- mariano-aguero/spec-driven-development-skilltheir own version, first seen Nov 8, 2026
- svg153/skillstheir own version, first seen Nov 1, 2026
- monaccode/astromesh-sddtheir own version, first seen Oct 20, 2026
- PedroMosquera/squadaitheir own version, first seen Oct 13, 2026
- felipefontoura/pi-sdd-kittheir own version, first seen Oct 13, 2026
- pchemguy/Skill-SDD-Managertheir own version, first seen Oct 6, 2026
Used with
Projects with it also use sdd-plan and sdd-specify.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
felipefontouraSkillsdd-plan
Cognitive SDD skill for creating or updating optional PLAN.md from captured ideas or project goals. Use when the conversation calls for roadmap, personas, feature mapping, phases, dependencies, and open decisions before requirements, even without an explicit command. Do not use for feature-level requirements or coding.
Also in 5 projects that use this
pchemguySkillsdd-specify
Use when creating, reviewing, or revising docs/dev/SPEC.md, focused specification children, or FEATURE-SPEC.md; defining required software behavior, interfaces, data contracts, error semantics, invariants, and objective acceptance for a new or existing system.
Also in 3 projects that use this
Other versions10 projects use a version of this.
Word for word · 0
None found.
Edited · 1
- GabrielaStark/SDD★ 188% same
Wrote their own version · 9
- felipefontoura/pi-sdd-kit★ 36same name
- khangpqvn/SDDADD★ 12same name
- mariano-aguero/spec-driven-development-skill★ 11same name
- PedroMosquera/squadai★ 10same name
- Maicololiveras/praxisgenai-agent-orchestrator★ 1same name
- svg153/skills★ 1same name
- callingcard1973/claude-skills★ 0same name
- monaccode/astromesh-sdd★ 0same name
- pchemguy/Skill-SDD-Manager★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository8 other files it gives its agents.
- onboardingSkill
- reglas-negocioSkill
- sdd-design-deltaSkill
- sdd-designSkill
- sdd-prototypeSkill
- sdd-requirements-mantenimientoSkill
- sdd-requirementsSkill
- sdd-tasks-riskSkill
The file
We split this skill into the rules it gives an agent
1 rule. 0 are common, 1 is distinctive, and 0 are very specific to this project.
0
Common
Most of the 7 edited versions we read keep these.
1
Distinctive
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 68
NO es pseudocódigo. NO es implementación.
“Common” is measured: kept by at least 6 in 10 of the 7 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
SDD Tasks — Constitución
Este skill es la fuente de verdad para producir docs/tasks.md en cualquier proyecto que use este framework. El subagente descompositor-tareas consulta este archivo. Cualquier tasks.md producido debe cumplir TODAS las reglas de aquí.
1. Propósito del tasks.md
Es la descomposición ejecutable del design.md en unidades atómicas que el agente codificador procesa una por una.
- NO es un Gantt.
- NO es un plan de proyecto con fechas.
- NO es una lista de épicas.
- NO es una bitácora de avance.
SÍ es una secuencia ordenada de tareas pequeñas, autocontenidas, verificables, atadas a criterios EARS del requirements.md.
Diferencia con backlog ágil: backlog prioriza por valor de negocio y se ejecuta en sprints. Tasks.md prioriza por dependencias técnicas y orden de construcción, y se ejecuta linealmente.
2. Anatomía obligatoria de una tarea
Cada tarea en tasks.md SIEMPRE tiene esta estructura:
- [ ] N. [Verbo acción] [objeto concreto]
- [Sub-paso 1: archivos a tocar / patrón a aplicar]
- [Sub-paso 2]
- [Sub-paso 3]
- Criterio de hecho: [cómo se sabe que terminó]
- _Requirements: X.Y, X.Z_Elementos por elemento
Checkbox - [ ]
- Obligatorio al inicio.
- Estado legible por el agente entre sesiones.
[ ]pendiente,[x]completado.
Número secuencial N.
- Las tareas se ejecutan en orden.
- El número marca secuencia obligatoria.
- Paralelizables se marcan
3a,3b(mismo número base, sufijo letra).
Verbo de acción
- Concreto y acotado. Lista permitida:
Implementar— código nuevoCrear— archivo/recurso nuevoModificar— código existenteAgregar— extensión a algo existenteRefactorizar— reorganizar sin cambiar comportamientoConfigurar— setup de herramienta/dependenciaValidar— verificación cruzadaDocumentar— escritura de docs
- El título
Tests ...es válido para tareas de tests (forma corta deImplementar tests ...). - ❌ Prohibidos: "Trabajar en", "Hacer", "Investigar" (excepto en spikes formales)
Sub-pasos
- El "cómo" mínimo.
- Bullets concretos: qué archivos tocar, qué patrón aplicar, qué referencias usar.
- NO es pseudocódigo. NO es implementación.
- Referencia explícitamente lo que ya existe (ej. "usar middleware existente
auth.ts") para evitar reinvención.
Criterio de hecho
- Línea explícita que dice cómo se verifica completitud.
- Ejemplos: "el endpoint retorna 201 en caso éxito y 400 en caso inválido", "los tests
test_create_*pasan", "lint clean". - Sin esto, el agente marca
[x]con código que no funciona.
Footer de trazabilidad
- Formato exacto:
_Requirements: X.Y, X.Z_ - Lista los criterios EARS del
requirements.mdque esta tarea cumple. - Tareas de setup pueden tener
_Requirements: -_(no atan a EARS específico). - Sin trazabilidad, no hay manera de saber si terminaste el feature o solo parte.
3. Las 4 reglas operacionales
Regla 1: Tareas atómicas (cada una cabe en una sesión del agente)
- Heurística: 1-3 archivos tocados, 50-200 líneas de código.
- Si una tarea no se termina en una conversación con el agente codificador, está demasiado grande. Partirla.
- (Esto es una regla de TAMAÑO, no de ejecución: la ejecución agrupa varias tareas atómicas en un lote — ver Sección 6.)
- Tareas gigantes ("implementar el módulo completo") garantizan pérdida de contexto e inconsistencia.
Regla 2: Orden por dependencias técnicas, NO por valor
- Primero lo que otras tareas necesitan, no lo más importante para el cliente.
- El agrupamiento de las tareas depende de
delivery_strategy(ver Sección 4). En ambos modos las dependencias técnicas DENTRO de cada grupo se respetan igual: datos → lógica → API → UI.
Modo vertical (default) — agrupado por slices de feature:
- Walking Skeleton: fundación mínima desplegable (scaffolding, config, un hilo pasante end-to-end trivial). NO mete features completas.
- Slice N: una feature completa que cruza TODAS las capas (datos → lógica → API → UI + sus tests), un slice por feature, ordenados por valor/riesgo de negocio. Cada slice cierra demostrable de punta a punta.
Modo layered (solo infraestructura/migración/refactor sin UI) — agrupado por capa:
- Setup y configuración (estructura, dependencias, configs)
- Modelo de datos (schemas, migraciones, tipos)
- Capa de acceso a datos (repositorios, queries)
- Lógica de negocio (servicios, casos de uso)
- Capa de API o interfaz (endpoints, handlers)
- UI / cliente
- Tests E2E integradores
- Documentación de uso
Regla 3: Criterio explícito de "hecho" en cada tarea
- Compila + lint clean + tests específicos pasan + criterio EARS verificable.
- Sin esto, completitud es subjetiva y el agente marca
[x]prematuramente.
Regla 4: Tests como tareas independientes, NO como sub-pasos
MAL:
- [ ] 3. Implementar endpoint POST /api/expedientes
- ...
- Escribir testsBIEN:
- [ ] 3. Implementar endpoint POST /api/expedientes
- ...
- _Requirements: 1.1, 1.2_
- [ ] 4. Tests de integración para POST /api/expedientes
- Caso éxito: payload válido + autenticado → 201
- Caso error: campo faltante → 400 con error tipado
- Caso error: sin sesión → 403
- _Requirements: 1.1, 1.2_Tests como sub-paso son lo primero que el agente recorta cuando va apurado. Como tarea independiente, son no negociables.
4. Estructura del archivo
El agrupamiento de headers depende de delivery_strategy. El default es vertical.
Sello de aprobación: el documento nace con
> Estado: PENDIENTEbajo el título (este agente lo escribe así). Al aprobar, el gate (/stark:tasks) corresello.py sellar-doc: estampa> Aprobado por [nombre] — fechay genera el receipt (sha256 del contenido aprobado) endocs/.stark/receipts/. La autoridad es el receipt, no la línea: si el documento cambia después, la fase siguiente lo detecta (verificar-doc) y se bloquea. Este agente nunca sella.
Modo vertical (default): headers por slice de feature
# Tasks: [Nombre del feature o sistema]
## 0. Walking Skeleton
- [ ] 1. [Scaffolding + config + un hilo pasante end-to-end trivial]
- Fundación mínima desplegable: el sistema arranca, se despliega y atraviesa todas las capas con un end-to-end mínimo real.
- Solo lo imprescindible para que exista algo desplegable. NO mete features completas.
- _Requirements: -_
## Slice 1: [nombre de la feature]
- [ ] 2. [Crear schema y migración de ...] (datos)
- _Requirements: X.Y_
- [ ] 3. [Implementar lógica de ...] (lógica)
- _Requirements: X.Y_
- [ ] 4. [Implementar endpoint ...] (API)
- _Requirements: X.Y_
- [ ] 5. [Implementar pantalla ...] (UI)
- _Requirements: X.Y_
- [ ] 6. Tests del slice "[nombre]" (tests independientes; cierran el slice)
- Criterio de hecho: el sistema corre y la feature [X] es demostrable de punta a punta.
- _Requirements: X.Y, X.Z_
## Slice 2: [siguiente feature]
- [ ] N. ... (un slice por feature, ordenados por valor/riesgo de negocio)
## Documentation
- [ ] N. Documentar uso de las features entregadas (sección final, opcional)
- _Requirements: -_Un slice cruza TODAS las capas de UNA feature (datos → lógica → API → UI + tests), respetando ese orden de dependencia DENTRO del slice, y cierra con el criterio: el sistema corre y la feature [X] es demostrable de punta a punta.
Modo layered (solo infraestructura pura, migración o refactor sin UI): headers por capa
Solo legítimo cuando NO hay entrega vertical demostrable (sin UI). El design.md debe justificar por qué la entrega vertical no aplica.
# Tasks: [Nombre del feature o sistema]
## Setup
- [ ] 1. [Configuración inicial del proyecto]
- ...
- _Requirements: -_
## Data Model
- [ ] 2. [Crear schema y migración de ...]
- ...
- _Requirements: X.Y_
## Data Access Layer
- [ ] N. ...
## Business Logic
- [ ] N. ...
## API / Interface
- [ ] N. ...
## UI / Client
- [ ] N. ...
## Integration Tests (E2E)
- [ ] N. Tests E2E del flujo completo "[nombre]"
- ...
- _Requirements: X.Y, X.Z, ..._
## Documentation
- [ ] N. ...En modo vertical los headers son ## 0. Walking Skeleton + ## Slice N (+ un ## Documentation final opcional; cada slice cruza capas y cierra demostrable de punta a punta). En modo layered los headers son por capa arquitectónica (Setup → Data → ... → Docs). En AMBOS modos las dependencias técnicas se respetan y la trazabilidad EARS es idéntica: solo cambia el AGRUPAMIENTO, nunca la cobertura.
5. Patrones útiles
Tareas spike (investigación)
Cuando hay incertidumbre técnica genuina. Formato:
- [ ] N. Spike: investigar [pregunta concreta]
- Pregunta a responder: [una línea, sin ambigüedad]
- Output esperado: mini-ADR agregado a design.md
- Timebox: [horas máximo]
- _Requirements: -_Las spikes NO entregan código de producción. Solo investigación + decisión.
Tareas de refactor preventivo
Cuando una tarea futura va a tocar código existente que está sucio:
- [ ] N. Refactor preventivo: limpiar [módulo X] antes de tarea N+M
- Extraer [Y] a su propio módulo
- Renombrar [Z] a [nombre claro]
- Sin cambio de comportamiento (tests existentes siguen pasando)
- _Requirements: -_Tareas de validación intermedia
Cada 4-5 tareas de implementación, una tarea explícita:
- [ ] N. Validar integración tareas 1-5
- Correr suite completa de tests hasta este punto
- Verificar criterios EARS [X.Y, X.Z, ...] manualmente con caso de uso real
- _Requirements: X.Y, X.Z_Atrapa drift temprano.
Tareas opcionales
Marcadas explícitamente para versión MVP:
- [ ] N. (opcional) Agregar caching de [recurso]
- ...
- _Requirements: X.W_ (criterio de performance, no funcional)Permite arrancar con MVP rápido y endurecer después.
6. Cómo se EJECUTA tasks.md
Patrón correcto: por lotes (encapsulado en /stark:build)
La unidad de ejecución es el lote: en modo vertical (default), un lote = UN Slice completo; en modo layered, un grupo contiguo de tareas de la misma capa.
- Conversación nueva. El agente lee COMPLETOS
tasks.md,requirements.mdydesign.md, UNA sola vez. - El agente ejecuta las tareas del lote una por una, en orden numérico, únicamente desde lo especificado. Si algo es ambiguo, se detiene y pregunta — no infiere.
- Al terminar cada tarea reporta: archivos tocados, criterio de hecho, resultado de tests. NO marca
[x]. - El humano revisa el lote completo (corre tests, verifica cada criterio de hecho) y marca
[x]solo lo que pasa./stark:buildsella entonces el commit validado con un annotated tag (sello.py sellar-lote) — la autoridad del sello es el tag, no una línea en este archivo. El hook pre-push bloquea el push si el árbol cambió después de la validación (dirty, untracked o commits sin sellar): se revalida, no se entrega. - Siguiente lote: en la misma conversación si sigue sana (contexto ya cargado), o conversación nueva.
Las tareas de validación intermedia van SOLAS, nunca loteadas: son puntos de control donde el humano decide si el bloque anterior quedó bien.
El detalle operativo completo (prompts, encadenamiento, cuándo cerrar la conversación) vive en ${CLAUDE_PLUGIN_ROOT}/docs/documentacion/REFERENCIA.md §6.
Anti-patrón fatal
Meter todo tasks.md al agente con "ejecuta todo". Rompe por:
- Pérdida de contexto a la mitad
- Decisiones inconsistentes entre tareas
- Propagación de errores sin revisión
- Imposibilidad de rollback granular
Un lote = una revisión humana = los [x] que el humano marca. Sin atajos. La diferencia con "ejecuta todo": un lote son pocas tareas de un mismo Slice/capa que el humano revisa al cerrar; "ejecuta todo" es todo el archivo de corrido sin revisión.
7. Anti-patrones que matan tasks.md
- ❌ Tareas demasiado grandes: el agente "completa" pero pierde contexto a la mitad.
- ❌ Tests como sub-pasos: se recortan bajo presión.
- ❌ Orden por valor en vez de dependencias: UI antes que la lógica que la UI consume → bloqueo.
- ❌ Tareas sin footer de trazabilidad: no se puede auditar el cierre del feature.
- ❌ Verbos vagos: "Trabajar en X", "Hacer Y" → alcance abierto, completitud subjetiva.
- ❌ Tareas redundantes "por completitud": el agente las mete y el humano no las poda. Resultado: pierdes horas en lo que no aporta.
- ❌ Sin criterio de hecho: el agente marca
[x]con código que no funciona.
8. Checklist de auto-validación (OBLIGATORIO antes de cerrar)
Estructura
- El agrupamiento corresponde a
delivery_strategy:- vertical (default): headers
## 0. Walking Skeleton+## Slice N(+## Documentationfinal opcional); cada slice cruza capas (datos → lógica → API → UI + tests) y cierra con "el sistema corre y la feature [X] es demostrable de punta a punta". - layered: headers por capa arquitectónica (Setup, Data Model, Data Access, Business Logic, API, UI, E2E, Docs), solo para infraestructura/migración/refactor sin UI, justificado en design.md.
- vertical (default): headers
- Numeración secuencial sin huecos.
Por cada tarea
- Tiene checkbox
- [ ]al inicio. - Tiene verbo de acción concreto (Implementar/Crear/Modificar/etc.), NO vago.
- Tiene al menos un sub-paso concreto.
- Tiene línea explícita de "Criterio de hecho".
- Tiene footer
_Requirements: X.Y, ...(puede ser-para setup). - Es completable en una sesión (estimado: 1-3 archivos, 50-200 líneas).
Orden y cobertura
- Las dependencias técnicas se respetan (datos → lógica → API → UI) — en modo vertical, DENTRO de cada slice; en modo layered, en todo el archivo.
- En modo vertical: existe el Walking Skeleton antes de cualquier slice, y cada slice cierra con su criterio "demostrable de punta a punta".
- La trazabilidad EARS es idéntica en ambos modos: solo cambió el agrupamiento, no la cobertura. Cada criterio EARS del requirements.md aparece referenciado en al menos una tarea.
- No hay criterios EARS huérfanos (sin tarea que los implemente).
- No hay tareas sin justificación en design.md o requirements.md.
Tests
- Hay tareas de tests INDEPENDIENTES, no como sub-pasos.
- Hay al menos una tarea de tests E2E al final que cubre el flujo integrador.
Disciplina
- Ninguna tarea menciona implementación detallada (eso queda para el agente codificador en su sesión).
- Tareas paralelizables están marcadas explícitamente (
3a,3b). - Tareas opcionales están marcadas
(opcional).
9. Cuando el output NO está listo
Si después de la auto-validación queda CUALQUIER ítem sin marcar:
- NO entregues el tasks.md.
- Reporta al humano qué ítems fallaron.
- Itera hasta que el checklist esté satisfecho.
Tasks.md mal hecho es la causa #1 de fallas en ejecución SDD. Una hora afinándolo ahorra cinco horas de errores durante el desarrollo.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

