S3: Resolver Problemas de Forma Sistemática

Agentic Developer

enaina

Check-in

enaina

¿Vais a escribir un prompt nuevo para cada tarea, para siempre?

enaina

Sabéis dónde invertir. Pero saber dónde no basta.

enaina
In-Agent (Core Four) Through-Agent
1. Context 5. Standard Out
2. Model 6. Types
3. Prompt 7. Documentation
4. Tools 8. Tests
9. Architecture
10. Plans
11. Templates
12. ADWs
enaina

Agenda

El problema: cada tarea, su prompt
La solución: template + plan
Lab: anatomía de templates
Incorpora templates a tu proyecto
Reflexión
enaina

¿Qué tipos de tarea hacéis en vuestro día a día?

enaina

"Nueva feature": dos tareas, dos mundos

Feature A Feature B
Toca frontend React Toca API Rails
Necesita design system Necesita esquema de BD
3 componentes afectados 5 endpoints afectados
enaina

Cada tarea necesita su propio prompt.

Escribirlos a mano no escala.

enaina

¿Y si capturamos lo que SÍ se repite?

enaina

Un buen prompt tiene secciones.

enaina

Secciones fijas. Huecos que cambian.

 ██  Enfoque de ingeniería
 __  ·························
 __  ·························
 __  ·························
 ██  Validación y criterios
enaina

Diseñamos las secciones fijas. La IA rellena los huecos.

enaina

Dos agentes. Dos contextos frescos.

Template
Agente 1
PLANIFICA
Plan
Agente 2
CONSTRUYE
Resultado
enaina

El plan ES el prompt del siguiente agente.

enaina

3 ejemplos: /bug · /chore · /feature

enaina

/bug

Al marcar una tarea como completada, el cambio no persiste al recargar la página

enaina

/chore

Añade la gema annotaterb y configúrala para que todos los modelos tengan anotaciones sobre su esquema de base de datos

enaina

/feature

Añadir drag and drop a la lista de todos para poder reordenarla

enaina

¿Hay alguno de los leverage points de S2 que estemos activando aquí?

enaina

3 templates. Tu proyecto. Hoy.

enaina

Los tipos de tarea se descubren, no se diseñan.

enaina

¿Qué ajustes necesitaron vuestros templates?

enaina

La calidad del template determina la calidad del resultado.

enaina

Lo que antes era artesanal ahora es un proceso. Y los procesos escalan.

enaina

Tenéis procesos que los agentes siguen de forma consistente. Pero todavía estáis ahí supervisando... ¿pueden hacerlo sin que estéis?

enaina

Check-out

enaina

🎯 Portada — Bienvenida, contexto emocional Fase 3 (empoderamiento) 💬 S2: dónde invertir (12 puntos + perspectiva del agente) Hoy: responder la pregunta que quedó abierta 🎬 No adelantar la pregunta Pasar a la siguiente slide 📌 Duración total: 150 min (~133 planificados + ~17 margen) Tono: método y consistencia ⏱ 1 min ➡️ Pasar directamente al check-in

🎯 Check-in — Conexión humana 💬 Ronda rápida: cómo llegan 🎬 Cada persona comparte brevemente No profundizar — es calentamiento Escuchar con atención pero mantener ritmo ⏱ 5 min ➡️ Pasar a la provocación sin transición verbal — contraste intencionado

🎯 Provocación — Conectar con S1 y abrir la tensión: ¿un prompt nuevo cada vez? 💬 S1: prompt planificado funcionó → resolvió UNA tarea sin vibe coding Mañana otra tarea, otra, otra → cada una necesita su propio prompt con su propio contexto ¿Escribir a mano cada vez? 🎬 Dejar pregunta visible 5-10 seg en silencio Dejar que la incomodidad aterrice No responder — la sesión responde progresivamente ⏱ 2-3 min ➡️ "Vamos a conectar con lo que vimos la última vez."

🎯 Recapitulación — Puente desde S2 💬 S2: perspectiva del agente + 12 puntos → sabéis dónde invertir Pero: nueva feature, bug, refactor → abren Claude Code y escriben prompt desde cero cada vez ¿Cómo convertir eso en proceso? 🎬 Pausa, dejar que la tensión entre "saber dónde" y "no saber cómo" aterrice ⏱ 5 min ➡️ "Vamos a ver qué nos espera hoy."

