QUBIK SDD — Spec-Driven Development
Un framework para llevar una idea de oportunidad a producción sin perder la trazabilidad.
Primera sección completa de esta wiki
Este contenido está migrado íntegramente desde la landing pública de QUBIK SDD (qubiksdd.netlify.app, v2.0 · jun 2026). A diferencia del resto de esta wiki, esta página no es contenido de prueba.
| 11 | 6 | 2 | ∞ |
|---|---|---|---|
| Comandos | Roles | Caminos | Trazabilidad |
Flujo
Dos caminos, un mismo destino
QUBIK SDD tiene un camino largo para explorar features nuevas y un camino corto para bugs y requerimientos claros. Ambos convergen en el mismo proceso formal de spec → refinamiento → planning → dev.
Punto de entrada · una sola vez por proyecto
/qubik-setup— PM · configuraproject.config.md, repos, equipo, prototype submodule. Creaspecs/,HISTORIAS.mdy la estructura de carpetas.
Camino largo · feature nueva o requerimiento complejo
/qubik-brainstorm— Funcional · explora el requerimiento en profundidad. Output →specs/brainstorming/YYYYMMDD-slug/./qubik-prototype(opcional) — Funcional · valida visualmente en el submodule prototype. Gate →PROTOTYPE.mdconEstado: Aprobado.
Cuándo usarlo
El qué no está claro todavía. Hay múltiples formas de interpretar el requerimiento. El brainstorm ahorra días de retrabajo.
Camino corto · bug, fix, feature obvia
Sin exploración previa — el problema ya está identificado, el qué ya está claro.
Ejemplos de uso:
- Bug en producción
- Fix de comportamiento conocido
- Mejora pequeña y clara
- Cambio de texto o ajuste visual
- Requerimiento dictado directamente
Cuándo usarlo
El qué ya está claro. No hace falta explorar. Se va directo a
/qubik-spec con una descripción directa del bug o feature.
Ambos caminos convergen aquí · formalización, refinamiento, planning
/qubik-spec— Funcional · crea historia en JIRA. →specs/refinar/SC-XXXX/· To Refinement./qubik-refinamiento— Dev Lead · sub-tasks técnicas en JIRA. →specs/planificar/SC-XXXX/· To Planning./qubik-planning— PM + Dev Lead · seleccionan qué entra. →specs/desarrollar/SC-XXXX/· Ready to Dev.
Loop dev → QA · in-progress
- Dev implementa — lee
spec.md+refinement.mdenspecs/desarrollar/SC-XXXX/→ código. /qubik-qa— QA · verifica vs criterios de aceptación (otra sesión, contra los criterios delspec.md)./qubik-desvio— el dev encontró un delta entre la spec y el código real → notifica al Funcional → el Funcional decide si ajustar la spec o el enfoque.
Cuando QA da qa-green · Done, un humano mergea el PR a develop: la
historia queda cerrada con trazabilidad completa en HISTORIAS.md.
Si en cambio QA encuentra un gap de spec, /qubik-spec --update genera
spec-v2 — nunca edita el original, deja un changelog del cambio y vuelve
al flujo.
Gobernanza · comandos de apoyo, disponibles en cualquier etapa
/qubik-check (salud del proyecto), /qubik-push (commit + push de
specs) y /qubik-update (sincronizar el framework) están disponibles en
cualquier punto del flujo. Todo el proceso está supervisado siempre por
humanos.
Flujo paso a paso
Recorrido en detalle de cada etapa: quién la corre, qué hace, qué archivos
crea y un ejemplo real de cómo se ve la conversación. SC-1234 para el
camino largo, SC-1256 (bug) para el camino corto.
Camino largo — Feature nueva (ejemplo SC-1234)
💡 /qubik-brainstorm — BrainstormFuncional
Exploración estructurada del requerimiento. El Funcional y el equipo conversan con el framework para descubrir comportamientos esperados, casos borde y ambigüedades. El objetivo no es tener todas las respuestas — es alinear al equipo en el "qué" antes de la spec.
Qué hace
- Lee
project.config.mdy el MCP del proyecto. - Pide descripción del requerimiento o problema.
- Hace preguntas guiadas: comportamientos, usuarios afectados, casos borde.
- Identifica ambigüedades y las lista como preguntas abiertas.
- Cierra cuando el equipo está listo para
/qubik-spec.
Inputs
- Descripción informal del requerimiento.
- Discovery previo (si existe).
Outputs
specs/brainstorming/YYYYMMDD-slug/YYYYMMDD-v1.md- Sin estado JIRA en esta etapa.
Ejemplo real
/qubik-brainstorm
Leyendo config... Proyecto: Safecore | Funcional: Ana Torres
¿Qué requerimiento querés explorar?
Necesitamos un filtro por fecha en el listado de pacientes.
¿Qué tipo de fecha? ¿Ingreso, última atención, turno?
Fecha de última atención.
¿Rango de fechas o fecha exacta?
Rango. Desde-hasta.
¿Si no hay resultados, qué ve el usuario?
Estado vacío con mensaje descriptivo.
✓ specs/brainstorming/20260618-filtro-fecha/20260618-v1.md
🎨 /qubik-prototype — PrototipoFuncional + Dev · opcional
Prototipo funcional en el submodule prototype del proyecto. Valida
visualmente el flujo antes de la spec. Usa el frontend real con data
mockeada — se ve exactamente como en producción. El gate es
PROTOTYPE.md con Estado: Aprobado.
Qué hace
- Verifica que el submodule prototype esté inicializado.
- Detecta el package manager y levanta el dev server (
http://localhost:5173). - El Funcional describe qué prototipar.
- Implementa: SOLID (nuevo), REWORK (ajuste), STUB (placeholder).
- Itera hasta la aprobación del Funcional.
- Genera
PROTOTYPE.mdconEstado: Aprobado.
Inputs
- Brainstorming aprobado (recomendado).
- Submodule prototype del proyecto inicializado.
Outputs
prototype/hub/PROTOTYPE.md(Estado: Aprobado).- Commits:
proto(SOLID),proto(REWORK),proto(STUB). - Sin estado JIRA en esta etapa.
Ejemplo real
/qubik-prototype
Verificando submodule prototype...
Detectando package manager... npm
Dev server: http://localhost:5173
¿Qué querés prototipar?
El filtro: selector de rango y cómo actualiza el listado.
proto(SOLID): filtro de fecha — DateRangePicker en PatientList
¿Iteramos o aprobamos?
Agregar badge de "filtro activo" cuando hay fechas.
proto(REWORK): badge filtro activo + botón de limpieza
✓ PROTOTYPE.md — Estado: Aprobado
2 flujos validados · 2 SOLID, 1 REWORK
📄 /qubik-spec — SpecFuncional · To Refinement
Formaliza el requerimiento como historia de usuario en JIRA con criterios de
aceptación en formato DADO/CUANDO/ENTONCES. Crea la historia (To
Refinement), publica en Confluence si está configurado, y genera
specs/refinar/ con spec.md y origen.md.
Qué hace
- Lee el brainstorming o el
PROTOTYPE.mdaprobado. - Si hay dudas de comportamiento, pregunta antes de escribir.
- Pregunta qué repos se ven afectados (FE/BE/infra).
- Redacta la spec: historia, CAs, casos borde, repos involucrados.
- Muestra el borrador — el Funcional aprueba.
- Crea la historia en JIRA (To Refinement) + Confluence.
- Genera
specs/refinar/SC-XXXX-slug/conspec.mdyorigen.md. - Actualiza
HISTORIAS.md.
Inputs
specs/brainstorming/YYYYMMDD-slug/óPROTOTYPE.mdaprobado.
Outputs
SC-XXXXen JIRA — To Refinement.specs/refinar/SC-XXXX-slug/spec.md+origen.md.specs/HISTORIAS.mdactualizado.
Ejemplo real
/qubik-spec
Inputs: [1] 20260618-filtro-fecha/ [2] prototype/hub/PROTOTYPE.md
¿Cuál usamos? El 1.
¿Repos afectados? hub (FE) y api (BE).
Redactando...
Como médico, quiero filtrar el listado por fecha de última
atención, para encontrar pacientes con atención reciente.
CA-1: DADO que estoy en el listado
CUANDO selecciono un rango de fechas
ENTONCES solo veo pacientes con última atención en ese rango
¿Aprobás? Sí.
✓ SC-1234 — To Refinement
✓ specs/refinar/SC-1234-filtro-fecha/ creada
⚙️ /qubik-refinamiento — RefinamientoDev Lead · To Planning
Breakdown técnico con el Dev Lead y el equipo. La historia se descompone en
sub-tasks por capa y repo. Si es muy grande, se propone dividirla. Las
sub-tasks se crean en JIRA como hijos de la historia principal (no
historias independientes). La carpeta se mueve a specs/planificar/.
Qué hace
- Lista las historias en
specs/refinar/— el Dev Lead elige. - Lee
spec.md+origen.md+ el código de los repos involucrados + MCP. - Revisa la spec con el equipo, aclara dudas antes de descomponer.
- Evalúa el tamaño: si es grande, propone dividir en sub-tasks de JIRA.
- Propone sub-tasks por capa:
[FE:hub],[BE:api]. - El Dev Lead ajusta hasta estar conforme.
- Crea las sub-tasks en JIRA como hijas de la historia.
- Genera
refinement.mdcon tabla, dependencias, riesgos, contratos de API. - Mueve la carpeta:
specs/refinar/→specs/planificar/.
Inputs
specs/refinar/SC-XXXX-slug/(spec.md+origen.md).- Código de los repos involucrados (
local_path).
Outputs
- Sub-tasks JIRA:
SC-XXXX-1,-2,-3... specs/planificar/SC-XXXX-slug/refinement.mdHISTORIAS.mdactualizado.
Ejemplo real
/qubik-refinamiento
[1] SC-1234 — Filtro por fecha (hub FE, api BE)
¿Cuál refinamos? La 1.
Leyendo spec + código de hub y api...
Propuesta de sub-tasks:
[FE:hub] Componente DateRangePicker en el listado
[BE:api] Endpoint GET /api/pacientes con filtro fecha, paginado
[BE:api] Migración: índice de búsqueda por fecha
[FE:hub] Integración componente-lista (dep: BE endpoint)
¿Ajustamos o procedemos?
Procedemos.
✓ SC-1234-1,-2,-3,-4 creadas en JIRA
✓ specs/planificar/SC-1234-filtro-fecha/ listo
✅ /qubik-planning — PlanningPM + Dev Lead · Ready to Dev
Selección de qué historias entran a desarrollo. Sin estimación, sin
asignación — solo la decisión de qué entra y qué espera. El PM facilita, el
equipo decide. Lo seleccionado pasa a Ready to Dev y sus carpetas se mueven
a specs/desarrollar/.
Qué hace
- Lista las historias en
specs/planificar/con resumen. - El equipo elige cuáles entran (multi-select o "todas").
- Muestra un resumen para confirmar.
- Historia + sub-tasks → Ready to Dev en JIRA.
- Carpetas movidas a
specs/desarrollar/. - Actualiza
HISTORIAS.md. - Si hay preguntas abiertas sin resolver, avisa antes de confirmar.
Inputs
specs/planificar/con historias refinadas.
Outputs
- Historia + sub-tasks → Ready to Dev.
specs/desarrollar/SC-XXXX-slug/HISTORIAS.mdactualizado.
Ejemplo real
/qubik-planning
Historias listas:
[1] SC-1234 — Filtro fecha (4 sub-tasks) — 18 Jun
[2] SC-1235 — Exportar informe (2 sub-tasks) — 16 Jun
[3] SC-1240 — Notificaciones (6 sub-tasks)
¿Cuáles pasan a desarrollo?
1, 2
Van a Ready to Dev: SC-1234 (4), SC-1235 (2) — ¿Confirmás?
Sí.
✓ SC-1234 → Ready to Dev + 4 sub-tasks
✓ SC-1235 → Ready to Dev + 2 sub-tasks
✓ Carpetas movidas a specs/desarrollar/
🚀 Dev — implementaciónDevs · Done
Los devs leen la spec y el refinement.md en specs/desarrollar/. Si
encuentran un delta con la spec usan /qubik-desvio. Al terminar, QA
verifica con /qubik-qa contra los criterios de aceptación.
Qué hace
- El dev lee
spec.md+refinement.mdenspecs/desarrollar/SC-XXXX/. - Toma los sub-tasks en JIRA y arranca.
- Si algo de la spec no aplica →
/qubik-desviopara registrarlo. - Al terminar, notifica a QA.
- QA corre
/qubik-qa— aprueba o genera rebote.
Inputs
specs/desarrollar/SC-XXXX/spec.mdspecs/desarrollar/SC-XXXX/refinement.md
Outputs
- Código implementado.
- Sub-tasks Done en JIRA.
/qubik-desviosi hay delta de spec.
Ejemplo real
cat specs/desarrollar/SC-1234-filtro-fecha/refinement.md
## Sub-tasks
SC-1234-1 [FE:hub] Componente DateRangePicker
SC-1234-2 [BE:api] GET /api/pacientes con filtro
SC-1234-3 [BE:api] Migración índice fecha
SC-1234-4 [FE:hub] Integración componente-lista
## Contratos de API
GET /api/pacientes?desde=2026-01-01&hasta=2026-06-18&page=1
# Si hay un desvío:
/qubik-desvio
El filtro del API ya existe pero solo acepta fecha exacta, no rango.
✓ Desvío registrado. Notificando al Funcional.
Camino corto — Bug / Fix (ejemplo SC-1256)
🐛 /qubik-spec — Spec directaFuncional · To Refinement
Para bugs y features claras, el Funcional va directo a spec sin
brainstorming previo. El input es la descripción directa del bug. QUBIK lo
registra como "input directo" en origen.md. El proceso de redacción es el
mismo, solo más corto porque el qué ya está claro.
Qué hace
- El Funcional describe el bug o feature directamente.
- No busca brainstorming previo — registra como "input directo".
- Redacta la spec: historia, CAs en DADO/CUANDO/ENTONCES, casos borde del bug.
- Aprobación rápida del Funcional.
- Crea la historia en JIRA (To Refinement).
- Genera
specs/refinar/SC-XXXX-slug/spec.md+origen.md. - Actualiza
HISTORIAS.md.
Inputs
- Descripción directa del bug o feature (sin exploración previa).
Outputs
SC-XXXXen JIRA — To Refinement.specs/refinar/SC-XXXX-slug/spec.md+origen.md.
Ejemplo real
/qubik-spec
No hay brainstormings disponibles.
Podés dictarme el requerimiento directamente.
¿Cuál es el bug?
Cuando el filtro de estado está en "inactivo",
el listado queda en loading infinito.
CA-1: DADO filtro en "inactivo"
CUANDO la vista carga
ENTONCES muestra pacientes inactivos (o vacío)
CA-2: DADO filtro en "inactivo"
CUANDO el API falla
ENTONCES muestra error (no loading infinito)
¿Aprobás? Sí.
✓ SC-1256 — To Refinement
✓ specs/refinar/SC-1256-bug-filtro-inactivo/ creada
⚙️ /qubik-refinamiento — RefinamientoDev Lead · To Planning
Para bugs el refinamiento es más corto: el problema es puntual, los sub-tasks son pocos. El Dev Lead puede hacerlo solo si el bug es claro, o con el dev que lo va a tomar.
Qué hace
- Lee la spec del bug.
- Identifica la causa probable y el alcance del fix.
- Propone 1-3 sub-tasks: diagnóstico, fix, test de regresión.
- Crea las sub-tasks en JIRA como hijas de la historia.
- Mueve la carpeta a
specs/planificar/.
Inputs
specs/refinar/SC-1256-bug-filtro-inactivo/spec.md- Código del repo afectado (hub FE).
Outputs
- Sub-task JIRA
SC-1256-1. specs/planificar/SC-1256-bug-filtro-inactivo/refinement.md
Ejemplo real
/qubik-refinamiento
[1] SC-1256 — Bug filtro inactivo (hub FE)
¿Cuál refinamos? La 1.
Leyendo spec y código de hub...
PatientList.tsx — data.patients puede ser null
pero el componente espera un array [].
Sub-task:
[FE:hub] Fix: (data.patients ?? []).map(...)
¿Procedemos?
Sí.
✓ SC-1256-1 creada en JIRA
✓ specs/planificar/SC-1256-bug-filtro-inactivo/ listo
✅ /qubik-planning — PlanningPM · Ready to Dev
Para bugs críticos el planning es una decisión inmediata del PM. Puede entrar solo o agruparse con otras historias en la misma sesión.
Qué hace
- Lista las historias en
specs/planificar/. - El PM prioriza el bug (inmediato si es crítico en producción).
- Historia + sub-task → Ready to Dev.
- Carpeta movida a
specs/desarrollar/.
Inputs
specs/planificar/SC-1256-bug-filtro-inactivo/
Outputs
SC-1256+SC-1256-1→ Ready to Dev.specs/desarrollar/SC-1256-bug-filtro-inactivo/
Ejemplo real
/qubik-planning
[1] SC-1256 — Bug filtro inactivo (1 sub-task) 🐛
¿Cuáles pasan a desarrollo?
La 1, entra ya — bug crítico en producción.
✓ SC-1256 → Ready to Dev
✓ SC-1256-1 → Ready to Dev
✓ specs/desarrollar/SC-1256-bug-filtro-inactivo/ listo
🔧 Fix — implementaciónDev · Done
El dev aplica el fix puntual. El ciclo puede completarse en horas. QA verifica específicamente los CAs del bug.
Qué hace
- El dev lee
refinement.mdpara entender el alcance del fix. - Aplica el fix en el repo afectado.
- Verifica que los CAs del
spec.mdse cumplen. - Notifica a QA.
- QA corre
/qubik-qa— Done en horas si aprueba.
Inputs
specs/desarrollar/SC-1256-bug-filtro-inactivo/spec.md+refinement.md
Outputs
- Fix implementado en
hub. SC-1256→ Done.
Ejemplo real
# hub/src/features/patients/PatientList.tsx
// Antes (bug): null.map() → error → loading infinito
const rows = data.patients.map(p => ...)
// Después (fix):
const rows = (data.patients ?? []).map(p => ...)
/qubik-qa
Verificando SC-1256 vs spec...
CA-1: ✓ filtro "inactivo" muestra lista correcta
CA-2: ✓ error del API muestra mensaje (no loading)
✓ SC-1256 → Done (3 horas · camino corto)
Setup
Antes de todo, /qubik-setup
El primer comando que corre cualquier miembro del equipo en un proyecto nuevo. Una vez por proyecto. Sin setup, los demás comandos no tienen contexto para funcionar.
Por qué es el punto de entrada
Los demás comandos leen project.config.md para saber repos, equipo,
JIRA y Confluence. Sin setup, nada funciona.
Cómo correrlo
/qubik-setup hace preguntas guiadas. Toma 5-10 minutos. Los nuevos
integrantes corren /qubik-setup --onboarding para configurar solo su
entorno local.
Qué configura
- Proyecto — nombre, clave JIRA, URL del workspace.
- Repos — ID, nombre, capa (FE/BE/infra), path local.
- Prototype submodule — repo y subcarpetas por repo.
- Confluence — espacio, página padre (opcional).
- Equipo — PM, Funcional, Dev Lead, Devs, QA.
Estructura creada en el repo
specs/
├── refinar/ ← To Refinement
├── planificar/ ← To Planning
├── desarrollar/ ← Ready to Dev
├── brainstorming/ ← exploración de reqs
├── discoveries/
├── governance/
├── templates/
└── HISTORIAS.md ← control central
project.config.md ← raíz del repo
project.config.md de ejemplo
## proyecto
nombre: Safecore
project_key: SC
## repos
- id: hub
capa: FE
local_path: ../hub
- id: api
capa: BE
local_path: ../api
## prototype
repo: safecore-prototype
subcarpetas: hub/, api/
## equipo
pm: Mariana López
dev_lead: Diego Ruiz
funcional: Ana Torres
Roles
Los 6 roles
Cada comando tiene un dueño claro. No hay ambigüedad sobre quién activa qué parte del flujo.
| Rol | Descripción | Comandos |
|---|---|---|
| 📋 PM | Product Manager | /qubik-setup, /qubik-planning, /qubik-push, /qubik-check |
| 🎨 Funcional | Estratega · UX · PO | /qubik-brainstorm, /qubik-prototype, /qubik-spec, /qubik-push |
| 🏗️ Dev Lead | Tech Lead · Arquitecto | /qubik-refinamiento, /qubik-planning, /qubik-check |
| 💻 Dev | Full Stack · FE · BE | /qubik-desvio, /qubik-push, /qubik-update |
| 🔍 QA | Tester · QA Engineer | /qubik-qa, /qubik-check |
| ⚙️ Nuevo integrante | Cualquier miembro | /qubik-setup, /qubik-update |
Trazabilidad central · HISTORIAS.md
Un archivo en specs/ que registra el estado de cada historia, sus repos,
sub-tasks y links. El panorama completo sin entrar a JIRA.
| ID JIRA | Título | Estado | Repos | Sub-tasks | Confluence |
|---|---|---|---|---|---|
| SC-1234 | Filtro por fecha en listado de pacientes | Ready to Dev | hub (FE), api (BE) | SC-1234-1,-2,-3,-4 | → /SC-1234 |
| SC-1235 | Exportar informe de actividad mensual | To Planning | hub (FE) | SC-1235-1,-2 | → /SC-1235 |
| SC-1240 | Panel de notificaciones en tiempo real | To Refinement | hub (FE), api (BE) | — | → /SC-1240 |
| SC-1256 | Bug: listado no carga con filtro "inactivo" | Ready to Dev | hub (FE) | SC-1256-1 | → /SC-1256 |
Historial de transiciones
[2026-06-18] SC-1234 — Creado en To Refinement por Ana Torres
[2026-06-18] SC-1234 — De To Refinement a To Planning · Sub-tasks: SC-1234-1,-2,-3,-4
[2026-06-18] SC-1234 — De To Planning a Ready to Dev por Mariana López
[2026-06-18] SC-1256 — Creado en To Refinement por Ana Torres (input directo — bug)
[2026-06-18] SC-1256 — De To Refinement a Ready to Dev (camino corto, misma sesión)
Apoyo
Transversales al flujo
No forman parte del pipeline principal pero se usan en cualquier etapa. Disponibles para cualquier rol.
| Comando | Qué hace | Cuándo usarlo |
|---|---|---|
/qubik-update | Sincronizar el framework. Actualiza QUBIK SDD a la última versión. Migra templates, guías y configuraciones sin pisar los archivos del proyecto. | Cuando hay actualizaciones, antes de un proyecto nuevo, o si un comando falla. |
/qubik-check | Health check del proyecto. Verifica historias fuera de lugar, config incompleta, sub-tasks huérfanas en JIRA, archivos inconsistentes. | Antes de un sprint, si hay inconsistencias, o como rutina semanal. |
/qubik-push | Pushear cambios de specs. Commitea y sube los cambios del ciclo actual con el formato de commit del framework. Verifica que los archivos estén en el lugar correcto. | Después de cada comando del flujo. Al final del día para no acumular cambios. |
/qubik-desvio | Registrar desvío de spec. Cuando el dev encuentra que algo de la spec no aplica, es inviable técnicamente, o cambió durante la implementación. | Durante el desarrollo, cuando hay un delta entre la spec y la realidad del código. |
/qubik-qa | QA sign-off. QA verifica la historia implementada contra los criterios de aceptación. Si hay gaps, genera rebote con /qubik-spec --update. Si aprueba, Done en JIRA. | Cuando el dev marca la historia como terminada y pasa a QA. |
Comandos
Los 11 comandos
Referencia completa. Cada comando incluye su rol, output y cuándo usarlo.
Bootstrap
/qubik-setupPM / Cualquier miembro
Inicializar el proyecto. Configura desde cero: project.config.md,
estructura de specs/, submodule prototype. El primer comando de
cualquier proyecto.
Output
project.config.md · specs/ con carpetas base · HISTORIAS.md
Cuándo usarlo
Una vez por proyecto. Los nuevos integrantes corren --onboarding.
setup · onboarding · config
Flujo principal
/qubik-brainstormFuncional
Explorar un requerimiento. Conversación estructurada para descubrir
comportamientos, casos borde y preguntas abiertas. Output directo para
/qubik-spec.
Output
specs/brainstorming/YYYYMMDD-slug/YYYYMMDD-v1.md
Cuándo usarlo
Cuando el requerimiento no es obvio o tiene múltiples interpretaciones.
exploración · funcional · camino-largo
/qubik-prototypeFuncional + Dev
Prototipar en vivo. Prototipo funcional en el submodule prototype.
Valida visualmente antes de la spec. Gate: PROTOTYPE.md con
Estado: Aprobado.
Output
prototype/hub/PROTOTYPE.md · commits proto(SOLID/REWORK/STUB)
Cuándo usarlo
Cuando el equipo necesita ver el flujo real antes de formalizar. Opcional en el camino largo.
prototipo · visual · gate · camino-largo
/qubik-specFuncional
Formalizar la historia. Crea historia en JIRA (To Refinement), publica
en Confluence, genera specs/refinar/. Soporta --update para rebotes de
QA.
Output
SC-XXXX en JIRA (To Refinement) · specs/refinar/SC-XXXX-slug/ ·
HISTORIAS.md
Cuándo usarlo
Después del brainstorm o prototipo aprobado. O directo para bugs y features claras.
spec · jira · confluence · historia
/qubik-refinamientoDev Lead
Breakdown técnico. El Dev Lead descompone en sub-tasks por capa y repo. Sub-tasks en JIRA como hijas de la historia. No historias independientes.
Output
Sub-tasks JIRA (SC-XXXX-N) · specs/planificar/SC-XXXX/refinement.md
Cuándo usarlo
Cuando hay historias en specs/refinar/ (To Refinement).
refinamiento · sub-tasks · dev-lead
/qubik-planningPM + Dev Lead
Seleccionar para desarrollo. PM + Dev Lead seleccionan qué historias entran. Sin estimación ni asignación. Solo priorización.
Output
Historia + sub-tasks → Ready to Dev · specs/desarrollar/SC-XXXX-slug/
Cuándo usarlo
Cuando hay historias en specs/planificar/ (To Planning).
planning · priorización · pm
Apoyo
/qubik-updateCualquier miembro
Sincronizar el framework. Actualiza QUBIK SDD a la última versión. Migra templates sin pisar archivos del proyecto.
Output
Framework actualizado · templates migrados
Cuándo usarlo
Cuando hay actualizaciones, antes de un proyecto nuevo, o si un comando falla.
actualización · mantenimiento
/qubik-checkPM / Dev Lead / QA
Health check del proyecto. Verifica historias fuera de lugar, config incompleta, sub-tasks huérfanas, archivos inconsistentes.
Output
Reporte de salud con issues encontrados
Cuándo usarlo
Antes de un sprint, si hay inconsistencias, o como rutina.
salud · verificación
/qubik-pushCualquier rol con commits
Pushear cambios de specs. Commitea y sube cambios del ciclo con el formato del framework. Verifica que los archivos estén en el lugar correcto.
Output
Commit + push con mensaje formateado
Cuándo usarlo
Después de cada comando del flujo. Al final del día.
git · commit · push
/qubik-desvioDev
Registrar desvío de spec. El dev encontró que algo de la spec no aplica, es inviable o cambió. Se registra formalmente y se notifica al Funcional.
Output
Desvío registrado en la carpeta de la historia · notificación al Funcional
Cuándo usarlo
Durante el desarrollo, cuando hay un delta entre la spec y el código real.
desvío · spec · cambio
/qubik-qaQA
QA sign-off. QA verifica contra criterios de aceptación. Si hay gaps,
genera rebote con /qubik-spec --update. Si aprueba, Done en JIRA.
Output
Historia → Done (aprueba) · o rebote a /qubik-spec --update (gap)
Cuándo usarlo
Cuando el dev marca la historia como terminada.
qa · verificación · done