| name | map-workshop |
| version | 1.0.0 |
| description | Guided UX research map creation from scratch. Use when the user asks to "create a journey map", "map user experience", "day in the life", "experience map", "mapear experiencia", "journey del usuario", "mapa de experiencia", "customer journey", "service blueprint", "mapa del cliente", "investigacion de usuarios", "UX research", "mapear la experiencia del usuario", "como vive mi usuario", "mapa de viaje", "experiencia del cliente", "entender a mis usuarios", "/map-workshop", or wants to understand their users' experience. Detects existing personas and guides non-experts through the full process.
|
Taller de Mapas UX (UX Map Workshop)
Dialogo guiado interactivo para crear artefactos de investigacion UX profesionales.
Guia desde cero a usuarios sin experiencia en UX research, detectando personas
existentes y produciendo mapas visuales interactivos.
Regla de idioma
Todo el contenido generado debe estar en espanol. Los terminos de UX se presentan
en formato "espanol (English)" la primera vez que aparecen, para que el usuario
aprenda la terminologia en ambos idiomas. Despues de la primera mencion, se puede usar
solo el termino en espanol. Nombres propios de frameworks y libros se mantienen en su
idioma original.
Directorio de salida
docs/ux-research/maps/{nombre-del-mapa}/ -- contiene map.json (fuente de verdad)
y map.html (visualizacion interactiva).
Estilo de preguntas
Una pregunta a la vez. Opcion multiple cuando sea posible. Esperar respuesta antes de avanzar.
Puerta obligatoria
NO generar ningun artefacto hasta que las preguntas del paso correspondiente hayan sido
respondidas y el usuario haya aprobado la seccion. Preguntar UNA A LA VEZ. Esperar respuesta.
Flujo completo
TALLER DE MAPAS UX (6 pasos)
|-- Paso 1: Detectar Contexto -> Persona confirmada
|-- Paso 2: Tipo de Mapa -> Mapa seleccionado
|-- Paso 3: Recopilar Datos -> Todas las fases completas
|-- Paso 4: Generar JSON -> map.json escrito
|-- Paso 5: Renderizar HTML -> map.html escrito
|-- Paso 6: Analisis (opcional) -> Framework de 7 puntos NN/g
+-- PUERTAS: Aprobacion entre cada paso
Paso 1 -- Detectar Contexto (Context Detection)
Leer ${CLAUDE_PLUGIN_ROOT}/agents/persona-builder.md y despachar el agente persona-builder.
Evaluar el resultado:
-
FOUND_SRD / FOUND_BMT / FOUND_MAP: Presentar el persona encontrado al usuario.
Mostrar: nombre, edad, rol, ubicacion, dolor principal (primary pain), contexto.
Preguntar:
"He encontrado este persona en tu proyecto:
[nombre] ([edad] anos) -- [rol]
Ubicacion: [ubicacion]
Dolor principal: [primary_pain]
Contexto: [context]
Es este el persona que queres usar para el mapa?
- Si, usar este persona
- No, quiero crear uno nuevo
- Quiero modificarlo"
Si hay multiples personas de SRD: presentar lista numerada, dejar que el usuario elija.
-
CREATE_PROTO_PERSONA (default Lean UX 4-quadrant flow cuando no hay persona en SRD/BMT/maps): Ejecutar el PROTO_PERSONA_DIALOGUE del agent en 4 cuadrantes (una pregunta a la vez):
Cuadrante 1 — Identity: nombre (puede ser ficticio), edad, ocupación, ubicación, descripción visual del avatar en 1 oración.
Cuadrante 2 — Behavioral demographics (solo demographics que PREDICEN behavior): tech-savviness, tolerancia al riesgo, contexto de decision-making (autónomo / needs approval / team-based), schedule constraints.
Cuadrante 3 — Pain points: 3-5 pain points específicos con contexto, #1 unmet need actual, frustrations con soluciones existentes.
Cuadrante 4 — Potential solutions (HIPÓTESIS a validar): qué soluciones PODRÍAN ayudar, cuáles ya probó y no funcionaron.
El proto-persona resultante lleva _hypothesis_flag: true. Usarlo para el mapa actual, flaggeando que requiere validación con entrevistas reales (ver business-model-toolkit:customer-interview-system).
-
NOT_FOUND (legacy fallback — solo si se solicitó explícitamente): Ejecutar dialogo mínimo de creacion de persona. Preguntar una a la vez:
- "Como se llama tu usuario/a? Que edad tiene?"
- "Cual es su rol o profesion?"
- "Donde vive? (ciudad, pais)"
- "Cual es el mayor dolor o problema que enfrenta [nombre]?"
- "Describi en una oracion la situacion de [nombre]."
Sugerir avatar_emoji basado en las respuestas.
PUERTA DE APROBACION: Confirmar el persona antes de continuar.
Paso 2 -- Determinar Tipo de Mapa (Map Type Selection)
Leer ${CLAUDE_PLUGIN_ROOT}/references/map-type-guide.md antes de este paso.
Hacer estas preguntas en orden (desde la perspectiva del usuario final, NO del fundador):
Pregunta 1: "Tu usuario final o cliente ya cuenta con algun producto/servicio
existente para atender su problema/necesidad?"
Pregunta 1b: "Queres contar la historia emotiva de tu usuario en escenas
(como un comic o guion visual), o preferes mapear su dia completo y contexto de vida?"
Pregunta 2: "Es un producto/servicio digital?"
Registrar la respuesta como contexto (afecta los tipos de puntos de contacto despues).
Pregunta 3: "Queres entender como tu usuario vive el viaje con ese producto/servicio,
o necesitas planificar las historias de desarrollo (user stories) del equipo tecnico?"
Pregunta 4: "Necesitas ver solo la experiencia visible del cliente, o tambien los
procesos internos que ocurren detras de escena para entregar ese servicio?"
Presentar el tipo de mapa seleccionado y pedir aprobacion:
"Tipo de mapa seleccionado: [tipo]. Estas de acuerdo o preferis otro tipo?"
PUERTA DE APROBACION: Confirmar tipo de mapa antes de continuar.
Paso 3 -- Recopilar Datos (Data Collection)
Leer ${CLAUDE_PLUGIN_ROOT}/references/methodology.md antes de este paso.
Para Mapa de Experiencia (Day in the Life)
Leer las fases por defecto desde
${CLAUDE_PLUGIN_ROOT}/assets/schemas/profiles/experience-map.profile.json.
Presentar las fases temporales predeterminadas:
"Voy a mapear el dia de [nombre del persona] en 5 momentos.
Queres usar estos o personalizarlos?
- Manana temprana
- Media manana
- Tarde
- Atardecer
- Noche
(Responde 'Si' para usar estos, o describi tus fases personalizadas)"
Para cada fase (una a la vez), hacer estas preguntas en orden:
-
"Que hace [nombre] durante [fase] relacionado con [dominio/problema]?"
-> actions
-
"Que esta pensando o sintiendo en ese momento?"
-> thoughts
-
"Que le frustra o le duele en este punto?"
-> frustrations
-
"Del 1 al 5, como calificarias su estado emocional?
(1=muy mal, 2=mal, 3=neutral, 4=bien, 5=muy bien)"
-> emotion.level
Basado en la descripcion del usuario, sugerir un emoji y una etiqueta emocional
(ej: "Frustrada", "Aliviado", "Ansioso"). -> emotion.emoji, emotion.label
-
"Como esta interactuando con soluciones existentes en este momento?"
-> touchpoints
-
"Que oportunidad de mejora ves aca?"
-> opportunities
Despues de completar TODAS las fases:
-
"Cuales son los 3-4 puntos de dolor (Pain Points) principales que identificas
en todo el recorrido de [nombre]?"
-> analysis.pain_points
-
"Cual es el Momento de Verdad (Moment of Truth) -- el punto donde la experiencia
cambia decisivamente para bien o para mal?"
-> analysis.moments_of_truth
Para Customer Journey Map
Primero preguntar: "Cual es el producto/servicio especifico que queremos mapear?"
Leer las fases por defecto desde
${CLAUDE_PLUGIN_ROOT}/assets/schemas/profiles/journey-map.profile.json.
Presentar las etapas de viaje predeterminadas:
"Voy a mapear el viaje de [nombre del persona] con [producto/servicio]
en 6 etapas. Queres usar estas o personalizarlas?
- Descubrimiento (Awareness)
- Consideracion (Consideration)
- Adquisicion (Acquisition)
- Onboarding
- Uso (Usage)
- Retencion (Retention)
(Responde 'Si' para usar estas, o describi tus etapas personalizadas)"
Para cada fase, hacer las mismas 6 preguntas del Mapa de Experiencia, MAS:
- "A traves de que canales interactua con el producto en esta fase?
(ej: app movil, web, email, redes sociales, presencial, telefono)"
->
channels
Despues de completar todas las fases, hacer las mismas preguntas de analisis
(pain points y momentos de verdad).
Para Plano de Servicio (Service Blueprint)
Primero preguntar: "Cual es el producto o servicio especifico que vamos a mapear en este plano?"
Registrar como product_context.
Leer las fases por defecto desde
${CLAUDE_PLUGIN_ROOT}/assets/schemas/profiles/service-blueprint.profile.json.
Presentar las etapas predeterminadas:
"Voy a mapear el plano de servicio de [product_context] en 6 etapas.
Queres usar estas o personalizarlas?
- Descubrimiento (Awareness)
- Consideracion (Consideration)
- Adquisicion (Acquisition)
- Entrega del servicio (Service Delivery)
- Post-servicio (Post-service)
- Retencion (Retention)
(Responde 'Si' para usar estas, o describi tus etapas personalizadas)"
Para cada fase, hacer las mismas 6 preguntas base del Customer Journey Map, MAS:
-
"Que acciones visibles realiza el personal o sistema frente al cliente en esta etapa?
(lo que el cliente SI ve o experimenta directamente)"
-> frontstage_actions
-
"Que sucede detras de escena que el cliente NO ve?
(procesos internos, coordinacion entre equipos, tareas administrativas)"
-> backstage_actions
-
"Que sistemas, bases de datos o herramientas soportan esta etapa?
(ej: CRM, sistema de pagos, base de datos de inventario, plataforma de turnos)"
-> support_processes
-
"Que evidencia fisica o tangible recibe el cliente en esta etapa?
(ej: ticket, confirmacion por email, factura, producto fisico, notificacion push)"
-> physical_evidence
-
"Que tan visible es este proceso para el cliente?
- Visible -- el cliente lo ve directamente
- Parcialmente visible -- el cliente siente el efecto pero no el proceso
- Oculto -- el cliente no tiene conocimiento de este proceso"
->
line_of_visibility
Despues de completar todas las fases, hacer las mismas preguntas de analisis
(pain points y momentos de verdad).
Para Guion Visual (Storyboard)
Leer las escenas por defecto desde
${CLAUDE_PLUGIN_ROOT}/assets/schemas/profiles/storyboard.profile.json.
Primero preguntar sobre la cantidad de escenas:
"Cuantas escenas queres en el guion?
Por defecto uso 6 escenas que cubren el arco completo de problema a solucion:
- Contexto -- la situacion inicial
- Problema -- el conflicto o dolor
- Busqueda -- el usuario busca una solucion
- Descubrimiento -- encuentra algo prometedor
- Solucion -- lo usa y funciona
- Resultado -- el estado final mejorado
Responde 'Si' para usar estas 6, o indica cuantas escenas necesitas"
Para cada escena (una a la vez), hacer estas preguntas en orden:
-
"Que esta pasando en la escena [N] -- [titulo]? Describe la situacion."
-> scene_description
-
"Donde y cuando ocurre esta escena?"
-> scene_setting
-
"Hay algun dialogo o pensamiento clave? (opcional)"
-> scene_dialogue
-
"Cual es el estado de animo general en esta escena?"
-> scene_mood
-
"Del 1 al 5, como se siente [nombre] en esta escena? (1=muy mal, 5=muy bien)"
-> emotion.level
Sugerir emoji y etiqueta emocional. -> emotion.emoji, emotion.label
Despues de todas las escenas, preguntar:
- "En una frase, cual es el mensaje central que queres que el espectador recuerde?"
->
analysis.moments_of_truth[0].description
Para Mapa de Historias de Usuario (User Story Map)
Primero preguntar: "Cual es el producto o funcionalidad especifica que vamos a descomponer en historias?"
Registrar como product_context.
Leer las actividades por defecto desde
${CLAUDE_PLUGIN_ROOT}/assets/schemas/profiles/user-story-map.profile.json.
Presentar las actividades predeterminadas:
"Voy a organizar las historias de [product_context] en 6 actividades principales.
Queres usar estas o personalizarlas?
- Descubrir (Discover)
- Evaluar (Evaluate)
- Adquirir (Acquire)
- Configurar (Setup)
- Uso principal (Core Use)
- Extender (Extend)
(Responde 'Si' para usar estas, o describi tus propias actividades)"
Para cada actividad (una a la vez), hacer estas preguntas en orden:
-
"Que hace [nombre] en la actividad de [actividad] con [product_context]?"
-> actions
-
"Cual es la historia de usuario (user story)?
Formato: 'Como [persona], quiero [meta], para [beneficio]'"
-> user_story
-
"Cuales son los criterios de aceptacion (acceptance criteria)? (uno por linea)"
-> acceptance_criteria
-
"Que prioridad tiene esta historia?
- Must-have 2. Should-have 3. Could-have 4. Won't-have"
->
priority
-
"Para que release o sprint? (opcional)"
-> release
-
"Estimacion de esfuerzo? XS / S / M / L / XL (opcional)"
-> effort_estimate
Despues de todas las actividades:
-
"Cuales son los 3-4 riesgos o dependencias principales que identificas?"
-> analysis.pain_points
-
"Cual es la historia mas critica que si falla bloquea el resto?"
-> analysis.moments_of_truth[0]
PUERTA DE APROBACION: Confirmar que todos los datos de todas las fases estan
completos antes de continuar.
Paso 4 -- Generar JSON (Generate JSON)
Leer el perfil activo desde
${CLAUDE_PLUGIN_ROOT}/assets/schemas/profiles/{perfil-seleccionado}.profile.json.
Construir el objeto JSON conforme al esquema core + capas activas:
{
"meta": {
"type": "[experience-map | journey-map | service-blueprint | storyboard | user-story-map]",
"profile": "[experience-map | journey-map | service-blueprint | storyboard | user-story-map]",
"variant": "[day-in-the-life | narrative | null]",
"title": "[titulo descriptivo del mapa]",
"created": "YYYY-MM-DD",
"updated": "YYYY-MM-DD",
"version": 1
},
"persona": {
"name": "...",
"age": 0,
"role": "...",
"location": "...",
"avatar_emoji": "...",
"primary_pain": "...",
"context": "..."
},
"phases": [
{
"id": "...",
"label": "...",
"icon": "...",
"actions": ["..."],
"thoughts": ["..."],
"frustrations": ["..."],
"emotion": {
"level": 3,
"label": "...",
"emoji": "..."
},
"touchpoints": ["..."],
"opportunities": ["..."],
"channels": ["..."]
}
],
"analysis": {
"pain_points": ["..."],
"moments_of_truth": [
{
"phase": "...",
"description": "..."
}
],
"recommended_next_map": null
}
}
Crear directorio: docs/ux-research/maps/{titulo-slugificado}/
Escribir map.json.
Presentar un resumen:
"He generado el JSON del mapa. Contiene [N] fases, [N] pain points,
y [N] momentos de verdad.
Queres revisarlo antes de generar la visualizacion?
- Si, mostrame el JSON
- No, continua con la visualizacion"
PUERTA DE APROBACION: Confirmar JSON antes de renderizar.
Paso 5 -- Renderizar HTML (Render HTML)
Leer ${CLAUDE_PLUGIN_ROOT}/agents/renderer.md y despachar el agente renderer
con la ruta al map.json generado en el Paso 4.
Una vez completo, informar al usuario:
"El mapa visual esta listo. Abri el archivo
docs/ux-research/maps/{nombre}/map.html en Chrome o Edge para verlo e
interactuar con el.
Podes editar cualquier celda directamente en el navegador y usar los botones
'Save JSON' / 'Refresh from JSON' para sincronizar los cambios."
Preguntar:
"Queres que analice el mapa usando el framework de 7 puntos de NN/g
(Nielsen Norman Group)?
- Si, hacer el analisis
- No, el mapa esta completo"
PUERTA DE APROBACION: Confirmar HTML renderizado.
Paso 6 -- Analisis (Analysis) -- Opcional
Si el usuario dice si, leer la seccion del framework de 7 puntos en
${CLAUDE_PLUGIN_ROOT}/references/methodology.md.
Recorrer cada punto del framework:
(1) Expectativas no cumplidas (Unmet Expectations)
"Donde la experiencia entra en conflicto con lo que el usuario espera?"
Revisar los rows de thoughts y frustrations de cada fase. Identificar brechas
entre expectativa y realidad.
(2) Puntos de contacto innecesarios (Unnecessary Touchpoints)
"Hay pasos que podrian eliminarse sin perder valor para el usuario?"
Revisar touchpoints de cada fase. Preguntar: "Si removieramos este paso,
mejoraria la experiencia?"
(3) Puntos bajos / friccion (Low Points / Friction)
"Donde esta el punto emocional mas bajo?"
Identificar las fases con emotion.level de 1-2. Estos son zonas de prioridad
maxima para intervencion. Aplicar la regla de Peak-End (el usuario recuerda
el pico y el final de la experiencia).
(4) Transiciones de canal (High-Friction Channel Transitions)
"Donde cambia el usuario de dispositivo o canal?"
Buscar cambios en channels entre fases adyacentes. Los traspasos de canal
son la fuente mas comun de abandono y frustracion.
(5) Evaluacion de tiempo (Time Evaluation)
"Las inversiones de tiempo son proporcionales al valor recibido?"
Identificar fases donde el usuario espera o donde el tiempo se siente
desperdiciado.
(6) Momentos de verdad (Moments of Truth)
Confirmar y expandir los momentos de verdad identificados en el Paso 3.
Criterios: alta carga emocional + punto de decision del usuario +
consecuencia duradera. Maximo 3 por mapa.
(7) Puntos altos (High Points)
"Que esta funcionando bien y puede amplificarse?"
Identificar fases con emotion.level de 4-5. Los puntos altos revelan
lo que la experiencia hace bien. Protegerlos durante el rediseno.
Presentar hallazgos
Presentar un resumen estructurado con los hallazgos de cada punto del framework.
Recomendar siguiente tipo de mapa:
"Basado en este analisis, el siguiente paso natural seria crear un
[tipo_de_mapa_recomendado] para [razon justificada]."
Actualizar analysis.recommended_next_map en el JSON si corresponde.
Puertas de aprobacion (Approval Gates)
Resumen de todas las puertas del flujo:
- Despues del Paso 1 -- Persona confirmado
- Despues del Paso 2 -- Tipo de mapa seleccionado y aprobado
- Despues del Paso 3 -- Todas las fases completadas y revisadas
- Despues del Paso 4 -- JSON generado y aprobado
- Despues del Paso 5 -- HTML renderizado y confirmado
Principios clave
- Una pregunta a la vez -- nunca abrumar con multiples preguntas
- Opcion multiple cuando sea posible -- mas facil de responder
- Puertas de aprobacion -- presentar resultado, esperar aprobacion antes de avanzar
- Espanol como base -- con terminos UX en formato "espanol (English)" la primera vez
- Perspectiva del usuario final -- las preguntas siempre son sobre el usuario, no sobre el fundador
- Datos antes que visualizacion -- el JSON es la fuente de verdad, el HTML es derivado
- No fabricar datos -- todo viene del dialogo con el usuario o de fuentes existentes
Recursos
Archivos de referencia
${CLAUDE_PLUGIN_ROOT}/references/map-type-guide.md -- Arbol de decision y comparacion de tipos de mapa
${CLAUDE_PLUGIN_ROOT}/references/methodology.md -- Metodologia NN/g, framework de 7 puntos, guia de fases
Agentes
${CLAUDE_PLUGIN_ROOT}/agents/persona-builder.md -- Busca personas existentes o guia la creacion
${CLAUDE_PLUGIN_ROOT}/agents/renderer.md -- Compone HTML interactivo desde JSON
Esquemas y perfiles
${CLAUDE_PLUGIN_ROOT}/assets/schemas/core.schema.json -- Esquema core del JSON
${CLAUDE_PLUGIN_ROOT}/assets/schemas/profiles/experience-map.profile.json -- Perfil de Mapa de Experiencia
${CLAUDE_PLUGIN_ROOT}/assets/schemas/profiles/journey-map.profile.json -- Perfil de Customer Journey Map
${CLAUDE_PLUGIN_ROOT}/assets/schemas/profiles/service-blueprint.profile.json -- Perfil de Plano de Servicio
${CLAUDE_PLUGIN_ROOT}/assets/schemas/profiles/storyboard.profile.json -- Perfil de Guion Visual
${CLAUDE_PLUGIN_ROOT}/assets/schemas/profiles/user-story-map.profile.json -- Perfil de Mapa de Historias de Usuario