🎯 Recap visual — El mapa de S2 como ancla antes de profundizar 💬 "Este es el mapa que descubrimos. 12 puntos, dos familias." No re-explicar — mostrar como recordatorio visual "Hoy vamos a profundizar en dos de estos puntos." No revelar cuáles — la sesión lo descubre 🎬 Dejar visible 10-15 seg — que el grupo reconecte con S2 Señalar la tabla brevemente No detenerse — es ancla, no contenido nuevo ⏱ 1 min ➡️ Pasar directamente a la agenda

🎯 Agenda — Orientar la sesión 💬 Concepto + demo + análisis + práctica en proyecto real Al final: templates funcionando en su proyecto 🎬 Mostrar brevemente, no detenerse ⏱ 1 min ➡️ "Empecemos."

🎯 Debate: tipos de tarea — Hacer emerger la clasificación del grupo, no imponerla 💬 Última semana de trabajo → ¿qué TIPOS de tarea? No tareas concretas — tipos Después: elegir dos del mismo tipo y compararlas 🎬 Preparar pizarra Lanzar la pregunta con energía Anotar TODO sin filtrar Agrupar — no revelar chore/bug/feature, dejar que emerja 👂 Nueva feature, corregir bug, actualizar dependencia, migración BD, refactor, cambios diseño, scripts 📌 Bloque 3: MODELAR. O1. ⏱ 5-6 min ➡️ "Comparemos dos tareas del mismo tipo..."

🎯 Contraste — Mismo tipo, contexto diferente: imposible usar el mismo prompt 💬 Mismo tipo (nueva feature) → archivos, contexto, dependencias diferentes ¿Podríais usar el MISMO prompt para ambas? S1: prompt planificado funcionó para UNA tarea 🎬 Usar dos tareas reales del grupo — si no, ejemplo de la slide 👂 No, claro que no ⏱ 4-5 min ➡️ "Y eso nos lleva a un problema..."

🎯 Punchline — Callback a S1: el prompt planificado no escala 💬 Prompt planificado era alternativa al vibe coding → funcionó para UNA tarea 5-10 tareas/día → 5-10 prompts desde cero cada día Eso no escala 🎬 Dejar ambas frases visibles 5 seg ⏱ 3-4 min ➡️ "Pero hay algo interesante en lo que acabamos de ver..."

🎯 Puente — De tensión a exploración: lo que SÍ se repite 💬 Cada tarea diferente → pero dentro de cada tipo, algo SÍ se repite Archivos cambian, contexto cambia → FORMA de abordar se repite (estructura, enfoque, validación) ¿Y si capturamos esa parte? 🎬 Dejar pregunta visible unos seg Señalar pizarra con los tipos de tarea 👂 La estructura, los pasos, cómo validar, el enfoque general ⏱ 3 min ➡️ Pasar directamente a la siguiente slide

🎯 Concepto — Hacer que vean un prompt por dentro antes de hablar de templates 💬 Prompt planificado de S1 no era párrafo suelto → tenía partes Enfoque, contexto, tarea, validación Un buen prompt tiene secciones → y cuando miramos esas secciones... 🎬 Dejar frase en suspense Pasar a la siguiente — la imagen completa la idea 📌 Bloque 4: MODELAR. O1 + O2. ⏱ 1-2 min ➡️ Pasar directamente

🎯 Diagrama clave — Hacer visible lo abstracto: secciones fijas vs huecos 💬 ██ = secciones siempre iguales → enfoque ingeniería, validación = prácticas del equipo __ = huecos → archivos, contexto, dependencias = lo que cambia Misma estructura, diferentes huecos 💡 Slide más importante de la sesión — diagrama hace visible lo abstracto 🎬 Dejar que la imagen aterrice — silencio Señalar diagrama parte por parte ⏱ 3-4 min ➡️ "Y ahí está la idea..."

🎯 Insight central — El "aha": diseñar el molde una vez, la IA genera cada prompt 💬 Codificar prácticas de ingeniería del equipo → escribir UNA vez IA lee proyecto, analiza tarea → rellena huecos (archivos, contexto, dependencias) Ya no un prompt por tarea → diseñar molde una vez 🎬 Dejar slide con peso — silencio Este es el "aha" conceptual ⏱ 3-4 min ➡️ "Pero hay algo más en este flujo..."

