Actualización de Reunión Diaria
Genera una actualización de reunión diaria/standup a través de una entrevista interactiva. Nunca asumas que las herramientas están configuradas: pregunta primero.
Flujo de trabajo
INICIO
│
▼
┌─────────────────────────────────────────────────────────────────────┐
│ Fase 1: DETECTAR Y OFRECER INTEGRACIONES │
│ • Verificar: ¿Historial de Claude Code? ¿gh CLI? ¿jira CLI? │
│ • Claude Code → Extraer resumen de sesión de ayer │
│ → El usuario selecciona elementos relevantes mediante multiSelect│
│ • GitHub/Jira → Preguntar al usuario, extraer si está aprobado │
│ • Extraer datos AHORA (antes de la entrevista) │
├─────────────────────────────────────────────────────────────────────┤
│ Fase 2: ENTREVISTA (con información) │
│ • Mostrar los datos extraídos como contexto │
│ • Ayer: "Veo que fusionaste el PR #123, ¿algo más?" │
│ • Hoy: ¿En qué trabajarás hoy? │
│ • Bloqueadores: ¿Hay algo que te esté bloqueando? │
│ • Temas: ¿Algo que discutir al final de la reunión? │
├─────────────────────────────────────────────────────────────────────┤
│ Fase 3: GENERAR ACTUALIZACIÓN │
│ • Combinar respuestas de la entrevista + datos de herramientas │
│ • Formatear como Markdown limpio │
│ • Presentar al usuario │
└─────────────────────────────────────────────────────────────────────┘
Fase 1: Detectar y ofrecer integraciones
Paso 1: Detección silenciosa
Verifica las integraciones disponibles en silencio (suprime errores, no se muestra al usuario):
| Integración | Detección |
|---|---|
| Historial de Claude Code | El directorio ~/.claude/projects existe con archivos .jsonl |
| GitHub CLI | gh auth status tiene éxito |
| Jira CLI | El comando jira existe |
| Atlassian MCP | Herramientas mcp__atlassian__* disponibles |
| Git | Dentro de un repositorio git |
Paso 2: Ofrecer integraciones de GitHub/Jira (si están disponibles)
Usuarios de Claude Code: Usa la herramienta
AskUserQuestionToolpara todas las preguntas en esta fase.
GitHub/Git:
Si HAS_GH o HAS_GIT:
"He detectado que tienes GitHub/Git configurado. ¿Quieres que extraiga tu actividad reciente (commits, PRs, revisiones)?"
Opciones:
- "Sí, extrae la información"
- "No, yo proporcionaré todo manualmente"
Si es sí:
"¿Qué repositorios/proyectos debería revisar?"
Opciones:
- "Solo el directorio actual" (si está en un repositorio git)
- "Yo listaré los repositorios" → el usuario proporciona la lista
Jira:
Si HAS_JIRA_CLI o HAS_ATLASSIAN_MCP:
"He detectado que tienes Jira configurado. ¿Quieres que extraiga tus tickets?"
Opciones:
- "Sí, extrae mis tickets"
- "No, yo proporcionaré todo manualmente"
Paso 3: Extraer datos de GitHub/Jira (si está aprobado)
GitHub/Git — Para cada repositorio aprobado:
- Commits del usuario desde ayer
- PRs abiertos/fusionados por el usuario
- Revisiones realizadas por el usuario
Jira — Tickets asignados al usuario, actualizados en las últimas 24h
Información clave: Almacena los resultados para usarlos como contexto en la entrevista de la Fase 2.
Paso 4: Ofrecer historial de Claude Code
Esta integración captura todo lo que trabajaste con Claude Code — útil para recordar trabajo que no está en git ni en Jira.
Detección:
ls ~/.claude/projects/*/*.jsonl 2>/dev/null | head -1
Si existe el historial de Claude Code, pregunta:
"También puedo extraer tu historial de sesiones de Claude Code de ayer. Esto puede ayudar a recordar trabajo que no está en git/Jira (investigación, depuración, planificación). ¿Quieres que lo revise?"
Opciones:
- "Sí, extrae mis sesiones de Claude Code"
- "No, tengo todo lo que necesito"
Si es sí, ejecuta el script de resumen:
python3 ~/.claude/skills/daily-meeting-update/scripts/claude_digest.py --format json
Luego presenta las sesiones con multiSelect:
Usa AskUserQuestionTool con multiSelect: true para que el usuario seleccione los elementos relevantes:
"Aquí están tus sesiones de Claude Code de ayer. Selecciona las relevantes para tu standup:"
Opciones (multiSelect):
- "Corregir bug de autenticación (backend-api)"
- "Implementar flujo OAuth (backend-api)"
- "Actualizar estilos de la página principal (frontend-app)"
- "Investigar proveedores de pago (docs)"
Información clave: El usuario selecciona qué sesiones están relacionadas con el trabajo. Los proyectos personales o experimentos pueden excluirse.
NO ejecutes el script de resumen cuando:
- El usuario dice explícitamente "No" al historial de Claude Code
- El usuario dice que proporcionará todo manualmente
- El directorio
~/.claude/projectsno existe
Si el script de resumen falla:
- Alternativa: Saltar la integración de Claude Code en silencio y proceder con la entrevista
- Problemas comunes: Python no instalado, no hay sesiones de ayer, errores de permisos
- No bloquees el flujo del standup — el script es complementario, no obligatorio
Fase 2: Entrevista (con información)
Usuarios de Claude Code: Usa la herramienta
AskUserQuestionToolpara realizar la entrevista. Esto proporciona una mejor experiencia de usuario con opciones estructuradas.
Usa los datos extraídos como contexto para hacer preguntas más inteligentes.
Pregunta 1: Ayer
Si se extrajeron datos, muéstralos primero:
"Esto es lo que encontré en tu actividad:
- Fusionado PR #123: corregir tiempo de espera de inicio de sesión
- 3 commits en backend-api
- Revisado PR #456 (aprobado)
¿Algo más en lo que trabajaste ayer que se me haya escapado?"
Si no se extrajeron datos:
"¿En qué trabajaste ayer/desde el último standup?"
Si la respuesta del usuario es vaga, haz una pregunta de seguimiento:
- "¿Puedes dar más detalles sobre X?"
- "¿Completaste algo específico?"
Pregunta 2: Hoy
"¿En qué trabajarás hoy?"
Opciones:
- [Entrada de texto - el usuario escribe libremente]
Si se extrajeron datos de Jira, puedes sugerir:
"Veo que tienes estos tickets asignados:
- PROJ-123: Implementar flujo OAuth (En progreso)
- PROJ-456: Corregir bug de pago (Por hacer)
¿Trabajarás en alguno de estos hoy?"
Pregunta 3: Bloqueadores
"¿Tienes algún bloqueador o impedimento?"
Opciones:
- "Sin bloqueadores"
- "Sí, tengo bloqueadores" → seguimiento para detalles
Pregunta 4: Temas para discusión
"¿Algún tema que quieras plantear al final de la reunión diaria?"
Opciones:
- "No, nada que discutir"
- "Sí" → seguimiento para detalles
Ejemplos de temas:
- Decisión técnica que necesita opinión
- Alineación con otro equipo
- Pregunta sobre priorización
- Anuncio o información para el equipo
Fase 3: Generar actualización
Combina toda la información en Markdown limpio:
# Actualización Diaria - [FECHA]
## Ayer
- [Elementos de la entrevista]
- [Elementos de GitHub/Jira si se extrajeron]
## Hoy
- [Elementos de la entrevista]
## Bloqueadores
- [Bloqueadores o "Sin bloqueadores"]
## PRs y Revisiones (si se extrajeron de GitHub)
- [PRs abiertos]
- [PRs fusionados]
- [Revisiones realizadas]
## Jira (si se extrajo de Jira)
- [Tickets actualizados]
## Temas para Discusión
- [Temas o "Ninguno"]
---
*Enlaces:*
- [Enlaces a PRs]
- [Enlaces a tickets]
Principios fundamentales
- La entrevista es primordial — Las herramientas complementan, no reemplazan el contexto humano
- Consentimiento antes del acceso — Siempre pregunta antes de extraer de cualquier integración
- Preguntas con contexto — Muestra los datos extraídos durante la entrevista para activar la memoria ("Veo que fusionaste el PR #123...")
Referencia rápida
| Fase | Acción | Herramienta |
|---|---|---|
| 1. Detectar y ofrecer | Verificar gh/jira/historial de Claude, preguntar al usuario, extraer datos | Bash (silencioso), AskUserQuestionTool* |
| 2. Entrevista | Hacer 4 preguntas con información | AskUserQuestionTool* |
| 3. Generar | Formatear Markdown | Texto de salida |
*Solo Claude Code: Usa la herramienta AskUserQuestionTool para preguntas estructuradas.
Script de resumen de Claude Code
# Obtener las sesiones de ayer como JSON
python3 ~/.claude/skills/daily-meeting-update/scripts/claude_digest.py --format json
# Obtener las sesiones de hoy
python3 ~/.claude/skills/daily-meeting-update/scripts/claude_digest.py --date today --format json
# Filtrar a un proyecto específico
python3 ~/.claude/skills/daily-meeting-update/scripts/claude_digest.py --project ~/my-app --format json
Ejemplo de sesión
Claude: "¡Vamos a preparar tu daily! He detectado que tienes GitHub configurado. ¿Quieres que extraiga tu actividad reciente?"
Usuario: "Sí"
Claude: "¿Qué repositorios debería revisar?"
Usuario: "backend-api y frontend-app"
[Claude extrae datos de GitHub en silencio]
Claude: "También puedo extraer tu historial de sesiones de Claude Code de ayer. ¿Quieres que lo revise?"
Usuario: "Sí"
[Claude ejecuta el script de resumen, obtiene 5 sesiones]
Claude: "Aquí están tus sesiones de Claude Code de ayer. Selecciona las relevantes para tu standup:"
☑ Corregir bug de tiempo de espera de autenticación (backend-api)
☑ Implementar flujo OAuth (backend-api)
☐ Actualizar blog personal (blog) - [usuario desmarca proyecto personal]
☑ Investigar proveedores de pago (docs)
☐ Depurar fallos de pruebas (experimentos)
Usuario: [selecciona 3 elementos relevantes]
Claude: "Esto es lo que encontré en tu actividad:
- Fusionado PR #120: corregir tiempo de espera de inicio de sesión
- Abierto PR #125: feat: agregar flujo OAuth
- Revisado PR #123 (aprobado), PR #456 (cambios solicitados)
- 5 commits en backend-api
- [De Claude Code] Corregir bug de tiempo de espera de autenticación
- [De Claude Code] Implementar flujo OAuth
- [De Claude Code] Investigar proveedores de pago
¿Algo más en lo que trabajaste ayer que se me haya escapado?"
Usuario: "No, eso cubre todo"
Claude: "¿En qué trabajarás hoy?"
Usuario: "Continuar la función OAuth y desplegar en staging"
Claude: "¿Algún bloqueador?"
Usuario: "No"
Claude: "¿Algún tema que plantear al final del daily?"
Usuario: "Sí, quiero discutir la arquitectura del nuevo módulo de pagos"
[Claude genera la actualización]
Ejemplo de salida
# Actualización Diaria - 2026-01-22
## Ayer
- Trabajé en la función de autenticación
- Investigación sobre proveedores de pago
- Fusionado PR #120 (fix: tiempo de espera de inicio de sesión)
- Abierto PR #125 (feat: agregar flujo OAuth)
## Hoy
- Continuar función OAuth
- Desplegar en staging
## Bloqueadores
- Sin bloqueadores
## PRs y Revisiones
- **Abiertos:** PR #125 - feat: agregar flujo OAuth
- **Fusionados:** PR #120 - fix: tiempo de espera de inicio de sesión
- **Revisiones:** PR #123 (aprobado), PR #456 (cambios solicitados)
## Temas para Discusión
- Arquitectura del nuevo módulo de pagos
---
*Enlaces:*
- https://github.com/org/repo/pull/125
- https://github.com/org/repo/pull/120
Anti-patrones
| Evitar | Por qué (Conocimiento experto) | En su lugar |
|---|---|---|
| Ejecutar gh/jira sin preguntar | Los usuarios pueden tener repositorios personales visibles, o estar en un contexto de proyecto sensible que no quieren exponer | Siempre pregunta primero, deja que el usuario elija los repositorios |
| Asumir que el directorio actual es el único proyecto | Los desarrolladores suelen trabajar en 2-5 repositorios simultáneamente (frontend, backend, infra) | Pregunta "¿En qué proyectos estás trabajando?" |
| Saltar la entrevista incluso con datos de herramientas | Las herramientas capturan QUÉ pasó, pero omiten el PORQUÉ y el contexto (investigación, reuniones, planificación) | La entrevista es primordial, las herramientas complementan |
| Generar actualización antes de las 4 preguntas | El usuario podría tener un bloqueador crítico o tema de discusión que cambie la narrativa | Completa la entrevista, luego genera |
| Incluir mensajes de commit sin procesar | Los mensajes de commit a menudo son crípticos ("fix", "wip") y no cuentan la historia | Resume en resultados legibles para humanos |
| Solicitar datos después de la entrevista | Mostrar información durante la entrevista hace que las preguntas sean más inteligentes ("Veo que fusionaste el PR #123, ¿algo más?") | Extrae datos primero, luego entrevista con contexto |
NUNCA
- NUNCA asumas que las herramientas están configuradas — Muchos desarrolladores tienen gh instalado pero no autenticado, o jira CLI apuntando a la instancia incorrecta
- NUNCA te saltes la pregunta "Temas para discusión" — Esta suele ser la parte más valiosa del standup que las herramientas no pueden capturar
- NUNCA generes más de 15 viñetas — El standup debe durar <2 minutos de lectura; las actualizaciones largas pierden a la audiencia
- NUNCA incluyas números de ticket/PR sin contexto — "PROJ-123" no significa nada; incluye siempre el título o resumen
- NUNCA extraigas datos de repositorios que el usuario no aprobó explícitamente — Incluso si puedes ver otros repositorios, respeta los límites