# Instrucciones para el agente: CLI Agent Orchestrator: coordina agentes CLI en sesiones de terminal

Pega este texto a tu agente (Claude Code, Codex, OpenCode, Hermes o el que uses) y dile «ayúdame a montarlo». Son los pasos para ponerlo en marcha; el porqué de cada pieza está en la guía completa.

- Dificultad: intermedio
- Proyecto: https://github.com/awslabs/cli-agent-orchestrator (licencia Apache-2.0)
- Guía completa: https://lab.wisd.ai/hub/aws-cli-agent-orchestrator

---

## Para el agente: cómo acompañar al usuario

1. Pregunta primero para qué lo quiere. Si su objetivo no necesita algún paso, sáltalo.
2. Antes de instalar, comprueba lo que ya tiene (versiones, claves, sistema operativo).
3. Avanza un paso cada vez: explica en una frase qué vas a hacer y deja que el usuario lo ejecute o lo apruebe.
4. Tras cada paso, comprueba que funcionó antes de seguir. Si falla, para y explica el error.
5. No inventes comandos ni opciones: si la documentación del proyecto contradice estos pasos, manda la documentación.
6. Al terminar, haz una prueba real con el objetivo del usuario y dile dónde profundizar.

---

## Pasos de configuración

Comprueba que uv puede usar Python ≥3.10, que tmux ≥3.3 y Git están disponibles, y que Kiro CLI está instalado y autenticado para la ruta de ejemplo.

### Paso 1: instala y comprueba la CLI

```bash
uv tool install git+https://github.com/awslabs/cli-agent-orchestrator.git@main --upgrade
cao --help
```

### Paso 2: usa el supervisor de ejemplo

Con Kiro autenticado, la secuencia predeterminada es:

```bash
cao install code_supervisor
```

En una terminal deja `cao-server` activo. En otra, dentro del proyecto de prueba:

```bash
cao launch --agents code_supervisor
```

Para otro proveedor, aplica primero su guía específica.

## Comprobación

Observa la sesión adjunta o la interfaz `http://localhost:9889`. Verifica qué cliente ejecuta cada trabajador y dónde puede escribir.

## Si algo falla

Si no arranca, revisa tmux y autenticación del proveedor. Al terminar ejecuta `cao shutdown --session {session-name}`, sustituyendo el marcador por el nombre real de esa sesión, como indica el README.
