From mercadona-user-story-toolkit
Converts JTBDs with interview evidence into high-quality User Stories using the JTBD Reforzado framework. Works after /research-from-prd and before /user-story-quality-coach.
How this skill is triggered — by the user, by Claude, or both
Slash command
/mercadona-user-story-toolkit:jtbd-to-storiesThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Asiste al usuario en convertir JTBDs con evidencia real en User Stories de alta calidad, aplicando el framework JTBD Reforzado, Wendel Checklist y scoring de 6 dimensiones.
Asiste al usuario en convertir JTBDs con evidencia real en User Stories de alta calidad, aplicando el framework JTBD Reforzado, Wendel Checklist y scoring de 6 dimensiones.
Modo copiloto: Esta skill NO genera stories de forma autónoma. Guía al usuario paso a paso, señala información faltante y pregunta antes de rellenar. Ver shared-config.md §Filosofía del Plugin.
/prd-quality-guard → /research-from-prd → /jtbd-to-stories (ESTA) → /user-story-quality-coach
│ │
JTBDs + evidencia Stories + scoring
Ver SKILL-reference.md §1 para changelog v2.0 (qué cambió respecto a v1.x)
/user-story-quality-coach (6 dimensiones, escala 0-10)/user-story-builder (JTBD Reforzado, 3 motivaciones)JTBDs con evidencia real del output de /research-from-prd (obligatorio).
PRD original opcional para datos de Fase 2.
Ver SKILL-reference.md §2 para formato detallado del input con ejemplo de template
Si el usuario intenta generar stories SIN haber pasado por research:
Recomendación: Para stories de alta calidad, ejecuta primero
/research-from-prdpara obtener JTBDs con evidencia real de entrevistas.
| Campo JTBD | Elemento Story | Template |
|---|---|---|
| Job Performer | Actor ("Como...") | Usuario Específico |
| Trigger | "Cuando..." | Trigger (disparador) |
| Job Principal | "Quiero..." | Job Principal (core job) |
| Desired Outcome | "Para..." | Desired Outcome |
| Struggle | Fricción | Struggle + Ansiedades/Barreras |
| Motivación Funcional | Motivación F | Tarea práctica |
| Motivación Emocional | Motivación E | Cómo quiere sentirse |
| Motivación Social | Motivación S | Cómo quiere ser percibido |
| Evidencia - Farolas | Evidencia cuanti | Métricas validadas |
| Evidencia - Penumbras | Evidencia cuali | Quotes reales |
| Wendel 1-4 | Usuario Específico | 4 respuestas reales |
| Sección PRD | Uso en Story |
|---|---|
| Hipótesis de Solución | Comportamiento NUEVO (START) |
| Métricas | Rangos min-target-over |
| Dimensionamiento | Time Constraints (Dim 5) |
| Riesgos identificados | Survivable Experiment (Dim 6) |
Fuentes:
/research-from-prd (obligatorio)Antes de generar nada, comunicar al usuario:
He revisado los JTBDs y el PRD. Este es el inventario de lo que tengo:
- JTBDs: [listar con completitud de cada campo]
- Evidencia: [cuanti: X datos | cuali: X quotes]
- Métricas/KPIs: [disponibles o ⚠️ ausentes]
- Wendel: [X/4 preguntas con datos]
Información que FALTA y necesito para generar stories de calidad: [lista de gaps concretos con preguntas]
¿Tienes esta información? ¿Procedo con lo que hay y marco lo pendiente?
Esperar respuesta del usuario antes de continuar.
Para cada JTBD, construir:
### Job Principal (core job)
[Job Principal del JTBD — la tarea fundamental]
### Struggle (fricción actual)
[Struggle del JTBD — con quotes reales si disponibles]
### Trigger (disparador)
[Trigger del JTBD — momento específico de las entrevistas]
### Desired Outcome
[Desired Outcome del JTBD — resultado esperado concreto]
Validación: El Job Principal debe ser un JOB, no una solución.
Si detectas que el Job es una solución, aplicar técnica del "¿Por qué?" hasta llegar al job real.
| Dimensión | Fuente en JTBD | Pregunta clave |
|---|---|---|
| Funcional | Motivación Funcional | ¿Qué tarea práctica necesita realizar? |
| Emocional | Motivación Emocional | ¿Cómo quiere sentirse? |
| Social | Motivación Social | ¿Cómo quiere ser percibido? |
Ansiedades/Barreras: Extraer del Struggle del JTBD.
Si alguna motivación falta en el JTBD:
/user-story-builder para completar conversacionalmente| # | Pregunta | Fuente | Ejemplo |
|---|---|---|---|
| 1 | ¿Experiencia previa? | Wendel 1 del JTBD | "Recurrente, 1-2x/semana" |
| 2 | ¿Relación con producto? | Wendel 2 del JTBD | "Cliente 2 años, confía" |
| 3 | ¿Motivación situacional? | Wendel 3 del JTBD | "Rapidez, 15 min antes del reparto" |
| 4 | ¿Impedimento actual? | Wendel 4 del JTBD | "Buscar uno a uno, sin historial" |
Wendel Score: X/4 — Si <4, documentar qué falta.
### AHORA (comportamiento actual)
[Del Struggle del JTBD + observaciones de entrevistas]
### NUEVO (comportamiento objetivo)
| Tipo | Comportamiento |
|------|----------------|
| **START** | [De Hipótesis de Solución del PRD, o inferir del Desired Outcome] |
| **STOP** | [Lo que dejará de hacer — del Struggle] |
| **DIFFERENT** | [Mejora cuantificada — de métricas validadas] |
### Rangos (min-target-over)
[De KPIs Esperados del PRD, o de métricas de entrevistas]
Si no hay datos de Fase 2 del PRD:
⚠️ Pendiente: definir con PM/DataPresentar al usuario un BORRADOR de cada story (§1 User Story + §3 Comportamiento) y preguntar:
Aquí tienes el borrador de las stories. Antes de calcular scoring y completar:
- ¿El Job Principal refleja bien el trabajo real del usuario?
- ¿El cambio de comportamiento (START/STOP/DIFFERENT) es correcto?
- ¿Hay algo que corregir o completar? [Listar secciones con ⚠️ Pendiente si las hay]
Esperar confirmación antes de generar el output final.
| Dim | Nombre | Fuente principal | Escala |
|---|---|---|---|
| 1 | JTBD & Problem Context | Evidencia cuali + cuanti del JTBD | 0-10 |
| 2 | User Specificity | Job Performer + Wendel 4/4 | 0-10 |
| 3 | Behavior Change | AHORA→NUEVO + rangos | 0-10 |
| 4 | Zone of Control | Hipótesis Solución del PRD | 0-10 |
| 5 | Time Constraints | Alcance del Q del PRD | 0-10 |
| 6 | Survivable Experiment | Riesgo/Impacto del PRD | 0-10 |
Score Global = Promedio(Dim1...Dim6)
Cálculo determinista (offload-deterministic):
python3 scripts/score_story.py --d1=<D1> --d2=<D2> --d3=<D3> --d4=<D4> --d5=<D5> --d6=<D6>
Devuelve Score Global, Banda e Interpretación. Citar el output literal — no calcular la media en el LLM.
Interpretación: 0-4 requiere reescritura | 5-6 necesita refinamiento | 7-8 lista para desarrollo | 9-10 modelo a seguir.
Nota: Stories desde JTBDs con evidencia real típicamente alcanzan Dim1 y Dim2 ≥7.
Ver SKILL-reference.md §3 para secciones obligatorias y opcionales del template completo
| Nivel | Contenido | Cuándo usar |
|---|---|---|
| Épica | JTBD alto nivel + métricas generales | Vista estratégica |
| Features | Jobs Principales desglosados (2-5 por épica) | Planificación Q |
| Stories | Desglose implementable (1-2 sprints cada una) | Sprint planning |
Ver SKILL-reference.md §4 para antipatrones desde JTBD/PRD (7 antipatrones con señales y acciones)
Ver SKILL-reference.md §5 para integración con el ecosistema de skills (diagrama completo + cuándo usar cada skill)
Ver SKILL-reference.md §6 para referencias (jtbd-methodology, story-generation)
Ver SKILL-reference.md §7 para ejemplos de uso (3 casos: evidencia completa, gaps, PRD directo)
| Comando | Acción |
|---|---|
Genera stories con estos JTBDs | Flujo completo desde JTBDs |
Genera stories del PRD de [X] | Extracción directa del PRD (con advertencia) |
Stories del research de [X] | Buscar output de research y generar |
Desglose a nivel [épica/feature/story] | Ajustar granularidad de salida |
/research-from-prd).⚠️ Pendiente: definir con PM/Data.scripts/score_story.py — no hacer la media en el LLM.npx claudepluginhub josemerca/mercadona-user-story-toolkitGuides users step-by-step through creating high-quality user stories using JTBD methodology. Walks through 6 phases: context, job discovery, user specification, and functional/emotional/social motivations.
Generates job stories in 'When [situation], I want [motivation], so [outcome]' format with acceptance criteria. For JTBD-style backlog items and user situation analysis.
Provides JTBD core theory: job dimensions, story format/template, 8-step universal job map, outcomes, forces of progress. Frames jobs over user stories for product discovery.