Help us improve
Share bugs, ideas, or general feedback.
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.
npx claudepluginhub josemerca/mercadona-user-story-toolkitHow 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.
Guides 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.
Share bugs, ideas, or general feedback.
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.