Volver a artículos

Mi OpenClaw personal: cómo Claude Code se convirtió en mi orquestador agéntico

· Abril 2026 · Jacint Gauxachs Marin
Mi OpenClaw personal con Claude Code

Llevo meses montando en casa lo que empresas cobran por mes. Esta es la historia —con arquitectura, configuración y números reales— de cómo Claude Code se ha comido gran parte de mi stack de automatización.

Hace unos días, haciendo scroll por Google, me saltó un anuncio patrocinado: ClawBro, una versión gestionada de OpenClaw, ese asistente agéntico open source que automatiza flujos, revisa código, organiza archivos y ejecuta tareas desde la nube. Lo miré un par de segundos —"desde 30€/mes, empieza en 5 minutos"— y pensé: "llevo meses haciendo exactamente esto en mi casa con Claude Code".

Y probablemente tú también puedes. Este artículo es mi reflexión sobre por qué creo que estamos en el inicio de un cambio de paradigma en cómo construimos soluciones software, seguido de un caso práctico 100% funcional que puedes adaptar a tu propia infraestructura. Sin humo, con los snippets reales que uso.

Tres eras de la automatización (y por qué estamos en la tercera)

Era 1 — El código directo

Scripts de Python, cron jobs, pequeños servicios en Flask/FastAPI hechos a medida, repositorios Git llenos de utilidades propias. Flexibilidad máxima: si sabes programar, no hay nada que no puedas hacer. Pero cada automatización nueva cuesta horas, romperla es fácil, y mantenerla —documentarla, refactorizarla cuando cambia una dependencia, explicársela al siguiente— es un coste que se paga eternamente.

Yo llevo años en este mundo: llevo scripts que hicieron falta un fin de semana para escribirse y que he tenido que arreglar tres veces en el último año porque una API cambió, una librería se deprecó o el formato de un archivo se modificó.

Era 2 — Las herramientas low-code (n8n, Flowise, Zapier, Make…)

Llegaron para democratizar la automatización: nodos visuales, drag-and-drop, triggers, webhooks, conectores listos para cientos de servicios. Montas en una tarde lo que antes llevaba un sprint entero. Yo uso n8n a diario y no pienso renunciar a él.

Pero tienen un techo. En cuanto el flujo pasa de "recibe esto, manda aquello" a "piensa sobre esto y decide qué hacer", te encuentras escribiendo nodos custom en JavaScript que son, literalmente, código. La diferencia es que ahora es código dentro de un JSON de 400 líneas que solo tú entiendes, que se rompe si mueves un nodo y que no puedes versionar limpiamente. Has pagado la factura de la rigidez del código sin haber ganado la flexibilidad.

Era 3 — Los agentes orquestados

La diferencia fundamental: en las dos primeras eras programas el flujo; en la tercera defines capacidades y un agente decide cómo combinarlas. El cambio parece pequeño pero no lo es.

Cuando le digo a Claude Code "necesito una documentación sobre X", no estoy disparando un flujo predefinido. El orquestador entiende la intención, decide qué sub-agentes activar, en qué orden, con qué modelo (caro o barato según la tarea), dónde guardar los artefactos, y qué hacer cuando uno falla. Y lo hace sin que yo haya dibujado el grafo.

Un agente no ejecuta un flujo: decide uno.

Por qué Claude Code cambia las reglas

Claude Code no es un chatbot en una terminal. Es un entorno de ejecución agéntico completo, con cinco primitivas que lo convierten en algo distinto:

Y por encima de todo: es headless-capable. Lo mismo funciona en una terminal interactiva que ejecutado remotamente por SSH, disparado por un webhook, o lanzado por un cron. Esto es lo que lo convierte en un motor apto para automatización real, no solo para programar acompañado.

Caso práctico: orquestador de proyectos

Lo que te voy a enseñar es el esqueleto que tengo corriendo en casa, adaptado para que puedas replicarlo. El caso de uso es deliberadamente provocador: un único comando crea un proyecto nuevo en una subcarpeta, una cadena de agentes especializados lo ejecuta, y el entregable final llega a tu Telegram.

Ejemplo concreto: le digo "genera una documentación sobre Claude como plataforma agéntica". El orquestador crea ~/projects/claude-agentic-docs/, lanza un researcher que busca, resume y guarda fuentes, un writer que produce el borrador en Markdown, un editor que pule, un pdf-generator que convierte, y un delivery que me manda el PDF por Telegram. Todo mientras yo sigo con otra cosa.

Arquitectura del orquestador agéntico de proyectos con Claude Code
Arquitectura completa. CLIPROXYAPI aparece al margen porque no lo usan los agentes de Claude Code —éstos hablan directamente con la API de Claude—; lo usa n8n cuando necesita invocar un LLM desde un workflow (Gemini, Kimi, o un slot extra de Claude sin consumir tu suscripción).

El setup: estructura de carpetas

Todo parte de una carpeta .claude/ en la raíz de tu directorio de proyectos. Claude Code la lee automáticamente:

