# Segmentar `background-orchestrator` en skills más pequeñas ## Context El SKILL.md actual de `background-orchestrator` tiene ~470 líneas y 31KB. Contiene TODO el flujo: lanzar agentes, monitorear, generar instrucciones, validar y archivar. Es difícil de navegar y mantener. La idea es segmentarlo en skills más pequeñas que el orchestrator orqueste en secuencia. **Nota importante:** Las skills de Claude Code son **user-invoked** (se invocan con `/skill-name`), no se pueden llamar programáticamente desde otra skill. El orchestrator no "llama" a las otras skills como funciones — lo que hace es **guiar el flujo de conversación** en fases, y en cada fase ejecuta los pasos correspondientes (o le dice al usuario que invoque la skill correspondiente). ## Propuesta de segmentación ``` ~/.claude/skills/ background-orchestrator/ # Coordinador del flujo (reducido a ~80 líneas) agent-launcher/ # Flujo completo de lanzamiento de agente agent-monitor/ # Monitoreo y control de agentes agent-instructions/ # Template TASK.md para agentes agent-archiver/ # Validación y archivo de agentes agent-safety/ # Reglas de seguridad compartidas agent-troubleshooting/ # Tabla de troubleshooting ``` ### 1. `agent-launcher` — Flujo de lanzamiento (Section A) - Detectar proyecto (package.json → pyproject.toml → basename) - Pedir tarea al usuario - Generar AGENT_NAME (slug `agente-*`) - Crear worktree en `.worktrees/` - Configurar permisos (settings.local.json con allow-list de MCP) - Instalar dependencias (npm install en worktree) - Lanzar sesión tmux (sin `| tee`, con `pipe-pane` para log) - Capturar SESSION_ID desde JSONL - Registrar en Docmost (página "Agentes Activos" + subpágina) - Confirmar al usuario ### 2. `agent-monitor` — Monitoreo y control (Section B) - Verificar transcript JSONL (líneas, tiempo de actividad) - Detectar bloqueos (`grep "Do you want to proceed"`) - Extraer últimas acciones del agente (jq en JSONL) - Medir progreso en rama (commits sobre base) - Mostrar panel limpio (sin ANSI escapes) - Instrucciones para `tmux send-keys` (desbloquear) - Distinguir "Ruminating" real de bloqueo real - Leer subpágina en Docmost para resumen ### 3. `agent-instructions` — Template TASK.md (Section C) - Bloque de instrucciones para el agente hijo - Permisos y autonomía - Reglas de git (commits atómicos, no merge, no Claude attribution) - Guidelines de subagentes (Task tool, MCP access) - Checkpoints de Docmost (por fase) - Pasos obligatorios al terminar (web-ui-test, aleleba-pr, email) - Template de correo de finalización ### 4. `agent-archiver` — Validación y archivo (Section D) - Leer subpágina del agente en Docmost - Integrar trabajo en documentación temática del proyecto - Borrar subpágina de "Agentes Activos" - Quitar bloque de la lista activa - Preguntar al usuario sobre merge (advertir deploy a producción) - Preguntar sobre eliminación de rama - Eliminar worktree, rama, sesión tmux, artefactos - Confirmar archival con links ### 5. `agent-safety` — Reglas de seguridad (Section REGLAS) - Política de merge (agentes nunca mergean, madre solo con validación explícita) - Prohibición de atribución a Claude - Aislamiento de worktrees - Protección de credenciales - Referencia centralizada — otras skills citan esta en vez de duplicar ### 6. `agent-troubleshooting` — Lecciones aprendidas (Section Troubleshooting) - Tabla de 12 problemas conocidos con causa y solución - Regla de oro post-lanzamiento - Referencia para diagnóstico ### 7. `background-orchestrator` — Coordinador (reducido a ~80 líneas) - **TRIGGER**: cuándo activarse (frases exactas) - **Referencia a agent-safety**: reglas de seguridad - **Guía de flujo de conversación**: - FASE 1: Lanzar → ejecutar pasos de agent-launcher - FASE 2: Monitoreo → ejecutar pasos de agent-monitor - FASE 3: Archivar → ejecutar pasos de agent-archiver - **Referencias cruzadas**: "para lanzamiento, ver `/agent-launcher`", etc. ## Mapa de dependencias ``` background-orchestrator (entry point) ├── references → agent-safety (reglas de seguridad) ├── ejecuta → agent-launcher (flujo de lanzamiento) │ ├── usa → agent-instructions (contenido de TASK.md) │ └── usa → agent-safety (reglas de seguridad) ├── ejecuta → agent-monitor (checks de estado) │ └── usa → agent-safety (reglas de seguridad) ├── ejecuta → agent-archiver (flujo de aprobación) │ └── usa → agent-safety (reglas de seguridad) └── referencia → agent-troubleshooting (referencia de debugging) ``` ## Migración 1. **Crear directorios** para las 6 nuevas skills 2. **Extraer contenido** de cada sección del SKILL.md actual a su skill correspondiente 3. **Reescribir orchestrator** — mantener solo trigger, guía de flujo y referencias 4. **Verificar** que cada skill sea invocable de forma independiente 5. **Asegurar** que cada SKILL.md tenga frontmatter correcto (name, description, effort) ## Resultado esperado | Skill | Líneas | Descripción | |-------|--------|-------------| | background-orchestrator | ~80 | Coordinador del flujo | | agent-launcher | ~120 | Lanzamiento de agente | | agent-monitor | ~60 | Monitoreo y control | | agent-instructions | ~90 | Template TASK.md | | agent-archiver | ~80 | Validación y archivo | | agent-safety | ~40 | Reglas de seguridad | | agent-troubleshooting | ~50 | Troubleshooting | | **Total** | **~420** | 7 archivos (vs 1 de 470) | Cada archivo es más corto, más enfocado y más fácil de navegar.