Instalar el Paquete de Skills Básico
Ahora que tus agentes están corriendo, démosles su primera tarea real. BALIA OS viene con tres skills integradas listas para implementar.
| 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 este mismo script para instalar el Security Guardian. Esta es la segunda corrida — instala el paquete de skills básico (lightpanda / summarize / clawsec). (Si todavía no lo descargaste, volvé a la Sección 4 y descargá primero install_core_pack.py.)
Hacer que tu agente lo ejecute
Pegá esto en la terminal de VS Code y presioná Enter para ejecutar.
¿Qué es un Token?
Es la cadena que aparece después de ?token= en la URL de acceso que te enviaron 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 encontrás el correo, contactá a soporte.
openclaw agent --agent security-guardian "Por favor ejecutá lo siguiente:
python install_core_pack.py --lang es-AR
(El token se lee automáticamente desde tu archivo .env)
Reportá a Discord cuando termines."Tu agente va a hacer automáticamente:
- Autenticar tu token
- Descargar el paquete de skills básico (lightpanda / summarize / clawsec)
- Implementarlo en ~/.opengoat/skills/
- Actualizar _SKILL_INDEX.md
- Reportar "Paquete de skills básico instalado" en Discord
Una vez que recibas la confirmación en Discord, continuá abajo.
Qué Son las Habilidades y los Cassettes
Tus agentes están activos. 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, operando un sistema de trading o asistiendo a un estudio jurídico.
Las habilidades son los archivos de conocimiento que vos escribís y le entregás a tus agentes. Cada habilidad le enseña a un agente cómo hacer una tarea específica — cómo gestionar reservas, cómo generar un informe de P&L, cómo redactar una publicación para redes sociales. Cuantas más habilidades le des a un agente, más cosas puede hacer.
Un cassette es una carpeta de habilidades, agrupadas 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 en qué necesite trabajar ese día.
Todo cassette está ON por defecto. Un solo archivo — memory/_SKILL_STATUS.md — lista todos los cassettes con su estado ON/OFF. No hay un "modo actual" para 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 ponés un cassette en OFF en el caso poco frecuente en 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 los dos enONy correr 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:
| Nombre del Cassette | STATUS | Descripción |
|----------------------|--------|--------------------------------|
| youtube | ON | Pipeline de contenido de YouTube |
| trade | ON | Análisis de mercado y reportes |Cuando le das una instrucción a un agente, este compara lo que le pedís contra el SKILL.md de cada cassette que esté en ON y aplica el que mejor encaje — también podés nombrar el cassette explícitamente ("Trabajá en modo trade: ...") para ser específico. Si un cassette está en OFF, el agente lo salta por completo, incluso si la tarea de otro modo coincidiría.
Las tareas programadas (como un chequeo diario de estado o un informe nocturno) se ejecutan sin importar qué cassettes estén activos — se definen en el AGENTS.md del agente, no en ningún cassette.
Elegir tu Motor de IA
Distintos cassettes funcionan mejor con diferentes modelos de IA. Configurá 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, juicio matizado |
| Programación / Automatización técnica | Claude | Calidad de código, debugging, 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 electrónicos |
| Comunicación multilingüe | GPT-4o o Gemini | Alto rendimiento en múltiples idiomas |
| E-commerce / Investigación de productos | Claude o GPT-4o | Profundidad de investigación, salida estructurada |
Si Claude funciona para tu caso de uso, ya estás listo — se configuró en la Sección 3.
Para Gemini o GPT-4o, vas a agregar una API key a tu archivo .env. Las instrucciones están en el Paso 7 del asistente de IA de abajo.
Ideas de Habilidades por Industria
¿No sabés qué habilidades armar? Acá tenés puntos de partida por caso de uso.
Restaurante / Gastronomía
- Gestión de reservas 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 fichas de producto
- 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 guiones esquemáticos
- Gestión del calendario de publicaciones
- Resumen de métricas de rendimiento
- Redacción de respuestas a comentarios de la comunidad
Freelancer / Consultor
- Redacción de comunicaciones con clientes
- Reportes de estado de proyectos
- Seguimiento de facturas y recordatorios
- Revisión de cláusulas contractuales (marcar términos inusuales)
- Resumen de registro de horas trabajadas
Pequeña Empresa / General
- Resumen diario de operaciones
- Redacción de comunicaciones al personal
- Filtrado de consultas legales (marcar ítems 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 drama — el asistente de IA de esta sección te va a ayudar a definir tus propias habilidades desde cero, según lo que quieras que tu equipo haga concretamente.
Cómo Funciona Esta Sección
Recomendado: Usá el prompt del asistente de IA de abajo — genera todos tus archivos de cassette Y produce un script de configuración en Python que crea todo automáticamente. Después de la conversación con la IA, andá al Paso 2 — Ejecutar el Script de Configuración y corrélo. No hace falta crear archivos a mano.
Si el script de configuración falla: El asistente de IA también te muestra el contenido completo de cada archivo. Podés crear los archivos manualmente en VS Code como alternativa.
Usá el prompt del asistente de IA de abajo para:
- Definir qué deben hacer tus agentes todos los días
- Decidir con qué nombre y modo de cassette empezar
- Elegir el motor de IA correcto
- Generar tus archivos SKILL y WORKFLOW
- Configurar el indicador
_SKILL_STATUS.md - Verificar que tu agente cargue el modo correcto
Pegá el prompt en tu IA de chat. Adjuntá tu Documento de Diseño de Equipo de la Sección 2.
▶ Pegá esto en tu IA para comenzar
Adjuntá tu Documento de Diseño de Equipo antes de enviarlo.
Estás ayudándome a construir Habilidades y un Cassette para BALIA OS —
un sistema operativo de IA multi-agente.
Adjunté mi Documento de Diseño de Equipo. Leélo antes de empezar
para conocer los nombres de mis agentes, sus roles y la estructura del workspace.
CONCEPTO A ENTENDER ANTES DE EMPEZAR:
Las habilidades son archivos de conocimiento que yo escribo y le doy a mis agentes.
Cada habilidad le enseña a un agente cómo hacer una tarea específica.
Un Cassette es una carpeta de habilidades, agrupadas en torno a un tema (un modo).
Todos los cassettes están ON por defecto y pueden correr al mismo tiempo —
mis agentes aplican el cassette que mejor encaje con 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" — pueden estar varias filas en ON
al mismo tiempo.
Estructura de carpetas:
$env:USERPROFILE/.opengoat/
memory/
_SKILL_STATUS.md ← lista ON/OFF, una fila por cassette
skills/
[nombre-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 contra el SKILL.md de cada cassette en ON
(o yo puedo nombrar el cassette explícitamente, ej. "Trabajá en modo trade: ...")
3. Aplica el SKILL.md y el WORKFLOW.md del cassette que coincide
Las tareas programadas se ejecutan sin importar qué cassettes estén en ON — están en AGENTS.md.
Guiame paso a paso. Hacé una pregunta a la vez.
Esperá mi respuesta antes de seguir.
STEP 1 — Qué quiero que haga mi equipo
Preguntame: "Describí qué querés que tu equipo de IA haga por vos todos los días.
No pienses en el cómo — describí simplemente el resultado que querés
y el trabajo que querés que se haga."
Ayudame a convertir mi respuesta en una lista de al menos 5 tareas
concretas y recurrentes. Hacé preguntas de seguimiento hasta que tengamos
tareas concretas con un cronograma claro (diario, semanal, a demanda).
STEP 2 — Mapear tareas a agentes
Leé mi Documento de Diseño de Equipo.
Asigná cada tarea al agente más adecuado según su rol.
Mostrame el mapeo: "Tarea → Agente"
Preguntame: "¿Se siente bien así? ¿Hay algo que cambiarías?"
STEP 3 — Nombrar el cassette (modo)
En base a las tareas, sugerí un nombre de cassette — el nombre del modo
(corto, en minúsculas, con guiones: ej. restaurant-ops, youtube, trade).
Esto se convierte en el nombre de la carpeta y en una nueva fila en memory/_SKILL_STATUS.md.
Pedime que confirme o que sugiera otro nombre.
STEP 4 — Elegir el motor de IA
Para cada agente con tareas asignadas, recomendá el mejor motor:
- Claude: lógica, análisis, código, legal, finanzas, cripto
- Gemini: servicios de Google (Sheets, Docs, Drive, Gmail, Calendar,
YouTube Studio, NotebookLM) — cualquier cosa del ecosistema Google
- GPT-4o: emails de ventas, outreach, copywriting, conversación natural
Explicá tu razonamiento en una frase por agente.
Si todas las tareas funcionan bien con Claude, confirmá que no se necesitan API keys extra.
Si se necesita Gemini o GPT-4o, anotalo — lo resolvemos en el Step 7.
Pedime que confirme antes de seguir.
STEP 5 — Generar SKILL.md
Generá el archivo de habilidades con esta estructura:
---
# SKILL.md — [nombre-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 qué tipo de instrucciones deberían activar
este cassette — esto es contra lo que el agente compara tus pedidos]
## Habilidades de Este Cassette
[Lista de habilidades concretas — qué sabe hacer el agente]
## Herramientas Disponibles
[Lista de herramientas usables 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, confirmá que la fila de este cassette en memory/_SKILL_STATUS.md
esté en ON. Si está en OFF, saltealo por completo — no hace falta reportar a Discord.
2. [Regla clave específica de este dominio]
3. [Regla clave específica de este dominio]
4. Reportá 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. Guardá todos los resultados en skills/[nombre-cassette]/outputs/
## Qué NO Cubre Este Cassette
[Límites concretos — qué queda fuera del alcance de este cassette]
## Formato de Salida
[Qué produce el agente: reportes, archivos, mensajes de Discord, etc.]
---
Mostralo completo. Preguntame si algo necesita ajuste.
STEP 6 — Generar WORKFLOW.md
Generá el archivo de flujo de trabajo con esta estructura:
---
# WORKFLOW.md — [nombre-cassette]
Versión: 1.0
Última actualización: [fecha de hoy]
## Antes de Empezar
1. Confirmá que la fila de este cassette en memory/_SKILL_STATUS.md esté en ON
2. Cargá SKILL.md de esta misma carpeta
## Procedimientos de Tareas
### [Nombre de la Tarea 1] — [Cronograma]
Disparador: [Qué inicia esta tarea]
Pasos:
1. [Acción concreta]
2. [Acción concreta]
3. [Acción concreta]
Salida: [Qué se produce]
Guardar en: skills/[nombre-cassette]/outputs/
En caso de error: [Qué hacer si algo falla]
### [Nombre de la Tarea 2] — [Cronograma]
[Misma estructura]
[Continuar con todas las tareas]
## Fin de Sesión (Cada Sesión — Obligatorio)
Enviá el reporte de fin de sesión a Discord:
"✅ Sesión de [nombre-cassette] completada.
Tareas completadas: [lista]
Salida: skills/[nombre-cassette]/outputs/
Problemas: [errores, si hay]"
## Manejo de Errores
Si algún paso falla:
1. Anotá el error exacto
2. Continuá con las tareas restantes si es posible
3. Incluí 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 corren en su propio cronograma sin importar otros cassettes —
son independientes de si otros cassettes están en ON u OFF.
---
Mostralo completo. Preguntame si algo necesita ajuste.
STEP 7 — Configuración de API key (si hace falta)
Solo si se recomendó Gemini o GPT-4o en el Step 4:
PARA GEMINI:
"Gemini funciona mejor para integración con servicios de Google.
Para conseguir tu API key:"
1. Andá a https://console.cloud.google.com/
2. Iniciá sesión con tu cuenta de Google
3. Si te lo ofrecen, podés ser elegible para $300 en créditos gratis —
hacé clic en "Probar gratis" si aparece
4. En la barra de búsqueda superior, escribí "Gemini API" y seleccionalo
5. Hacé clic en "Habilitar" si todavía no está habilitado
6. Andá a "Credenciales" en el menú izquierdo → "Crear credenciales"
→ "Clave de API"
7. Copiá la clave
8. Agregala al archivo .env:
GOOGLE_API_KEY=tu-clave-aquí
Confirmá: "Clave API de Gemini agregada."
PARA GPT-4o (OpenAI):
1. Andá a platform.openai.com
2. Iniciá sesión o creá una cuenta
3. Hacé clic en tu perfil → "API keys" → "Create new secret key"
4. Nombrala "balia-os"
5. Copiá la clave (empieza con sk-)
6. Agregala al archivo .env:
OPENAI_API_KEY=tu-clave-aquí
Confirmá: "Clave API de OpenAI agregada."
Si es solo Claude: salteá este paso por completo.
STEP 8 — Crear la estructura de carpetas del cassette
Guiame 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
Después guiame para guardar estos archivos dentro de la carpeta del cassette:
- SKILL.md
- WORKFLOW.md
Después guiame para agregar este cassette a memory/_SKILL_STATUS.md:
"Abrí memory/_SKILL_STATUS.md en VS Code. Si el archivo todavía no existe,
creálo con este encabezado:
# ESTADO DE CASSETTES DE HABILIDADES
# El ON/OFF se administra solo en este archivo.
| Nombre del Cassette | STATUS | Descripción |
|---|---|---|
Agregá una nueva fila: | [nombre-modo] | ON | [descripción de una línea] |
Guardá."
Una vez definidos todos los archivos, generá un script de Python de configuración
completo que cree todo automáticamente. El script debe:
- Funcionar tanto en Windows como en Mac (usar 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 todavía no existe
- Imprimir ✅ [nombre de archivo] por cada archivo creado
- Imprimir "Configuración completa." al final
El script ya tiene todas las rutas y contenidos completados —
el usuario solo tiene que correrlo en la terminal de VS Code con:
python setup_cassette.py
Decime: "Copiá este script, guardalo como setup_cassette.py
en tu carpeta .opengoat, y después corrélo en la terminal de VS Code.
Vas a ver un ✅ por cada archivo creado."
STEP 9 — Probar el cassette
Guiame para enviar un comando de prueba, nombrando el cassette explícitamente:
openclaw agent --agent ceo "Trabajá en modo [nombre-modo]: por favor hacé lo siguiente:
1. Confirmá que memory/_SKILL_STATUS.md muestra [nombre-modo] como ON.
2. Cargá el SKILL.md y el WORKFLOW.md de este cassette.
3. Confirmá que entendés tus tareas en este cassette.
4. Publicá un reporte de preparación en tu canal de Discord."
Preguntame: "¿Qué respondió el agente?
¿Viste un reporte de preparación en Discord?"
Si sí: instalación del cassette confirmada.
Si no: ayudame a solucionar el problema.
SALIDA FINAL
Una vez confirmado, mostrá 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]
API keys adicionales: [agregadas / no necesarias]
Estado: ON — el agente confirmó estar listo
---
Listo para la Sección 7.
Empezá ahora. Hacé la primera pregunta.Paso 2 — Ejecutar el Script de Configuración
Cuando el asistente de IA termine de generar tus archivos de cassette, también va a generar un script de Python de configuración con todas las rutas y el contenido ya completados.
Qué hacer:
- Copiá el script de Python que genera la IA
- Abrí la terminal de VS Code (
Ctrl+``en Windows /Cmd+``en Mac) - Creá un nuevo archivo llamado
setup_cassette.pyen tu carpeta .opengoat - Pegá el script y guardalo
- Corrélo:
python setup_cassette.py
Vas a ver un ✅ por cada archivo creado. Eso es todo — sin creación manual de archivos, sin confusión de rutas.
Qué hace el script 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, copiá el error y pedile a tu asistente de IA que lo corrija.
Usar un Cassette
Todos los cassettes están ON por defecto — no hay ningún paso de "cambio de modo". Simplemente decile a cualquier agente qué cassette usar al principio de tu instrucción:
openclaw agent --agent ceo "Trabajá en modo trade: dame el resumen de hoy."El agente compara "modo trade" 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 pedido. También podés 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: Abrí memory/_SKILL_STATUS.md y poné el STATUS de ese cassette en OFF. El agente lo va a saltear hasta que lo vuelvas a poner en ON.
Agregar Más Cassettes Más Adelante
A medida que tu negocio crece, agregá más carpetas de cassette:
skills/
├── youtube/
├── trade/
├── restaurant-ops/
└── legal-research/ ← agregalo cuando quierasArmá cada cassette nuevo de la misma manera: generá SKILL.md y WORKFLOW.md con el asistente de IA, corré el script de configuración. Se agrega a memory/_SKILL_STATUS.md como ON automáticamente — no hace falta cambiar de modo, solo decile a un agente que lo use.
El Mercado de Skills de BALIA — Llegada en el Q4 2026
Una vez que el mercado abra, van a estar disponibles dos cosas:
Comprar cassettes — Cassettes desarrollados por BALIA (Crypto Trade, YouTube, E-Commerce, Polymarket BOT) y cassettes creados por la comunidad, revisados y aprobados. Instalalos en tu carpeta de cassettes como cualquier otro modo.
Vender cassettes — Si armás un cassette que funciona, enviálo. 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 Habilidades — Control ON/OFF
Tus cassettes se administran con un único archivo: memory/_SKILL_STATUS.md. Los cassettes nuevos se agregan en ON por defecto.
| Nombre del Cassette | STATUS | Descripción |
|----------------------|--------|-------------------------------------|
| marketing-outreach | ON | Difusión en redes / email / YouTube |
| ai-meeting-sales | ON | Reunión de IA del equipo de ventas (Leo) |
| ai-meeting-daily | ON | Reunión diaria de operaciones |
| research-market | ON | Automatización de investigación de mercado |Para pausar un cassette: Cambiá ON a OFF en este archivo. Eso es todo.
Cuando un cassette está ON:
- Cualquier agente cuya tarea coincida lo carga
- Ejecuta la tarea
- Reporta a Discord:
"✅ [nombre-cassette] ejecutado con éxito."
Cuando un cassette está OFF:
- El agente lo salta, incluso si la tarea de otro modo coincidiría
- Igual reporta a Discord:
"⏭️ [nombre-cassette] salteado — STATUS: OFF"
Toda ejecución queda reportada, haya corrido o no. Siempre sabés qué pasó.
Si Dos Cassettes Entran en Conflicto
Como todo cassette está ON por defecto, es posible que dos se superpongan — por ejemplo, dos cassettes que publican en el mismo canal de Discord, o que intentan usar el mismo agente para tareas contradictorias al mismo tiempo.
Por ahora no hay detección automática de conflictos. Si notás que dos cassettes se pisan entre sí, abrí memory/_SKILL_STATUS.md y poné uno de ellos en OFF vos mismo. Esto resuelve el conflicto de inmediato — el agente salta cualquier cassette marcado como OFF.
La detección automática de conflictos por parte de Security Guardian, con una resolución sugerida, está planeada para una actualización futura.
Programar Cassettes — Ejecución Temporizada
Algunos cassettes están diseñados para correr a una hora fija — reuniones diarias, reportes matutinos, resúmenes semanales. Registralos en el planificador de tu sistema operativo.
El planificador dispara el cassette. El agente revisa _SKILL_STATUS.md. Si está en ON → ejecuta + reporte a Discord. Si está en OFF → salta + reporte a Discord.
⚠️ Dos Reglas para los Cassettes Programados
- Siempre nombrá el cassette/modo en el propio comando de registro — el planificador no tiene otra forma de saber qué cassette correr, así que la acción disparadora tiene que especificarlo (mirá el
[nombre-cassette]en los ejemplos de abajo). - No registres dos cassettes programados para el mismo horario. Correr dos a la vez puede hacer que compitan por el mismo agente o el mismo canal de Discord. Separalos por lo menos unos minutos.
Windows — Programador de Tareas
- Abrí el Programador de Tareas → Crear tarea básica
- Nombre:
BALIA_[NombreCassette] - Desencadenador: Diariamente → establecé tu horario (ej. 21:00)
- Acción: Iniciar un programa
- Programa:
openclaw - Argumentos:
agent --agent [agentid] "Trabajá en modo [nombre-cassette]: ejecutá la tarea programada de hoy." - Iniciar en:
C:\Users\%USERNAME%\.opengoat
- Programa:
- Finalizar
Para pausar un cassette programado sin tocar el planificador: → Poné el STATUS en OFF en _SKILL_STATUS.md. El planificador sigue disparando, el agente revisa el STATUS, lo salta, y reporta. No hace falta tocar el planificador.
Mac — launchd
Creá ~/Library/LaunchAgents/com.balia.[nombre-cassette].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.[nombre-cassette]</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/bin/openclaw</string>
<string>agent</string>
<string>--agent</string>
<string>[agentid]</string>
<string>Trabajá en modo [nombre-cassette]: ejecutá la tarea programada de hoy.</string>
</array>
<key>StartCalendarInterval</key>
<dict>
<key>Hour</key>
<integer>21</integer>
<key>Minute</key>
<integer>0</integer>
</dict>
</dict>
</plist>Cargalo:
launchctl load ~/Library/LaunchAgents/com.balia.[nombre-cassette].plistPara pausar: poné el STATUS en OFF en _SKILL_STATUS.md. Mismo comportamiento que en Windows.