OpenClaw skill para manejar Claude Code: tutorial paso a paso

OpenClaw skill para manejar Claude Code: tutorial paso a paso
Índice 11 secciones
  1. Qué es esto exactamente (y qué no es)
  2. Lo que necesitas antes de empezar
  3. Paso 1: prepara la máquina
  4. Paso 2: instala OpenClaw
  5. Paso 3: crea la skill
  6. Paso 4: el script que hace el trabajo
  7. Paso 5: permisos, o cómo casi la lío
  8. Los cinco comandos que uso de verdad
  9. Qué delego por WhatsApp y qué no
  10. Cuando falla (que falla)
  11. Cómo lo uso yo

El martes pasado publiqué tres artículos del blog desde la cola del supermercado. No copié y pegué nada, no abrí el portátil, no tenía ni la app de Claude abierta. Mandé un mensaje de WhatsApp: «revisa los borradores pendientes, arregla los enlaces internos que apunten a slugs que no existen y publica los que estén listos». Once minutos después me llegó la respuesta con los tres títulos, los enlaces corregidos y el hash de los commits. El trabajo lo hizo Claude Code en un VPS de 7€ al mes. Quien recibió la orden, entendió qué había que hacer y le pasó el marrón fue OpenClaw.

Eso es todo lo que hace una «skill de OpenClaw para manejar Claude Code»: unir esas dos piezas. Y aquí viene la parte que nadie te dice: no es un producto que compres ni un plugin que instales con un clic. Es una carpeta con tres ficheros que escribes tú en una tarde. En este post te cuento exactamente cómo la tengo montada, con los scripts, los permisos, lo que casi me la juega y los cinco comandos que uso de verdad cada semana. Aviso honesto: OpenClaw es software joven y se mueve rápido, así que los nombres exactos de comandos de instalación conviene verificarlos en su documentación oficial el día que lo montes. La arquitectura, en cambio, no cambia.

Qué es esto exactamente (y qué no es)

Skill de OpenClaw
Carpeta con un archivo SKILL.md (instrucciones en lenguaje natural) y scripts asociados que OpenClaw carga para ampliar lo que su agente puede hacer. Sigue el mismo formato de Agent Skills que usa Claude, así que una skill bien escrita sirve en los dos entornos.

Vamos con las piezas, porque veo mucha confusión.

OpenClaw es un asistente personal open source que corre en tu máquina o en un servidor tuyo. Su gracia es que se conecta a canales que ya usas —WhatsApp, Telegram, Discord— y actúa como puerta de entrada a tu agente. Tú escribes en lenguaje natural, él decide qué hacer.

Las skills son la forma de ampliar lo que sabe hacer. Cada skill es una carpeta con un archivo SKILL.md (instrucciones en texto plano, con un frontmatter que dice cómo se llama y cuándo usarla) y, opcionalmente, scripts que puede ejecutar. El formato es prácticamente el mismo de las Agent Skills de Anthropic, así que si ya has escrito una para Claude, esto te va a sonar. Si quieres ver el ecosistema, en los 15 mejores skills para emprendedores repaso las que sí valen la pena descargar hechas.

Claude Code tiene un modo no interactivo (headless) que es la clave de todo: claude -p "tu instrucción". Le pasas la tarea, trabaja solo, devuelve el resultado por stdout. Sin interfaz, sin que tú estés delante.

La skill que te voy a enseñar es el pegamento entre esas dos cosas. Traduce «publica los borradores» en «lanza Claude Code en la carpeta del blog con estas instrucciones y avísame cuando acabe».

Y lo que no es: no es autonomía total, no sustituye tu criterio y no es sitio para tocar producción sin mirar. Es un mando a distancia, no un piloto automático.

Lo que necesitas antes de empezar

No te montes esto sin tener estas cuatro cosas resueltas:

  1. Un sitio donde vivan los agentes. Puede ser tu portátil, pero entonces solo funciona cuando lo tienes encendido. Yo uso un VPS pequeño. Lo cuento en detalle en Claude Code en un servidor con 6 agentes 24/7.
  2. Claude Code instalado y autenticado en esa máquina, con una suscripción que aguante volumen.
  3. Node.js reciente (OpenClaw corre sobre Node/Bun).
  4. Un número de WhatsApp o una cuenta de Telegram que uses solo para esto. Yo empecé con Telegram porque es menos frágil para pruebas.

Esto es lo que me cuesta el montaje al mes:

Pieza Para qué Coste real (con IVA)
Claude Max (plan medio) El cerebro que ejecuta las tareas ~100-110€/mes
VPS 4 GB en Hetzner Donde viven OpenClaw y Claude Code ~7€/mes
OpenClaw El mando a distancia 0€ (open source)
WhatsApp / Telegram El canal 0€
Dominio + varios Sostener el resto del negocio ~30€/mes
Total stack ~150€/mes