🎯 Dos agentes — Hacer visible la arquitectura Plan→Build 💬 Template lo lee un agente → analiza proyecto, genera plan con los huecos rellenos Plan lo lee OTRO agente → contexto fresco, sin contaminación de la planificación Por eso el plan debe ser autocontenido: es TODO lo que el segundo agente recibe Separar planificación de ejecución = cada agente hace UNA cosa bien 🎬 Señalar diagrama parte por parte Enfatizar: son DOS agentes diferentes, no el mismo El primero INVESTIGA y PLANIFICA, el segundo EJECUTA ⏱ 2-3 min ➡️ "Y eso nos lleva a una idea potente..."

🎯 Punchline — Gran planificación = gran prompting 💬 Lo que genera el primer agente no es "un documento" → es el PROMPT que recibe el segundo Calidad del plan = calidad del prompt = calidad del resultado Por eso importa diseñar buenos templates → generan buenos planes → que son buenos prompts 🎬 Dejar frase con peso — silencio Conectar: en el lab van a ver esto en acción — /bug genera un plan que /implement ejecuta ⏱ 2 min ➡️ "Vamos a verlo en acción."

🎯 Lab intro — El facilitador presenta el bloque práctico 💬 Tres escenarios: /bug, /chore, /feature Dinámica: facilitador ejecuta /bug en vivo, luego participantes hacen los tres Para cada uno: ejecutar SOLO la fase Plan (no implementar) Identificar: secciones ESTÁTICAS vs generación DINÁMICA 🎬 Participantes abren portátiles con Claude Code contra demo app (rama S3) Pasar slides conforme avanzan por cada escenario 📌 Bloque 5: MODELAR + PRACTICAR. O1 + O2. ⏱ 25-30 min total (intro + 3 escenarios) ➡️ Pasar a primer escenario

🎯 Escenario 1: /bug — El facilitador ejecuta en vivo, después los participantes replican 💬 DEMO EN VIVO (8-10 min): Mostrar bug description ANTES de ejecutar: "Algo está roto. Mirad qué hace el template." Ejecutar: input → /bug → plan generado → /implement → bug arreglado Narrar: "Mirad la estructura del plan. Reproducir. Root cause. Fix. Validar." Preguntar: "¿Qué parte de este plan sería igual para CUALQUIER bug? ¿Y qué es específico de ESTE?" La metodología diagnóstica es lo estático — los archivos y la causa son lo dinámico Al terminar: "Eso es un meta-prompt: un prompt que genera otro prompt" PARTICIPANTES REPLICAN (~5-6 min): Ejecutar /bug con el mismo input → examinar plan generado Preguntas: ¿qué metodología sigue? ¿qué archivos identifica? ¿cómo valida? Identificar secciones estáticas (reproducir → root cause → fix → validar) vs dinámicas (archivos, causa específica) 🎬 Circular con preguntas guía: "¿Reconocéis esta metodología? Es lo que YA hacéis — pero codificado." "¿Qué secciones son idénticas entre vuestra ejecución y la demo?" ⏱ ~15 min (demo + práctica) ➡️ Pasar al siguiente escenario

🎯 Escenario 2: /chore — Participantes ejecutan y contrastan con /bug 💬 Ejecutar /chore con este input → examinar plan generado Observar: pasos prescriptivos y secuenciales (instalar, configurar, generar) Identificar secciones estáticas (estructura de chore, enfoque mecánico) vs dinámicas (modelos, contexto Rails) 🎬 Circular con preguntas guía: "¿En qué se parece el plan de /chore al de /bug? ¿En qué es radicalmente diferente?" "En /bug lo estático era una metodología. Aquí lo estático es... ¿qué?" ⏱ ~5-6 min ➡️ Pasar al siguiente escenario

🎯 Escenario 3: /feature — Capstone: el template más complejo y completo 💬 Ejecutar /feature con este input → examinar plan generado Analizar: cómo estructura frontend vs backend, qué validaciones incluye Identificar secciones estáticas (scaffold full-stack, validación cruzada) vs dinámicas (componentes React, endpoints Rails) 🎬 Circular con preguntas guía: "¿Qué validaciones añade /feature que no tenían los anteriores?" "Tres templates, tres formas de 'estático': metodología, checklist, scaffold. ¿Veis el patrón?" Cierre del lab: "3 templates, 3 escenarios. El patrón se repite: meta-prompt." ⏱ ~5-6 min ➡️ "Antes de pasar a vuestro proyecto, una pregunta..."

