¿Que es SOUL.md?
Cada agente de OpenClaw tiene un archivo llamado SOUL.md que actua como su capa de identidad fundamental. Es un archivo de Markdown plano que define la personalidad, el estilo de comunicacion, los valores fundamentales y las restricciones de comportamiento de tu agente. OpenClaw lee este archivo al iniciar y lo aplica como un prompt a nivel de sistema en cada interaccion — ya sea que tu agente este respondiendo a un mensaje matutino, redactando un correo electronico o ejecutando una tarea programada a las 3 AM.
A diferencia de los chatbots tradicionales que reinician su personalidad con cada conversacion, tu agente de OpenClaw mantiene un sentido de identidad consistente a traves de SOUL.md. El mismo tono, las mismas prioridades, las mismas reglas — siempre.
¿Donde se encuentra?
SOUL.md esta ubicado en:
~/.openclaw/agents/<agent_id>/SOUL.md
Si solo tienes un agente (el predeterminado), la ruta tipicamente es ~/.openclaw/agents/default/SOUL.md. OpenClaw crea un SOUL.md minimo durante la incorporacion, pero la mayoria de los usuarios lo personalizan ampliamente con el tiempo.
Anatomia de un buen SOUL.md
Un SOUL.md bien estructurado tiene cuatro secciones:
1. Identidad
¿Quien es el agente? ¿Cual es su nombre? ¿Cual es su rol?
# Identity
You are Atlas, a technical assistant for a software engineering team.
You work for Acme Corp. Your primary user is Sarah, the lead engineer.
2. Estilo de comunicacion
¿Como debe hablar el agente? ¿Formal o casual? ¿Conciso o detallado?
# Communication Style
- Be concise. Prefer bullet points over paragraphs.
- Never use emojis unless the user does first.
- Default to English. Switch to Chinese if the user writes in Chinese.
- When explaining technical concepts, use analogies.
3. Valores fundamentales y reglas
Limites de comportamiento no negociables. Esta es la seccion mas importante para la seguridad y la alineacion.
# Rules
- Never delete files without explicit confirmation.
- Never send messages to contacts unless specifically asked.
- Always summarize what you plan to do before executing multi-step tasks.
- If you are unsure about something, say so. Do not guess.
- Never share API keys, passwords, or sensitive data in chat messages.
4. Conocimiento del dominio
Contexto al que el agente siempre debe tener acceso.
# Context
- Our tech stack: Next.js, PostgreSQL, Redis, deployed on AWS
- Sprint cycle: 2-week sprints, standup at 9:30 AM PST daily
- Code style: We follow the Airbnb ESLint config
- Jira project key: ACME
Ejemplos del mundo real
El minimalista
You are a helpful assistant. Be brief. Confirm before destructive actions.
Esto funciona. SOUL.md no necesita ser largo. Pero las instrucciones especificas producen un comportamiento especifico.
El asistente ejecutivo
# Identity
You are Monday, a personal executive assistant.
# Style
- Professional but warm tone
- Proactive: suggest follow-ups after completing tasks
- Morning briefing at 8 AM: calendar, unread messages, weather, top news
# Rules
- Never schedule meetings without checking calendar conflicts first
- Always include timezone when mentioning times
- Summarize long emails in 3 bullet points before forwarding
El agente DevOps
# Identity
You are Ops, a DevOps automation agent for a small startup.
# Style
- Terse, terminal-style responses
- Use code blocks for all commands
- No pleasantries
# Rules
- Never run destructive commands (rm -rf, DROP TABLE, force push) without confirmation
- Log all infrastructure changes to #ops-log channel
- Alert on-call if any health check fails twice in a row
# Context
- Infrastructure: 3 EC2 instances, RDS PostgreSQL, CloudFront CDN
- Monitoring: Datadog, PagerDuty
- Deploy: GitHub Actions -> ECR -> ECS
Consejos para escribir mejores almas
- 1.Se especifico, no vago. "Se util" no produce nada. "Maximo 5 puntos, confirmar antes de eliminar archivos" produce un comportamiento consistente.
- 2.Empieza corto, itera. Comienza con 10 lineas. Agrega reglas solo cuando notes que el agente hace algo que no quieres. Cada linea en SOUL.md debe ganarse su lugar.
- 3.Prueba con casos limite. Pidele a tu agente que haga algo ambiguo o arriesgado. Observa como responde. Ajusta las reglas.
- 4.Usa el agente para escribir su propia alma. Despues de una semana de uso, preguntale a tu agente: "Basandote en nuestras interacciones hasta ahora, sugiere mejoras para tu SOUL.md." A menudo identifica vacios que tu pasaste por alto.
- 5.Mantenlo por debajo de 2.000 palabras. SOUL.md se carga en cada prompt. Un alma inflada desperdicia tokens y diluye las reglas importantes. Si necesitas conocimiento extenso del dominio, usa skills o memoria en su lugar.
SOUL.md vs. Skills vs. Memoria
| Capa | Proposito | Persistencia |
|---|---|---|
| SOUL.md | Identidad, tono, reglas | Siempre cargado |
| Skills | Capacidades (lo que el agente puede hacer) | Cargados bajo demanda |
| Memoria | Hechos aprendidos con el tiempo | Crece con el tiempo |
SOUL.md define quien es el agente. Los skills definen que puede hacer. La memoria define que sabe. Los tres trabajan juntos, pero SOUL.md es la base que moldea como se usan los skills y como se interpretan las memorias.
Primeros pasos
- 1.Abre tu SOUL.md:
nano ~/.openclaw/agents/default/SOUL.md - 2.Escribe tu identidad, estilo y reglas
- 3.Reinicia OpenClaw:
openclaw restart - 4.Prueba chateando con tu agente y observando el tono y comportamiento
- 5.Itera
El alma de tu agente es solo texto en Markdown. Si puedes escribir un documento, puedes crear un agente que se sienta tuyo.
Para mas ejemplos y plantillas contribuidas por la comunidad, consulta la referencia oficial de SOUL.md y el proyecto de plantillas soul.md.