Si tu hora vale 30€, este montaje se paga con cinco horas ahorradas al mes. Yo recupero bastante más que eso, pero de números hablamos al final.

Paso 1: prepara la máquina

Entra por SSH y crea un usuario dedicado, sin sudo. Esto no es paranoia: es lo primero que hace que puedas dormir tranquilo.

adduser agentes
# NO lo metas en el grupo sudo
su - agentes

Instala Claude Code para ese usuario y autentícalo:

npm install -g @anthropic-ai/claude-code
claude
# sigue el flujo de login con tu cuenta y sal con /exit

Instala también tmux. Lo vamos a usar para que las tareas largas sobrevivan a que se cierre la conexión:

sudo apt install tmux   # esto lo haces con tu usuario admin, no con "agentes"

Y prepara las carpetas de trabajo. Yo tengo una por proyecto y cada una con su CLAUDE.md, que es donde de verdad se define cómo trabaja el agente. Si el CLAUDE.md es flojo, la skill de OpenClaw te va a dar resultados flojos, por muy bien que la montes.

Paso 2: instala OpenClaw

En mi última instalación fue tan simple como lanzar el onboarding con npx y responder preguntas:

npx openclaw@latest onboard

El asistente te pregunta qué canal quieres conectar, qué modelo usar como cerebro del gateway y dónde guardar la configuración (en mi caso, ~/.openclaw/). Para WhatsApp emparejas escaneando un QR; para Telegram, con el token de un bot que creas en BotFather.

Lo primero que debes hacer después de instalar, antes que cualquier otra cosa: la lista blanca. En la configuración hay una sección de canales donde defines quién puede hablar con el agente. Deja solo tu número. Un agente que ejecuta comandos en tu servidor y que responde a cualquiera que le escriba no es una herramienta, es un incidente esperando fecha.

Déjalo corriendo como servicio para que arranque solo:

npx openclaw gateway install
systemctl --user status openclaw

Prueba mandándole «hola». Si te contesta, ya tienes el mando. Ahora vamos a darle el botón que importa.

Paso 3: crea la skill

Estructura de carpetas:

~/.openclaw/skills/claude-code/
├── SKILL.md
└── scripts/
    ├── run.sh
    ├── status.sh
    └── stop.sh

El SKILL.md es lo que lee el agente para saber cuándo y cómo usar esto. Este es el mío, resumido:

---
name: claude-code
description: Lanza, consulta y detiene tareas de Claude Code en el servidor. Úsala cuando Pablo pida escribir o revisar código, trabajar en el blog, analizar datos de un proyecto o lanzar cualquier tarea larga sobre un repositorio.
---

# Manejar Claude Code en remoto

## Proyectos disponibles
- `blog` → /home/agentes/proyectos/blog
- `web` → /home/agentes/proyectos/web
- `datos` → /home/agentes/proyectos/analitica

## Cómo lanzar una tarea
Ejecuta: `scripts/run.sh "<instrucción completa>" <proyecto>`
Devuelve un ID de sesión. Dáselo a Pablo siempre.

## Cómo consultar
`scripts/status.sh <id>` devuelve las últimas líneas del log.

## Reglas obligatorias
1. Nunca lances una tarea sin proyecto explícito. Si no lo dice, pregunta.
2. Reformula la instrucción de Pablo en algo concreto y accionable antes de pasarla.
3. Si la orden implica borrar ficheros, tocar la rama main o desplegar, NO la lances: pide confirmación explícita con la palabra CONFIRMO.
4. Resume el resultado en menos de 6 líneas. Pablo lee esto en el móvil.
5. Si la tarea lleva más de 15 minutos sin acabar, avisa.

Fíjate en el punto 3. Ese párrafo me ha salvado dos veces.

Paso 4: el script que hace el trabajo

scripts/run.sh. Quince líneas y ya está:

#!/usr/bin/env bash
set -euo pipefail

TASK="$1"
PROJECT_KEY="${2:-blog}"
BASE="/home/agentes/proyectos"
LOGDIR="/home/agentes/logs"
ID="cc-$(date +%Y%m%d-%H%M%S)"

case "$PROJECT_KEY" in
  blog)  DIR="$BASE/blog" ;;
  web)   DIR="$BASE/web" ;;
  datos) DIR="$BASE/analitica" ;;
  *) echo "Proyecto no permitido: $PROJECT_KEY"; exit 1 ;;
esac

mkdir -p "$LOGDIR"
cd "$DIR"
git checkout -b "agente/$ID" >/dev/null 2>&1 || true

tmux new-session -d -s "$ID" \
  "cd $DIR && claude -p '$TASK' --permission-mode acceptEdits > $LOGDIR/$ID.log 2>&1"