🎯 Conexión S2 por descubrimiento — Que el grupo identifique los LP activos 💬 Templates y Plans = dos de los 12 puntos Trabajan JUNTOS: template genera plan, plan guía al agente Saber dónde invertir = puntos que se componen, no aislados 🎬 Lanzar pregunta, dejar que el grupo responda Señalar pizarra si aún tiene los 12 puntos de S2 Si los identifican, marcar Templates y Plans 👂 Templates, Plans, Prompt... ⏱ 4-5 min ➡️ "Ahora viene lo importante: vuestro proyecto."

🎯 Práctica en proyecto real — MOMENTO DEFINITORIO: incorporar templates al propio stack 💬 Tres templates (chore, bug, feature) = baseline Objetivo: incorporar a proyecto real, adaptar a stack y convenciones del equipo 🎬 Cambiar tono a misión — momento clave de la sesión Equipos toman templates de demo app y los crean en su proyecto real Circular con preguntas guía: "¿Qué convención necesitáis reflejar?" "¿Qué validación es específica de vuestro stack?" "Si no encaja, anotadlo — no lo templateéis ahora" 📌 Bloque 6: APLICAR. O3. ⏱ 30 min (margen hasta 35) ➡️ A los 25 min: "5 minutos para cerrar"

🎯 Framing emergente — Los tipos se descubren, no se diseñan upfront 💬 Tipos = como modelos de datos → se descubren con práctica, no se diseñan upfront Hoy incorporáis tres → mañana, si un tipo se repite y ningún template encaja, lo crearéis Repertorio crece con el equipo 🎬 Reforzar: objetivo no es anticipar todos los tipos, sino empezar y crecer orgánicamente ⏱ 2-3 min ➡️ "Vamos a reflexionar sobre lo que ha pasado."

🎯 Reflexión — Puesta en común de ajustes: hacer visible el conocimiento codificado 💬 Templates ¿funcionaron tal cual o necesitaron ajustes? Ajustes = CONOCIMIENTO DEL EQUIPO codificado → cada ajuste hace template más específico 🎬 Pedir a 2-3 equipos que compartan Anotar ajustes en pizarra Buscar patrones: ¿ajustes que todos hicieron? 👂 Sección de migración para Rails, paso de reproducción en bug, más contexto de arquitectura en feature 📌 Bloque 7: REFLEXIONAR. O1, O2, O3. ⏱ 7-8 min ➡️ "Hay un patrón aquí..."

🎯 Insight de calidad — Template específico = resultado consistente 💬 Template genérico → resultados inconsistentes Template específico del stack → resultados consistentes Calidad del template determina calidad del resultado — no la del modelo, no la del prompt Cada ajuste mejora TODOS los resultados futuros de ese tipo 🎬 Conectar con los ajustes que compartieron "¿Habéis detectado algún tipo que no encaje? ¿Cuándo lo añadiríais?" 👂 Respuestas sobre cuándo crear nuevos tipos — reforzar que emergen con la práctica ⏱ 3-4 min ➡️ "Vamos a cerrar."

🎯 Síntesis — Articular en UNA idea lo que la sesión reveló 💬 Cada tarea necesita su prompt → pero no necesitamos escribirlo Tres templates (chore, bug, feature) = baseline → ajustes los mejoran Lo artesanal → proceso → los procesos escalan 🎬 Señalar pizarra con los ajustes compartidos — inicio de su sistema NO hacer recap con bullet points ⏱ 2-3 min ➡️ "Y eso nos abre la puerta a la siguiente pregunta..."

🎯 Preview S4 + semilla — De procesos supervisados a autonomía (soltar el control) 💬 Templates funcionan → agente ejecuta, genera plan, otro implementa Pero seguís ahí: lanzando, revisando, presentes ¿Y si no tuvierais que estar? ¿Qué os falta para soltar el control? 🎬 Dejar pregunta visible 1-2 min reflexión individual silenciosa 2-3 min para que 2-3 personas compartan No apurar, escuchar activamente 📌 Soltar el control conecta con vértigo emocional de Fase 4 ⏱ 5 min ➡️ "Antes de irnos..."

🎯 Check-out — Conexión humana 💬 Ronda rápida: cómo se van 🎬 Cada persona comparte brevemente No profundizar — es cierre emocional Escuchar con atención pero mantener ritmo ⏱ 5 min