user-stories
$
npx mdskill add 686f6c61/alfred-dev/user-storiesBreaks complex features into INVEST-compliant user stories.
- Converts high-level requirements into granular, testable tasks.
- Uses PRDs or direct user descriptions to identify actors and flows.
- Ensures each story is independent, valuable, and estimable.
- Outputs stories in standard 'As a... I want... So that...' format.
SKILL.md
.github/skills/user-storiesView on GitHub ↗
--- name: user-stories description: "Descomponer una feature en historias de usuario verificables. Activar cuando el usuario quiera crear historias de usuario, usar el formato como usuario quiero, descomponer una feature o definir requisitos funcionales." --- # Descomponer en historias de usuario ## Resumen Este skill toma una funcionalidad o requisito de alto nivel y lo descompone en historias de usuario granulares, cada una con criterios de aceptación, prioridad y estimación relativa. El objetivo es producir unidades de trabajo que un desarrollador pueda implementar de forma independiente en un máximo de 8 horas. La descomposición sigue el principio INVEST: cada historia debe ser Independiente, Negociable, Valiosa, Estimable, Pequeña y Testeable. Historias que no cumplan estos criterios se dividen hasta que los cumplan. ## Proceso 1. **Entender la funcionalidad completa.** Revisar el PRD si existe, o pedir al usuario que describa la feature. Identificar los actores implicados, los flujos principales y los flujos alternativos. 2. **Identificar los roles de usuario.** Listar todos los perfiles que interactúan con la funcionalidad: usuario final, administrador, sistema externo, etc. Cada rol puede generar historias distintas. 3. **Redactar historias con el formato estándar:** ``` Como [rol], quiero [acción concreta], para [beneficio medible]. ``` Evitar historias vagas como "Como usuario, quiero que funcione bien". La acción debe ser específica y el beneficio debe explicar el valor real. 4. **Añadir criterios de aceptación a cada historia.** Mínimo 2 criterios por historia: uno para el camino feliz y otro para un caso límite o error. Formato Given/When/Then preferible. 5. **Asignar prioridad con MoSCoW:** - **Must have:** sin esto la feature no tiene sentido. - **Should have:** importante pero no bloqueante para un primer lanzamiento. - **Could have:** mejora la experiencia pero se puede posponer. - **Won't have (this time):** descartado para esta iteración, documentado para referencia futura. 6. **Estimar de forma relativa.** Usar tallas de camiseta (S, M, L) o puntos de historia. La referencia es que una historia no debe superar 8 horas de trabajo. Si se estima mayor, dividirla. 7. **Verificar independencia.** Repasar que cada historia pueda implementarse y desplegarse sin depender del resto. Si hay dependencias, documentarlas explícitamente y ordenar en consecuencia. 8. **Presentar al usuario para validación.** Revisar la lista completa, ajustar prioridades y estimaciones según feedback. ## Criterios de éxito - Cada historia sigue el formato "Como / quiero / para" con roles, acciones y beneficios concretos. - Todas las historias tienen al menos 2 criterios de aceptación. - Ninguna historia supera las 8 horas estimadas de trabajo. - Las prioridades MoSCoW están asignadas y son coherentes con el objetivo de la feature. - El usuario ha validado la descomposición y las prioridades. ## Que NO hacer - No escribir historias demasiado grandes. Si una historia no se puede implementar y verificar en un máximo de 8 horas, necesita dividirse en historias más pequeñas. - No mezclar múltiples acciones en una sola historia. Cada historia debe representar una unidad de valor independiente que se pueda desplegar por separado. - No omitir los criterios de aceptación. Una historia sin criterios de aceptación no es verificable y genera ambigüedad entre producto y desarrollo.
More from 686f6c61/alfred-dev
- acceptance-criteriaGenerar criterios de aceptación en formato Given/When/Then. Activar cuando el usuario quiera definir criterios de aceptacion, usar formato Given When Then, escribir en Gherkin, saber como determinar que algo esta terminado o establecer una definicion de hecho.
- architecture-docsUsar para documentar la arquitectura del sistema. Activar ante: documentar arquitectura, diagrama del sistema, como funciona el proyecto, vision general tecnica
- bundle-sizeAnalizar y reducir el tamaño de bundles frontend. Activar cuando el bundle sea grande, se quiera reducir tamaño, aplicar tree shaking, configurar lazy loading, usar webpack analyzer o analizar el peso de la aplicacion.
- choose-stackUsar para evaluar y elegir tecnologías con matriz de decisión ponderada. Activar cuando el usuario quiera elegir tecnología, comparar frameworks, decidir entre alternativas técnicas, construir una matriz de decisión, evaluar stack, seleccionar base de datos, elegir lenguaje o comparar herramientas.
- ci-cd-pipelineConfigurar pipeline CI/CD adaptado al proyecto. Activar cuando el usuario quiera configurar CI, crear GitHub Actions, configurar GitLab CI, montar un pipeline de despliegue, automatizar tests o implementar integracion continua.
- code-review-responseUsar al recibir feedback de code review para responder técnicamente. Activar cuando el usuario quiera responder a comentarios de PR, gestionar feedback de code review, resolver comentarios de un revisor, o cuando el revisor pide cambios en el código.
- compliance-checkUsar para verificar cumplimiento RGPD, NIS2 y CRA. También: verificar RGPD, cumplimiento normativo, NIS2, CRA, Cyber Resilience Act, protección de datos, regulación europea.
- copy-reviewRevisar textos publicos: claridad, tono, ortografia y CTAs. Activar ante: revisar textos, mejorar copy, tono de comunicacion, textos de la web, landing page copy
- dependency-strategyEstrategia integral de gestion de dependencias: inventario, evaluacion de riesgo, politica de actualizaciones y documentacion. Usar para auditar el estado global de las dependencias del proyecto.
- dependency-updateRevisar dependencias desactualizadas, con CVEs o end-of-life, y proponer actualizaciones seguras. También: actualizar paquetes, actualizar dependencias, Dependabot, Renovate, versión desactualizada, breaking changes.