name: quinotospec-mark-done description: Automatiza el marcado de tareas como completadas, actualizando archivos de seguimiento y moviendo artefactos completados a la carpeta _archived/.
Skill: Mark Done
Usa esta skill cuando el usuario indica que una tarea técnica (TSK-XXX) ha sido completada. Actualiza los archivos de seguimiento y, si el elemento está 100% completo, lo mueve a _archived/.
Instrucciones de Ejecución
Modo Individual
Paso 1 — Marcar la tarea como completada
- Busca el
TSK-XXXdado en el archivo de tareas correspondiente.quinoto-spec/proposals/{{PROPOSAL_SLUG}}/{{US_ID}}_tasks.md. - Si el ID no existe, notifica al usuario y detén el proceso.
- Cambia el checkbox
[ ]a[x]para esa tarea.
Paso 2 — Verificar completitud del archivo de tareas
- Cuenta los checkboxes
[ ]restantes en el archivo. - Si todas las tareas están completadas (
[x]):- Mueve el archivo a
.quinoto-spec/proposals/{{PROPOSAL_SLUG}}/_archived/{{US_ID}}_tasks.md. - Ve al Paso 3.
- Mueve el archivo a
- Si aún quedan tareas pendientes, ir directo al Paso 4.
Paso 3 — Verificar completitud de la User Story
- Busca el
{{US_ID}}correspondiente en.quinoto-spec/proposals/{{PROPOSAL_SLUG}}/user-stories.md. - Si todas las user stories de la propuesta están completadas:
- Mueve
user-stories.mda.quinoto-spec/proposals/{{PROPOSAL_SLUG}}/_archived/user-stories.md. - Actualiza el
**Estado:**enproposal.mda✅ Completada.
- Mueve
Paso 4 — Registrar en el Changelog
Ejecuta la skill quinotospec-update-changelog con:
- Título de la Acción: Task Completed: {{TSK_ID}}
- Resumen: Se completó la tarea '{{TSK_ID}}' perteneciente a la historia '{{US_ID}}' en la propuesta '{{PROPOSAL_SLUG}}'.
Modo Bulk (Múltiples Tareas)
Usa --bulk o -b para marcar múltiples tareas a la vez:
/quinotospec-mark-done TSK-AUTH-001,TSK-AUTH-002,TSK-AUTH-003 --bulk
Paso 1 — Procesar lista de tareas
- Recibe array de IDs de tareas:
[TSK-AUTH-001, TSK-AUTH-002, ...] - Para cada ID:
- Busca y marca como completada
[x] - Acumula éxitos y errores
- Busca y marca como completada
Paso 2 — Verificar completitud por US
Después de procesar todas las tareas:
- Para cada US afectada, verificar si todas sus tareas están completas
- Si US completa, mover a
_archived/
Paso 3 — Consolidar Changelog
- Una sola entrada de changelog para todas las tareas
- Título: Bulk Task Completion: {{CANTIDAD}} tasks
- Resumen: Se completaron {{CANTIDAD}} tareas: {{LISTA_DE_IDS}}
Modo Force (Forzar Archive)
Usa --force para mover a archive aunque no esté 100% completo:
/quinotospec-mark-done US-AUTH-001 --force
⚠️ Advertencia: Esto archivará el archivo de tareas aunque tenga tareas pendientes.
Validacion Pre-Completion (Tests)
Antes de marcar una tarea como completada, verifica que los tests pasen:
Paso 0 - Ejecutar Tests del Stack
- Lee
01-stack-profile.mdpara obtener el comando de tests del proyecto - Ejecuta los tests relacionados con la tarea:
- Si la tarea modifico archivos especificos, ejecuta tests que cubren esos archivos
- Si no se puede determinar scope, ejecuta suite completa
- Evalua resultados:
- Todos pasan -> Continua con Paso 1 normalmente
- Algunos fallan -> DETEN el proceso y reporta:
X No se puede marcar TSK-AUTH-001 como completada: 3 tests fallando - test_login_success: Expected 200, got 500 - test_token_validation: AssertionError Corrige los tests o usa --skip-tests si es un falso positivo. - No hay tests -> Advierte pero permite continuar:
! No se detectaron tests para esta tarea. Se recomienda agregar tests. ? Continuar sin tests? [y/N]
Excepciones
- Usa
--skip-testspara saltar la validacion (solo con confirmacion del usuario) - Si el proyecto no tiene tests configurados, omite este check automaticamente
- Para tareas de documentacion o configuracion, el check de tests se omite automaticamente
Flags
| Flag | Descripcion |
|---|---|
--bulk -b |
Procesar multiples tareas separadas por coma |
--force -f |
Forzar archive aunque no este completo |
--skip-changelog |
No actualizar changelog (para testing) |
--dry-run |
Simular sin hacer cambios reales |
--skip-tests |
Saltar validacion de tests (no recomendado) |
Manejo de Errores
- Si los tests fallan -> No marcar como completada, listar failures
- Si el archivo de tareas no existe -> notificar: "No se encontro el archivo de tareas para {{US_ID}} en la propuesta {{PROPOSAL_SLUG}}."
- Si el ID de tarea no existe en el archivo -> notificar: "El ID {{TSK_ID}} no fue encontrado en el archivo de tareas."
- Si
_archived/no existe, crealo antes de mover archivos. - Si bulk y parcial falla -> reportar que tareas fallaron y cuales se completaron exitosamente
- Si
--forcese usa con tareas pendientes -> requiere confirmacion doble