~/projects/
├── .claude/
│   ├── agents/
│   │   ├── project-orchestrator.md
│   │   ├── researcher.md
│   │   ├── writer.md
│   │   ├── editor.md
│   │   ├── pdf-generator.md
│   │   └── telegram-delivery.md
│   ├── skills/
│   │   └── new-project.md
│   └── settings.json
└── <se rellena solo con los proyectos que creen los agentes>

Tres cosas que pasan aquí:

Mi settings.json mínimo para este proyecto:

{
  "permissions": {
    "allow": [
      "Bash(mkdir:*)",
      "Bash(pandoc:*)",
      "Bash(curl https://n8n.example.com/webhook/claude-notify)",
      "WebFetch"
    ]
  },
  "hooks": {
    "Stop": [
      {
        "matcher": ".*",
        "hooks": [
          { "type": "command", "command": "~/.claude/hooks/notify-telegram.sh" }
        ]
      }
    ]
  }
}

Con ese hook Stop, cada vez que termina una tarea me llega un toque a Telegram con el resumen, sin que yo tenga que pedirlo.

Los agentes, uno a uno

project-orchestrator.md — el director

Es el único agente que hablaría directamente conmigo. Entiende la petición, decide el slug del proyecto, crea la carpeta y delega. Va a Opus porque aquí la calidad del razonamiento es lo que marca la diferencia.

---
name: project-orchestrator
description: Orchestrates multi-agent projects. Use PROACTIVELY when the user asks to create, research, write or deliver any multi-step deliverable (documentation, report, study, summary).
model: opus
tools: Bash, Read, Write, Agent
---

You are the project orchestrator. For every request:

1. Derive a kebab-case project slug from the user's request.
2. Create ~/projects/<slug>/ and ~/projects/<slug>/research/
3. Produce a short plan (3-7 bullet points) — save it to ~/projects/<slug>/PLAN.md
4. Invoke sub-agents in sequence:
   - researcher   → populates research/
   - writer       → produces draft.md
   - editor       → produces final.md
   - pdf-generator → produces output.pdf
   - telegram-delivery → sends the PDF
5. Report back the absolute path of output.pdf and a 2-line summary.

Never write the content yourself. Delegate. Your job is coordination.

researcher.md — la cabra del fact-finding

Haiku. No necesita brillo literario, necesita buscar, leer y resumir bien. Barato, rápido, suficiente.

---
name: researcher
description: Given a topic, performs web research and produces a structured research/ folder with notes and sources.
model: haiku
tools: WebFetch, WebSearch, Write, Read
---

You research. Given a topic:
1. Identify 5-8 authoritative sources (official docs, reputable blogs, academic).
2. For each, save a markdown file in research/ with: URL, 5-bullet summary, 2-3 verbatim quotes.
3. Write research/_index.md with a table of all sources and one-line descriptions.

Do not write the final document. Do not interpret. Be faithful to the sources.

writer.md — la pluma

Opus. Aquí sí quieres el mejor modelo: está construyendo el entregable.

---
name: writer
description: Given a research/ folder, produces a coherent draft.md in the target language.
model: opus
tools: Read, Write
---

You are a technical writer. Read research/_index.md and the individual source files, then:

1. Produce draft.md with a clear structure (introduction, 3-5 sections, conclusion).
2. Cite sources inline using [^n] footnotes pointing to research/.
3. Aim for 2000-3000 words, unless the orchestrator specified otherwise.

Voice: informed, direct, no filler. No AI disclaimers, no meta-commentary.

editor.md — el corrector de estilo

Sonnet. Intermedio: bastante inteligente para detectar mejoras reales, sin el coste de Opus.

---
name: editor
description: Polishes draft.md into final.md — fixes style, consistency, redundancies, and ensures citations resolve.
model: sonnet
tools: Read, Write
---

Read draft.md and produce final.md applying:

1. Tighten prose (cut 10-15% without losing meaning).
2. Fix inconsistencies in tone, terminology, capitalization.
3. Verify every [^n] citation maps to a file in research/; flag orphans.
4. Add a 2-sentence executive summary at the top.

Do not rewrite structure unless clearly broken.

pdf-generator.md — el impresor

Haiku. Solo convierte Markdown a PDF con pandoc. No hace falta razonamiento complejo.

---
name: pdf-generator
description: Converts final.md to output.pdf using pandoc + a clean template.
model: haiku
tools: Bash, Read
---

Run:

pandoc final.md \
  --from markdown \
  --pdf-engine=xelatex \
  --template=~/.claude/assets/article.latex \
  -V geometry:margin=2cm \
  -V mainfont="Inter" \
  -V monofont="JetBrains Mono" \
  -o output.pdf

Verify the file exists and report its size.

telegram-delivery.md — el mensajero

Haiku. Hace una POST al webhook de n8n con el PDF. El workflow n8n se encarga de hablar con el bot.

