Help us improve
Share bugs, ideas, or general feedback.
From mercadona-user-story-toolkit
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.
npx claudepluginhub josemerca/mercadona-user-story-toolkitHow this skill is triggered — by the user, by Claude, or both
Slash command
/mercadona-user-story-toolkit:user-story-builderThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Asistente conversacional que guía la creación de user stories de alta calidad usando metodología JTBD (Jobs To Be Done).
Generates job stories in 'When [situation], I want [motivation], so [outcome]' format with acceptance criteria. For JTBD-style backlog items and user situation analysis.
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.
Generates user stories with acceptance criteria from product requirements or feature descriptions. Use for sprint planning, writing tickets, or communicating requirements to engineering.
Share bugs, ideas, or general feedback.
Asistente conversacional que guía la creación de user stories de alta calidad usando metodología JTBD (Jobs To Be Done).
Modo copiloto: Esta skill es 100% conversacional. NUNCA genera una story completa sin haber recorrido las 6 fases con el usuario. Si el usuario quiere ir rápido, hacer las preguntas mínimas de cada fase pero NUNCA saltarse fases ni inventar respuestas. Ver shared-config.md §Filosofía del Plugin.
Las personas no compran productos, "contratan" soluciones para realizar trabajos específicos en sus vidas. Una buena user story captura:
El proceso sigue 6 fases. Avanzar solo cuando la fase actual esté completa.
┌─────────────────────────────────────────────────────────────┐
│ FASE 1: CONTEXTO INICIAL │
│ "¿Qué problema quieres resolver?" │
└─────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────┐
│ FASE 2: DESCUBRIR EL JOB │
│ Identificar el trabajo real (no la solución) │
└─────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────┐
│ FASE 3: ESPECIFICAR EL USUARIO │
│ Wendel Checklist: 4 preguntas clave │
└─────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────┐
│ FASE 4: DIMENSIONES DEL JOB │
│ Motivaciones funcional, emocional y social │
└─────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────┐
│ FASE 5: CAMBIO DE COMPORTAMIENTO │
│ START / STOP / DIFFERENT con rangos │
└─────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────┐
│ FASE 6: GENERAR USER STORY │
│ Formato completo JTBD + validación │
└─────────────────────────────────────────────────────────────┘
Objetivo: Entender qué quiere lograr el usuario.
Preguntar:
Detectar trampa "Solution as Need": Si el usuario describe una solución ("quiero un botón que..."), reformular:
"Veo que tienes una solución en mente. Vamos a dar un paso atrás: ¿qué problema tiene el usuario que esta solución resolvería?"
Objetivo: Identificar el trabajo real que el usuario necesita realizar.
Técnica del "¿Por qué?": Profundizar 3-5 niveles hasta llegar al job fundamental:
Usuario: "Quiero añadir filtros de búsqueda"
Coach: "¿Por qué necesitaría filtros el usuario?"
Usuario: "Para encontrar productos más rápido"
Coach: "¿Por qué es importante encontrarlos más rápido?"
Usuario: "Porque ahora tardan mucho y abandonan"
Coach: "¿Qué está intentando lograr cuando busca productos?"
Usuario: "Completar su compra semanal sin perder tiempo"
→ JOB: "Completar la compra habitual de forma eficiente"
Validar que es un JOB (no solución):
Objetivo: Definir quién es el usuario específico usando el Checklist de Wendel.
4 preguntas obligatorias:
| # | Pregunta | Ejemplo respuesta |
|---|---|---|
| 1 | ¿Qué experiencia previa tiene este usuario? | "Recurrente, compra 1-2x/semana los mismos ~40 productos" |
| 2 | ¿Qué relación tiene con el producto/empresa? | "Cliente frecuente desde hace 2 años, confía en la marca" |
| 3 | ¿Qué le motiva en esta situación específica? | "Rapidez - tiene 15 min antes de que llegue el repartidor" |
| 4 | ¿Qué le impide conseguirlo ahora? | "No encuentra sus productos habituales rápido, tiene que buscar uno a uno" |
Red flags - Usuario demasiado genérico:
Ayudar a especificar:
"¿Es un usuario nuevo o recurrente? ¿Compra mucho o poco? ¿Qué le caracteriza respecto a otros usuarios?"
Objetivo: Capturar las tres dimensiones de motivación.
Preguntar por cada dimensión:
"¿Qué tarea práctica necesita realizar?"
Ejemplo: "Añadir los productos de siempre al carrito sin buscarlos uno a uno"
"¿Cómo quiere sentirse el usuario durante y después de completar esta tarea?"
Ejemplo: "Sentirse organizado, en control, sin estrés por olvidar algo"
"¿Cómo quiere ser percibido por otros al realizar esta tarea?"
Ejemplo: "Ser visto como alguien eficiente que gestiona bien el hogar"
Ansiedades/Barreras:
"¿Qué preocupaciones o miedos tiene el usuario respecto a esto?"
Ejemplo: "Miedo a olvidar productos importantes, que la familia se queje"
Objetivo: Definir qué hará diferente el usuario y cómo medirlo.
"¿Qué hace el usuario HOY para resolver esto?"
Ejemplo: "Abre la app, busca cada producto individualmente, tarda 12 minutos"
"¿Qué queremos que haga DIFERENTE?"
| Tipo | Pregunta | Ejemplo |
|---|---|---|
| START | ¿Qué empezará a hacer? | "Usar sección 'Mis habituales' en Home" |
| STOP | ¿Qué dejará de hacer? | "Buscar cada producto individualmente" |
| DIFFERENT | ¿Qué hará de forma diferente? | "Completar lista en 5 min vs 12 min" |
"¿Cómo sabemos si funcionó? Define tres niveles:" IMPORTANTE: Preguntar al usuario por métricas y valores objetivo. NUNCA inventar porcentajes ni valores numéricos. Si el usuario no tiene métricas definidas, recomendar qué tipo de métrica sería útil y con quién definirla (PM, Data, Analytics).
| Nivel | Descripción | Ejemplo |
|---|---|---|
| Mínimo | Umbral para no descartar | -30% tiempo (de 12 a 8.4 min) |
| Target | Objetivo realista | -50% tiempo (de 12 a 6 min) |
| Over-top | Resultado excepcional | -70% tiempo (de 12 a 3.6 min) |
Usar template compacto de shared-config.md §Template JTBD Unificado.
Secciones (cada dato aparece UNA vez, sin repetir entre secciones):
Antes de entregar la story, validar contra checklist:
| Criterio | ✓ |
|---|---|
| Usuario específico (no genérico) | ☐ |
| Wendel Checklist (4/4 respondidas) | ☐ |
| Job real (no solución disfrazada) | ☐ |
| 3 dimensiones de motivación | ☐ |
| Behavior change cuantificado | ☐ |
| Rangos min-target-over definidos (NO inventados) | ☐ |
| Métricas provienen del usuario/fuente, no fabricadas | ☐ |
| Sin antipatrones | ☐ |
Si falta algo, volver a la fase correspondiente.
Ver SKILL-reference.md §1 para tabla completa de antipatrones con señales y correcciones.
Ver SKILL-reference.md §2 para tabla de dimensiones, interpretación de scores y reglas de penalización.
Score Global = Promedio(Dim1...Dim6). Compatible con /user-story-quality-coach y /jtbd-to-stories.
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 su output en lugar de hacer la media manualmente.
Ver SKILL-reference.md §3 para diagrama de flujo y tabla de derivación a otras skills.
Ver SKILL-reference.md §4 para enlaces a templates, guías, ejemplos y skills relacionadas.
Ver SKILL-reference.md §5 para tabla de comandos disponibles.
scripts/score_story.py.