echo "Tarea $ID lanzada en $PROJECT_KEY (rama agente/$ID)"

Tres decisiones importantes ahí dentro:

  • El case es una lista blanca de proyectos. El agente no puede lanzar Claude Code en una ruta arbitraria porque el script no se lo permite. Si le mandas otra cosa, sale con error.
  • La rama de git por tarea. Todo lo que hace el agente es reversible con un git checkout main. Esto convierte un desastre potencial en una molestia de treinta segundos.
  • --permission-mode acceptEdits en lugar de saltarse todos los permisos. Puede editar ficheros, pero las operaciones más agresivas siguen requiriendo aprobación, así que se quedan paradas en vez de ejecutarse a lo loco.

Y el status.sh, aún más simple:

#!/usr/bin/env bash
ID="$1"
tail -n 25 "/home/agentes/logs/$ID.log"
tmux has-session -t "$ID" 2>/dev/null && echo "[EN CURSO]" || echo "[TERMINADA]"

Dale permisos de ejecución (chmod +x scripts/*.sh), reinicia el gateway de OpenClaw y prueba: «lanza en blog una tarea para listar los posts sin meta description». Si te devuelve un ID, ya lo tienes funcionando.

¿Quieres ver el sistema por dentro?

Cada domingo cuento qué he montado esta semana para hacer crecer un proyecto real: qué decidí, qué resultados dio y qué se rompió por el camino.

Un correo por semana. Sin refritos y sin afiliados.

quiero la próxima

Paso 5: permisos, o cómo casi la lío

La segunda semana le pedí «limpia los borradores viejos del blog». El agente interpretó «limpia» como «borra». Y borró. Nueve ficheros. Los recuperé porque estaban en una rama de git y porque tengo backup diario del VPS, pero el sudor frío fue real.

Lo que cambié después:

  1. La regla del CONFIRMO en el SKILL.md. Cualquier verbo destructivo se para en seco y me pregunta.
  2. Backup diario del VPS activado, ~4€/mes. Barato para lo que cubre.
  3. Cero datos de clientes en las carpetas a las que llega la skill. Los proyectos con datos personales están en otro servidor y no se tocan por WhatsApp. Si trabajas con datos de terceros, esto no es opcional: revisa qué te exige el RGPD al usar agentes con datos de clientes antes de montar nada.
  4. Nunca uso --dangerously-skip-permissions fuera de un contenedor desechable. Nunca.

Los cinco comandos que uso de verdad

Esto es lo que escribo en WhatsApp una semana normal:

1. Revisión del blog. «Revisa los últimos 10 posts del blog, busca enlaces internos roto y arréglalos.» Tarda unos 8-12 minutos. Antes lo hacía yo a mano cada dos semanas y me llevaba una hora larga de clics.

2. Sacar un dato de negocio. «En datos: cuántos leads entraron en julio por fuente y compáralo con junio.» Me devuelve cuatro líneas con los números. Es el flujo que explico en Claude Code para analizar datos de tu negocio, pero disparado desde el móvil.

3. Arreglar algo urgente. «En web: el formulario de contacto no envía, mira el log de errores y dime qué pasa. No toques nada aún.» Ese «no toques nada aún» es oro: diagnóstico primero, decisión mía después.

4. Preparar trabajo para mañana. «En blog: prepara tres borradores sobre X, Y y Z siguiendo el CLAUDE.md, déjalos en la rama y no publiques.» Yo reviso por la mañana desde el portátil.

5. Estado. «¿Cómo va cc-20260812-0930?» Y me lo cuenta.

El patrón es siempre el mismo: tareas acotadas, con proyecto explícito y con verbo claro. Cuando mando cosas vagas, sale mal. Sobre cómo redactar bien esas órdenes tengo un método en cómo escribo los prompts de negocio para mis agentes.

Qué delego por WhatsApp y qué no

Tarea ¿Por WhatsApp? Por qué
Revisar y corregir contenido del blog Reversible, verificable de un vistazo
Diagnosticar un error (solo leer) Riesgo cero, me ahorra abrir el portátil
Sacar números y comparativas Respuesta corta, cabe en un móvil
Preparar borradores para revisar luego El filtro humano sigue estando
Desplegar a producción No Quiero ver el diff en pantalla grande
Tocar facturación o datos de clientes No Ni con permisos, ni con confirmación
Refactors grandes No Necesito revisar 200 líneas, no leerlas en el móvil

Esa tabla la fui construyendo a base de sustos. Si la copias tal cual, te ahorras los míos.

Cuando falla (que falla)

Los tres fallos que veo repetidos:

  • La skill no se activa. Casi siempre es el description del frontmatter: si no describe bien cuándo usarla, el agente no la elige. Escríbelo pensando en las palabras que tú usas de verdad («blog», «repo», «lanza una tarea»), no en tecnicismos.
  • La tarea se queda colgada. Claude Code está esperando una aprobación de permisos que nadie va a dar. Se ve en el log al instante y se resuelve ajustando el modo de permisos o acotando la instrucción.
  • Respuestas kilométricas. Si te llegan tres párrafos por WhatsApp, aprieta la regla del resumen en el SKILL.md. Yo la tengo en «máximo 6 líneas» y aún así a veces se pasa.

Mi rutina para depurar es siempre log primero, hipótesis después. Lo tengo sistematizado en qué hago cuando mis agentes fallan.

Cómo lo uso yo

Seamos honestos con el retorno, porque aquí se vende mucho humo. Esta skill no me ha multiplicado la facturación. Lo que me ha dado es elasticidad: puedo empujar trabajo en huecos muertos que antes se perdían. Cuento entre 4 y 6 horas al mes recuperadas de esos huecos —cola del banco, tren, media hora entre reuniones—. A 30€/hora son 120-180€ de valor con un coste marginal de casi cero, porque el VPS y la suscripción de Claude ya los tenía por otras razones.

El cambio mental más grande no es técnico. Es que dejé de acumular «cosas pendientes de tocar el ordenador». Antes tenía una lista mental de veinte microtareas esperando a un rato de escritorio; ahora se van cayendo en cuanto pienso en ellas. Eso, para un solopreneur, vale más que el ahorro en euros. Algo parecido me pasó al montar los primeros agentes: lo cuento con datos en 4 meses con agentes IA en mi negocio.

Mi consejo si te lanzas: monta la skill con un solo proyecto y una sola acción (lanzar tarea + consultar estado). Vive con eso dos semanas. Verás enseguida qué comandos pides de verdad y qué era fantasía tuya. Yo empecé con siete acciones planificadas y acabé usando tres. Menos superficie, menos cosas que se rompen, menos permisos que revisar.

Y una última cosa: esto es una capa de comodidad sobre un sistema que ya tiene que funcionar. Si tu Claude Code no hace bien el trabajo cuando estás delante, controlarlo por WhatsApp solo va a hacer que los errores lleguen antes. Primero el sistema. Luego el mando a distancia.

La gente cree que el truco está en instalar OpenClaw. El truco está en decidir qué le dejas tocar. Yo tardé una tarde en montarlo y tres semanas en aprender qué NO delegar por WhatsApp.
Pablo Pérez-Manglano · Solopreneur que opera su negocio con Claude (~150€/mes) · agosto 2026

Preguntas frecuentes

¿Necesito saber programar para montar esta skill?

Saber programar no, pero sí manejarte en terminal: conectarte por SSH, editar un fichero con nano, entender qué hace un script de 15 líneas. Si nunca has abierto una terminal, empieza por Claude Code en tu portátil y deja OpenClaw para el mes siguiente. Y si te atascas, lo honesto es reconocer que esto es la parte más técnica de mi stack: no es un plugin de un clic.

¿Puedo usarlo con Claude Pro o necesito Max?

Funciona con Pro, pero te vas a quedar sin cuota rápido. Las tareas que lanzo por WhatsApp suelen ser largas (revisar un repo, escribir varios posts, analizar datos) y consumen bastante. Con Max (el plan de gama media, unos 100-110€/mes con IVA en España) no he tenido problemas de límites en meses normales. Verifica el precio actual antes de contratar, que Anthropic los mueve.

¿Es seguro dejar que un agente ejecute comandos en mi servidor?

Depende de cómo lo configures. En un VPS aislado, con usuario sin sudo, sin datos de clientes, con la lista de herramientas restringida y trabajando siempre en ramas de git: sí, es un riesgo razonable. Con permisos totales sobre tu ordenador de trabajo y datos reales dentro: no lo hagas. Y si vas a tratar datos personales, revisa antes tu base legal y el encargado de tratamiento.

¿Qué pasa si OpenClaw cambia y mi skill deja de funcionar?

Pasa, es software joven y se mueve rápido. Por eso mi skill es deliberadamente tonta: llama a scripts bash propios en lugar de depender de funciones internas de OpenClaw. Si actualizo y algo se rompe, normalmente basta con revisar la ruta de la carpeta de skills y el formato del frontmatter del SKILL.md. Tengo los tres ficheros en un repo privado, así que restaurar es un git clone.

Newsletter semanal

Lo que me pasa emprendiendo. Sin filtro.

Cada semana: lo que estoy construyendo, lo que funciona, lo que falla. Emprendimiento real con agentes IA como compañeros de viaje.

quiero la próxima →

La entrega de los domingos · Un sistema real cada semana

únete →