---
name: telegram-delivery
description: Uploads output.pdf and notifies the user via the claude-notify n8n webhook.
model: haiku
tools: Bash
---

1. Upload output.pdf to Telegram via the bot API using the document multipart endpoint.
2. POST a notification to https://n8n.example.com/webhook/claude-notify with:
   { "emoji": "📄", "title": "Proyecto listo", "message": "<proyecto>: output.pdf (<size> MB)" }

Be silent otherwise.

El skill que lo dispara: /new-project

Para no tener que repetir el prompt cada vez, un skill encapsula la invocación del orquestador:

---
name: new-project
description: Creates and executes a new multi-agent project based on the user's request.
---

When invoked, pass the entire argument string to the `project-orchestrator` agent. Do not ask clarifying questions unless the request is clearly ambiguous (less than 3 words).

Luego en el chat de Claude Code, escribo simplemente:

/new-project documentación sobre Claude como plataforma agéntica

Flujo en acción — una petición real, paso a paso

  1. Escribo /new-project … en Claude Code (en terminal o remotamente por Telegram a través del listener).
  2. El skill dispara al orquestador (Opus). Crea ~/projects/claude-agentic-platform/, escribe PLAN.md, delega al researcher.
  3. El researcher (Haiku) busca 7 fuentes autorizadas. Para cada una guarda un .md con resumen y citas. Genera research/_index.md. Reporta al orquestador.
  4. El orquestador delega al writer (Opus). Produce draft.md, 2500 palabras, con footnotes.
  5. El editor (Sonnet) recoge el borrador y produce final.md pulido con resumen ejecutivo. Avisa de una cita huérfana; el orquestador pide al writer que la arregle.
  6. El pdf-generator (Haiku) ejecuta pandoc. Verifica output.pdf de 412 KB.
  7. El delivery (Haiku) sube el PDF al chat de Telegram y llama al webhook claude-notify con el resumen. Mi móvil vibra.
  8. El hook Stop envía un toque adicional con el log de tokens consumidos. Total: ~95.000 tokens, ~12 minutos de reloj.

Optimización de costes real

Esto es lo que diferencia una demo de un sistema que usas a diario. El truco no es "usar el modelo más barato en todo", es usar el modelo justo en cada paso.

AgenteModeloTokens (aprox.)Justificación
project-orchestratorOpus 4.78.000Pocas llamadas pero razonamiento crítico; si mete la pata aquí, se arrastra.
researcherHaiku 4.535.000Volumen alto pero tareas simples: resumir, extraer citas.
writerOpus 4.730.000Es el entregable; la calidad del modelo se ve en la prosa.
editorSonnet 4.618.000Detecta mejoras reales sin el coste de Opus.
pdf-generatorHaiku 4.52.000Solo invoca pandoc, no piensa.
telegram-deliveryHaiku 4.52.000Dos llamadas HTTP, nada más.

Si ejecutara todos los agentes con Opus, el mismo proyecto me costaría aproximadamente 4× más. Con este reparto, un proyecto completo de ~95.000 tokens encaja cómodamente dentro de mi suscripción Max sin tocar límites.

¿Y dónde entra CLIPROXYAPI entonces? En mi caso, lo uso desde n8n, no desde Claude Code. Cuando un workflow n8n necesita llamar a un LLM —por ejemplo para pre-procesar un mensaje entrante o para responder a un usuario que escribe al bot de Telegram sin pasar por Claude Code—, en lugar de consumir mi cuota de Anthropic, el workflow apunta a http://llm-proxy.internal:8317/v1 y el proxy hace round-robin entre 5 cuentas OAuth de Gemini, Kimi y una Claude secundaria. Esas llamadas son gratis dentro de los free tiers de cada proveedor. Separación limpia: Claude Code habla con Claude directamente, n8n usa el proxy para sus necesidades propias.

Qué más se puede hacer con esto

Una vez tienes el patrón orquestador + sub-agentes + storage + delivery funcionando, los casos de uso se multiplican:

Conclusión

Lo que me fascina de todo esto no es tanto el resultado —al fin y al cabo hacer un PDF no es ciencia nuclear— sino el hecho de que puedo describir una capacidad nueva en un archivo de texto de 40 líneas y el sistema la absorbe sin que yo tenga que tocar nada más. No reescribo un flujo, no reconfiguro nodos, no despliego un servicio: escribo un .md, y al día siguiente el orquestador lo usa cuando tiene sentido.

ClawBro y servicios similares son perfectamente legítimos para quien no quiere construir nada; pero si ya tienes una infraestructura propia, un poco de disciplina técnica y ganas de entender cómo funciona la capa por debajo, Claude Code te da exactamente lo mismo, con control total, y por el coste de una suscripción. No es el futuro: es ahora mismo, y está ridículamente accesible.

Si te animas a montar algo parecido y te atascas en alguna parte, escríbeme. Me interesa mucho ver qué casos de uso sacáis otros de este patrón.


Volver a artículos