Instalar el Paquete de Skills Básico
Ahora que tus agentes están en funcionamiento, démosles su primera tarea real. BALIA OS incluye tres skills integradas listas para desplegar.
| Skill | Propósito |
|---|---|
| lightpanda | Búsqueda web rápida y scraping |
| summarize | Resumen automático de textos largos o páginas web |
| clawsec | Monitoreo de seguridad y cuarentena de nuevas skills |
En la Sección 4 usaste el mismo script para instalar al Security Guardian. Esta es la segunda ejecución — instala el paquete de skills básico (lightpanda / summarize / clawsec). (Si aún no lo has descargado, vuelve a la Sección 4 y descarga primero install_core_pack.py.)
Haz que tu agente lo ejecute
Pega esto en la terminal de VS Code y presiona Enter para ejecutar.
¿Qué es un Token?
Es la cadena después de ?token= en la URL de acceso que recibiste tras la compra.
Ejemplo: https://guide.baliaos.com/?token=BALIA-XXXX-XXXX-0001 En este caso, el token es BALIA-XXXX-XXXX-0001.
Si no encuentras el correo, contacta a soporte.
openclaw agent --agent security-guardian "Por favor ejecuta lo siguiente:
python install_core_pack.py --lang es-MX
(El token se leerá automáticamente desde tu archivo .env)
Reporta a Discord cuando termines."Tu agente hará automáticamente lo siguiente:
- Autenticar tu token
- Descargar el paquete de skills básico (lightpanda / summarize / clawsec)
- Desplegarlo en ~/.opengoat/skills/
- Actualizar _SKILL_INDEX.md
- Reportar "Paquete de skills básico instalado" en Discord
Una vez que recibas la confirmación de Discord, continúa abajo.
Qué son los Skills y los Cassettes
Tus agentes están en vivo. Tienen identidades, procedimientos de reporte y canales de Discord. Pero por ahora no saben en qué dominio están trabajando. No saben si están administrando un restaurante, llevando una operación de trading o apoyando un despacho legal.
Los Skills son los archivos de conocimiento que tú escribes y le das a tus agentes. Cada skill le enseña a un agente cómo hacer una tarea específica — cómo gestionar reservaciones, cómo generar un reporte de P&L, cómo redactar un post para redes sociales. Cuantos más skills le des a un agente, más podrá hacer.
Un cassette es una carpeta de skills, agrupados en torno a un tema. Un operador de restaurante podría tener un cassette restaurant-ops. Un creador de contenido podría tener un cassette youtube y un cassette social-media. El mismo agente puede usar distintos cassettes según lo que necesite trabajar ese día.
Todos los cassettes están en ON por defecto. Un solo archivo — memory/_SKILL_STATUS.md — lista todos los cassettes con su estado ON/OFF. No hay un "modo actual" al que cambiar — todos tus cassettes están disponibles al mismo tiempo, y un agente aplica el cassette que coincida con la tarea que le des (su SKILL.md describe para qué sirve). Solo pones un cassette en OFF en el caso poco común de que quieras pausarlo — por ejemplo, si dos cassettes entran en conflicto entre sí (ver "Si Dos Cassettes Entran en Conflicto" más abajo).
Esto significa:
marketing-outreachyai-meeting-dailypueden estar ambos enONy ejecutarse al mismo tiempo- Poner un cassette en
OFFno afecta a los demás - La configuración del agente nunca cambia — solo cambia el STATUS del cassette
Estructura de Carpetas del Cassette
$env:USERPROFILE\.opengoat\
├── memory\
│ └── _SKILL_STATUS.md ← Lista ON/OFF de todos los cassettes
└── skills\
├── youtube\
│ ├── SKILL.md ← Qué hace este cassette, herramientas, reglas
│ └── WORKFLOW.md ← Procedimientos paso a paso
├── restaurant-ops\
│ ├── SKILL.md
│ └── WORKFLOW.md
└── trade\
├── SKILL.md
└── WORKFLOW.md_SKILL_STATUS.md lista todos los cassettes con su indicador de STATUS. Por ejemplo:
| Cassette Name | STATUS | Description |
|------------------|--------|-------------------------------|
| youtube | ON | YouTube content pipeline |
| trade | ON | Market analysis and reporting |Cuando le das una instrucción a un agente, este la compara contra el SKILL.md de cada cassette que esté en ON y aplica el que mejor encaje — también puedes nombrar el cassette explícitamente ("Work in trade mode: ...") para ser más específico. Si un cassette está en OFF, el agente lo omite por completo, incluso si la tarea coincidiría de otro modo.
Las tareas programadas (como un chequeo diario o un reporte nocturno) se ejecutan sin importar qué cassettes estén activos — se definen en el AGENTS.md del agente, no en ningún cassette.
Cómo Elegir tu Motor de IA
Diferentes cassettes funcionan mejor con diferentes modelos de IA. Configura esto una sola vez cuando construyas el cassette.
| Tipo de Cassette | Motor Recomendado | Por qué |
|---|---|---|
| Trading de criptomonedas / Análisis de mercado | Claude | Razonamiento lógico, análisis de patrones, criterio matizado |
| Programación / Automatización técnica | Claude | Calidad de código, depuración, lógica de múltiples pasos |
| Investigación legal / Revisión de contratos | Claude | Razonamiento cuidadoso, lenguaje matizado |
| Finanzas / Contabilidad / Reportes | Claude | Análisis estructurado, cálculo preciso |
| Google Sheets / Docs / NotebookLM / Drive | Gemini | Integración nativa con servicios de Google |
| YouTube / Contenido de video | Gemini | Analiza video directamente; se integra con YouTube Studio |
| Automatización de Gmail / Calendar | Gemini | Integración profunda con Google Workspace |
| Ventas / Prospección / Copywriting | GPT-4o | Conversación natural, generación de correos |
| Comunicación multilingüe | GPT-4o o Gemini | Sólido rendimiento multilingüe |
| E-commerce / Investigación de productos | Claude o GPT-4o | Profundidad de investigación, resultados estructurados |
Si Claude funciona para tu caso de uso, ya estás listo — se configuró en la Sección 3.
Para Gemini o GPT-4o, agregarás una API key a tu archivo .env. Las instrucciones están en el Paso 7 del concierge de IA a continuación.
Ideas de Skills por Industria
¿No sabes qué skills construir? Aquí hay puntos de partida por caso de uso.
Restaurante / Alimentos y Bebidas
- Gestión de reservaciones y programación diaria
- Seguimiento de pedidos a proveedores y alertas de inventario
- Publicaciones en redes sociales (especiales del día, eventos)
- Monitoreo de reseñas y redacción de respuestas
- Resumen semanal de ingresos
E-Commerce / Productos Físicos
- Generación de listados de productos
- Monitoreo de precios de la competencia
- Resumen del estado de pedidos
- Redacción de respuestas a consultas de clientes
- Reporte mensual de ventas
Creador de Contenido / YouTuber
- Generación de ideas para títulos y miniaturas
- Redacción de esquemas de guiones
- Gestión del calendario de publicaciones
- Resumen de métricas de desempeño
- Redacción de respuestas a comentarios de la comunidad
Freelancer / Consultor
- Redacción de comunicaciones con clientes
- Reporte del estado de proyectos
- Seguimiento de facturas y recordatorios
- Revisión de cláusulas de contratos (marcar términos inusuales)
- Resumen de registro de horas
Pequeño Negocio / General
- Resumen de operaciones diarias
- Redacción de comunicaciones al personal
- Filtrado de preguntas legales (marcar temas que requieren un abogado)
- Resumen financiero a partir de recibos y registros
- Gestión de comunicaciones con proveedores
¿Tu industria no está en esta lista? No hay problema — el concierge de IA en esta sección te ayudará a definir tus propios skills desde cero, basándose en lo que quieres que tu equipo haga realmente.
Cómo Funciona Esta Sección
Recomendado: Usa el prompt del concierge de IA de abajo — genera todos tus archivos de cassette Y produce un script de configuración en Python que crea todo automáticamente. Tras la conversación con la IA, ve a Paso 2 — Ejecutar el Script de Configuración y ejécutalo. No es necesario crear archivos manualmente.
Si el script de configuración falla: El concierge de IA también te muestra el contenido completo de cada archivo. Puedes crear los archivos manualmente en VS Code como alternativa.
Usa el prompt del concierge de IA a continuación para:
- Definir qué deben hacer tus agentes cada día
- Decidir con qué nombre de cassette y modo comenzar
- Elegir el motor de IA adecuado
- Generar tus archivos SKILL y WORKFLOW
- Configurar el indicador en
_SKILL_STATUS.md - Verificar que tu agente cargue el modo correcto
Pega el prompt en tu IA de chat. Adjunta tu Documento de Diseño del Equipo de la Sección 2.
▶ Pega esto en tu IA para comenzar
Adjunta tu Documento de Diseño del Equipo antes de enviarlo.
Estás ayudándome a construir Skills y un Cassette para BALIA OS —
un sistema operativo de IA multi-agente.
He adjuntado mi Documento de Diseño del Equipo. Léelo antes de comenzar
para que conozcas los nombres de mis agentes, sus roles y la estructura del espacio de trabajo.
CONCEPTO A ENTENDER ANTES DE EMPEZAR:
Los skills son archivos de conocimiento que yo escribo y le doy a mis agentes.
Cada skill le enseña a un agente cómo hacer una tarea específica.
Un Cassette es una carpeta de skills, agrupados en torno a un tema (un modo).
Todos los cassettes están en ON por defecto y pueden ejecutarse al mismo tiempo —
mis agentes aplican el cassette que mejor se ajuste a la tarea que les doy.
Un solo archivo — memory/_SKILL_STATUS.md — lista todos los cassettes con un
estado ON/OFF. Es la única fuente de verdad sobre qué cassettes están
disponibles. No es un "modo actual" — varias filas pueden estar en ON
al mismo tiempo.
Estructura de carpetas:
$env:USERPROFILE/.opengoat/
memory/
_SKILL_STATUS.md ← lista ON/OFF, una fila por cassette
skills/
[nombre-del-cassette]/
SKILL.md ← qué hace este cassette, herramientas, reglas
WORKFLOW.md ← procedimientos paso a paso para este cassette
Cuando le doy una instrucción a un agente:
1. El agente revisa qué cassettes están en ON en memory/_SKILL_STATUS.md
2. Compara mi instrucción con el SKILL.md de cada cassette en ON
(o puedo nombrar el cassette explícitamente, ej. "Work in trade mode: ...")
3. Aplica el SKILL.md y el WORKFLOW.md del cassette que coincida
Las tareas programadas se ejecutan sin importar qué cassettes estén en ON —
están definidas en AGENTS.md.
Guíame paso a paso. Hazme una pregunta a la vez.
Espera mi respuesta antes de continuar.
PASO 1 — Qué quiero que haga mi equipo
Pregúntame: "Describe qué quieres que tu equipo de IA haga por ti todos los días.
No pienses en el cómo — solo describe el resultado que quieres
y el trabajo que quieres que se haga."
Ayúdame a convertir mi respuesta en una lista de al menos 5 tareas
específicas y recurrentes. Haz preguntas de seguimiento hasta que tengamos
tareas concretas con una frecuencia clara (diaria, semanal, bajo demanda).
PASO 2 — Asignar tareas a los agentes
Lee mi Documento de Diseño del Equipo.
Asigna cada tarea al agente más adecuado según su rol.
Muéstrame el mapeo: "Tarea → Agente"
Pregunta: "¿Se ve bien esto? ¿Hay algo que quieras mover?"
PASO 3 — Nombrar el cassette (modo)
Basándote en las tareas, sugiere un nombre de cassette — el nombre del modo
(corto, en minúsculas, con guiones: ej. restaurant-ops, youtube, trade).
Esto se convertirá en el nombre de la carpeta y en una nueva fila en memory/_SKILL_STATUS.md.
Pídeme que confirme o que sugiera un nombre diferente.
PASO 4 — Elegir el motor de IA
Para cada agente con tareas asignadas, recomienda el mejor motor:
- Claude: lógica, análisis, programación, legal, finanzas, cripto
- Gemini: servicios de Google (Sheets, Docs, Drive, Gmail, Calendar,
YouTube Studio, NotebookLM) — cualquier cosa dentro del ecosistema Google
- GPT-4o: correos de ventas, prospección, copywriting, conversación natural
Explica tu razonamiento en una frase por agente.
Si todas las tareas funcionan bien con Claude, confirma que no se necesitan claves API adicionales.
Si se necesita Gemini o GPT-4o, anótalo — la clave se configura en el Paso 7.
Pídeme que confirme antes de continuar.
PASO 5 — Generar SKILL.md
Genera el archivo de skill con esta estructura:
---
# SKILL.md — [nombre-del-cassette]
Versión: 1.0
Última actualización: [fecha de hoy]
Agente principal: [nombre del agente]
Motor de IA: [motor]
## Qué Hace Este Cassette
[2-3 frases: qué dominio cubre, qué produce]
## Cuándo Usar Este Cassette
[1-2 frases describiendo el tipo de instrucciones que deberían activar
este cassette — esto es contra lo que el agente compara tus solicitudes]
## Skills en Este Cassette
[Lista con viñetas de skills específicas — qué sabe hacer el agente]
## Herramientas Disponibles
[Lista de herramientas utilizables en este cassette: búsqueda web, lectura/escritura
de archivos, reportes a Discord, llamadas API, servicios de Google, etc.]
## Reglas de Operación
1. Antes de ejecutar, confirma que la fila de este cassette en memory/_SKILL_STATUS.md
esté en ON. Si está en OFF, omite todo — no se necesita reporte a Discord.
2. [Regla clave específica de este dominio]
3. [Regla clave específica de este dominio]
4. Reporta todas las tareas completadas a Discord antes de terminar la sesión.
5. Nunca actúes fuera del alcance de este cassette sin aprobación del Comandante.
6. Guarda todas las salidas en skills/[nombre-del-cassette]/outputs/
## Qué NO Cubre Este Cassette
[Límites específicos — qué está fuera de alcance para este cassette]
## Formato de Salida
[Qué produce el agente: reportes, archivos, mensajes de Discord, etc.]
---
Muéstralo completo. Pregunta si algo necesita ajustes.
PASO 6 — Generar WORKFLOW.md
Genera el archivo de flujo de trabajo con esta estructura:
---
# WORKFLOW.md — [nombre-del-cassette]
Versión: 1.0
Última actualización: [fecha de hoy]
## Antes de Empezar
1. Confirma que la fila de este cassette en memory/_SKILL_STATUS.md esté en ON
2. Carga SKILL.md desde esta misma carpeta
## Procedimientos de Tareas
### [Nombre de Tarea 1] — [Frecuencia]
Disparador: [Qué inicia esta tarea]
Pasos:
1. [Acción específica]
2. [Acción específica]
3. [Acción específica]
Salida: [Qué se produce]
Guardar en: skills/[nombre-del-cassette]/outputs/
En caso de error: [Qué hacer si algo falla]
### [Nombre de Tarea 2] — [Frecuencia]
[Misma estructura]
[Continuar para todas las tareas]
## Fin de Sesión (Cada Sesión — Obligatorio)
Envía un reporte de fin de sesión a Discord:
"✅ Sesión de [nombre-del-cassette] completada.
Tareas completadas: [lista]
Salida: skills/[nombre-del-cassette]/outputs/
Problemas: [errores, si los hay]"
## Manejo de Errores
Si algún paso falla:
1. Anota el error exacto
2. Continúa con las tareas restantes si es posible
3. Incluye todos los errores en el reporte de fin de sesión a Discord
4. No reintentes operaciones destructivas sin aprobación del Comandante
## Tareas Programadas
Estas se ejecutan en su propio horario sin importar los demás cassettes —
son independientes de si otros cassettes están en ON o en OFF.
---
Muéstralo completo. Pregunta si algo necesita ajustes.
PASO 7 — Configuración de la clave API (si es necesario)
Solo si en el Paso 4 se recomendó Gemini o GPT-4o:
PARA GEMINI:
"Gemini funciona mejor para la integración con servicios de Google.
Para obtener tu clave API:"
1. Ve a https://console.cloud.google.com/
2. Inicia sesión con tu cuenta de Google
3. Si aparece la opción, podrías ser elegible para $300 en créditos gratuitos —
haz clic en "Pruébalo gratis" si se ofrece
4. En la barra de búsqueda superior, escribe "Gemini API" y selecciónala
5. Haz clic en "Habilitar" si no está habilitada aún
6. Ve a "Credenciales" en el menú izquierdo → "Crear credenciales"
→ "Clave de API"
7. Copia la clave
8. Agrégala al archivo .env:
GOOGLE_API_KEY=tu-clave-aquí
Confirma: "Clave API de Gemini agregada."
PARA GPT-4o (OpenAI):
1. Ve a platform.openai.com
2. Inicia sesión o crea una cuenta
3. Haz clic en tu perfil → "API keys" → "Create new secret key"
4. Nómbrala "balia-os"
5. Copia la clave (empieza con sk-)
6. Agrégala al archivo .env:
OPENAI_API_KEY=tu-clave-aquí
Confirma: "Clave API de OpenAI agregada."
Si solo usas Claude: omite este paso por completo.
PASO 8 — Crear la estructura de carpetas del cassette
Guíame para crear las carpetas en la terminal de VS Code:
Windows:
cd $env:USERPROFILE\.opengoat\skills
mkdir [nombre-modo]
mkdir [nombre-modo]\outputs
Mac:
mkdir -p ~/.opengoat/skills/[nombre-modo]/outputs
Luego guíame para guardar estos archivos en la carpeta del cassette:
- SKILL.md
- WORKFLOW.md
Luego guíame para agregar este cassette a memory/_SKILL_STATUS.md:
"Abre memory/_SKILL_STATUS.md en VS Code. Si el archivo aún no existe,
créalo con este encabezado:
# SKILL CASSETTE STATUS
# El ON/OFF se administra únicamente en este archivo.
| Cassette Name | STATUS | Description |
|---|---|---|
Agrega una nueva fila: | [nombre-modo] | ON | [descripción de una línea] |
Guarda."
Una vez definidos todos los archivos, genera un script completo de configuración en Python
que cree todo automáticamente. El script debe:
- Funcionar tanto en Windows como en Mac (usa os.path.expanduser para ~)
- Crear todas las carpetas con os.makedirs(exist_ok=True)
- Escribir SKILL.md y WORKFLOW.md con codificación UTF-8
- Agregar (o actualizar) la fila de este cassette en memory/_SKILL_STATUS.md,
creando el archivo con el encabezado de arriba si aún no existe
- Imprimir ✅ [nombre de archivo] por cada archivo creado
- Imprimir "Configuración completa." al final
El script contiene todas las rutas de archivo y el contenido ya completados —
el usuario solo tiene que ejecutarlo en la terminal de VS Code con:
python setup_cassette.py
Dime: "Copia este script, guárdalo como setup_cassette.py
en tu carpeta .opengoat, y luego ejecútalo en la terminal de VS Code.
Verás un ✅ por cada archivo creado."
PASO 9 — Probar el cassette
Guíame para enviar un comando de prueba, nombrando el cassette explícitamente:
openclaw agent --agent ceo "Work in [nombre-modo] mode: por favor realiza lo siguiente:
1. Confirma que memory/_SKILL_STATUS.md muestra [nombre-modo] como ON.
2. Carga el SKILL.md y el WORKFLOW.md de este cassette.
3. Confirma que entiendes tus tareas en este cassette.
4. Publica un reporte de preparación en tu canal de Discord."
Pregúntame: "¿Qué respondió el agente?
¿Viste un reporte de preparación en Discord?"
Si sí: instalación del cassette confirmada.
Si no: ayúdame a resolver el problema.
SALIDA FINAL
Cuando esté confirmado, muestra este resumen:
---
CASSETTE INSTALADO
Nombre del cassette: [nombre-modo]
Agente principal: [nombre del agente]
Archivos creados:
memory/_SKILL_STATUS.md ✅ (fila agregada: [nombre-modo] — ON)
skills/[nombre-modo]/SKILL.md ✅
skills/[nombre-modo]/WORKFLOW.md ✅
skills/[nombre-modo]/outputs/ ✅
Motor de IA: [motor]
Claves API adicionales: [agregadas / no necesarias]
Estado: ON — el agente confirmó su preparación
---
Listo para la Sección 7.
Comienza ahora. Hazme la primera pregunta.Paso 2 — Ejecutar el Script de Configuración
Cuando el concierge de IA termine de generar tus archivos de cassette, también generará un script de configuración en Python con todas las rutas de archivo y el contenido ya completados.
Qué hacer:
- Copia el script de Python que genera la IA
- Abre la terminal de VS Code (
Ctrl+en Windows /Cmd+en Mac) - Crea un nuevo archivo llamado
setup_cassette.pyen tu carpeta .opengoat - Pega el script y guárdalo
- Ejecútalo:
python setup_cassette.py
Verás un ✅ por cada archivo creado. Eso es todo — sin creación manual de archivos, sin confusión de rutas.
Lo que el script hace automáticamente:
- Crea toda la estructura de carpetas
- Escribe SKILL.md y WORKFLOW.md con el contenido correcto
- Crea la carpeta outputs/
- Agrega la fila de este cassette a memory/_SKILL_STATUS.md (STATUS: ON)
Si ves algún ❌ en la salida, copia el error y pídele a tu concierge de IA que lo corrija.
Usando un Cassette
Todos los cassettes están en ON por defecto — no hay un paso de "cambio de modo". Simplemente dile a cualquier agente qué cassette usar al inicio de tu instrucción:
openclaw agent --agent ceo "Work in trade mode: give me today's summary."El agente compara "trade mode" contra los cassettes en ON en memory/_SKILL_STATUS.md, carga el SKILL.md y el WORKFLOW.md de ese cassette, y los aplica a tu solicitud. También puedes describir la tarea sin nombrar el cassette — el agente la compara automáticamente contra el SKILL.md de cada cassette en ON.
Pausar un cassette: Abre memory/_SKILL_STATUS.md y pon el STATUS de ese cassette en OFF. El agente lo omitirá hasta que lo vuelvas a poner en ON.
Agregar Más Cassettes Más Adelante
A medida que tu negocio crece, agrega más carpetas de cassette:
skills/
├── youtube/
├── trade/
├── restaurant-ops/
└── legal-research/ ← agrégalo cuando quierasConstruye cada nuevo cassette de la misma manera: genera SKILL.md y WORKFLOW.md a través del concierge de IA, ejecuta el script de configuración. Se agrega automáticamente a memory/_SKILL_STATUS.md como ON — no se necesita cambiar de modo, solo dile a un agente que lo use.
El Mercado de Skills BALIA — Llegada en el Q4 2026
Una vez que el mercado abra, dos cosas estarán disponibles:
Comprar cassettes — Cassettes desarrollados por BALIA (Crypto Trade, YouTube, E-Commerce, Polymarket BOT) y cassettes creados por la comunidad, revisados y aprobados. Instálalos en tu carpeta de cassettes como cualquier otro modo.
Vender cassettes — Si construyes un cassette que funciona, envíalo. Cada envío pasa por una auditoría de seguridad y una revisión de efectividad. Una vez aprobado, se lista en el mercado y te genera ingresos cada vez que alguien lo instala.
Detalles en @BALIA_OS en X cuando el mercado abra.
Sistema de Cassettes de Skills — Control ON/OFF
Tus cassettes se administran con un solo archivo: memory/_SKILL_STATUS.md. Los cassettes nuevos se agregan como ON por defecto.
| Nombre del Cassette | STATUS | Descripción |
|----------------------|--------|----------------------------------------------|
| marketing-outreach | ON | Difusión en SNS / correo / YouTube |
| ai-meeting-sales | ON | Junta de IA del equipo de ventas (Leo) |
| ai-meeting-daily | ON | Junta de operaciones diarias |
| research-market | ON | Automatización de investigación de mercado |Para pausar un cassette: Cambia ON por OFF en este archivo. Eso es todo.
Cuando un cassette está en ON:
- Cualquier agente cuya tarea coincida con él lo carga
- Ejecuta la tarea
- Reporta a Discord:
"✅ [nombre-del-cassette] ejecutado con éxito."
Cuando un cassette está en OFF:
- El agente lo omite, incluso si la tarea coincidiría de otro modo
- Aun así reporta a Discord:
"⏭️ [nombre-del-cassette] omitido — STATUS: OFF"
Cada ejecución se reporta, haya corrido o no. Siempre sabes qué pasó.
Si Dos Cassettes Entran en Conflicto
Como todos los cassettes están en ON por defecto, es posible que dos se superpongan — por ejemplo, dos cassettes que publican en el mismo canal de Discord, o que ambos intentan usar el mismo agente para tareas en conflicto al mismo tiempo.
Actualmente no existe detección automática de conflictos. Si notas que dos cassettes se están pisando entre sí, abre memory/_SKILL_STATUS.md y pon tú mismo uno de ellos en OFF. Esto resuelve el conflicto de inmediato — el agente omite cualquier cassette marcado como OFF.
La detección automática de conflictos por parte del Security Guardian, con una resolución sugerida, está planeada para una futura actualización.
Programar Cassettes — Ejecución en Horario
Algunos cassettes están diseñados para ejecutarse a una hora fija — juntas diarias, reportes matutinos, resúmenes semanales. Regístralos con el programador de tareas de tu sistema operativo.
El programador activa el cassette. El agente revisa _SKILL_STATUS.md. Si está en ON → ejecuta + reporte a Discord. Si está en OFF → omite + reporte a Discord.
⚠️ Dos Reglas para los Cassettes Programados
- Siempre nombra el cassette/modo directamente en el comando de registro — el programador no tiene otra forma de saber qué cassette ejecutar, así que la acción del disparador debe indicarlo explícitamente (ve el
[cassette-name]en los ejemplos de abajo). - No registres dos cassettes programados para el mismo horario. Ejecutar dos al mismo tiempo puede hacer que compitan por el mismo agente o el mismo canal de Discord. Sepáralos por al menos unos minutos.
Windows — Programador de Tareas
- Abre el Programador de tareas → Crear tarea básica
- Nombre:
BALIA_[CassetteName] - Desencadenador: Diariamente → establece tu horario (ej. 21:00)
- Acción: Iniciar un programa
- Programa:
openclaw - Argumentos:
agent --agent [agentid] "Work in [cassette-name] mode: run today's scheduled task." - Iniciar en:
C:\Users\%USERNAME%\.opengoat
- Programa:
- Finalizar
Para pausar un cassette programado sin tocar el programador: → Pon el STATUS en OFF en _SKILL_STATUS.md. El programador sigue disparándose, el agente revisa el STATUS, lo omite y reporta. No se necesita ningún cambio en el programador.
Mac — launchd
Crea ~/Library/LaunchAgents/com.balia.[cassette-name].plist:
xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.balia.[cassette-name]</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/bin/openclaw</string>
<string>agent</string>
<string>--agent</string>
<string>[agentid]</string>
<string>Work in [cassette-name] mode: run today's scheduled task.</string>
</array>
<key>StartCalendarInterval</key>
<dict>
<key>Hour</key>
<integer>21</integer>
<key>Minute</key>
<integer>0</integer>
</dict>
</dict>
</plist>Cárgalo:
launchctl load ~/Library/LaunchAgents/com.balia.[cassette-name].plistPara pausar: pon el STATUS en OFF en _SKILL_STATUS.md. El mismo comportamiento que en Windows.