Instalar el Paquete de Skills Básico
Tus agentes están activos. Ahora 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 con soporte.
openclaw agent --agent security-guardian "Por favor ejecuta lo siguiente:
python install_core_pack.py --lang es
(El token se leerá automáticamente desde tu archivo .env)
Reporta a Discord cuando termines."Tu agente realizará automáticamente:
- Autenticar tu token
- Descargar el paquete de skills básico (lightpanda / summarize / clawsec)
- Desplegar 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 las Skills 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 en trading o dando soporte a un estudio jurídico.
Las skills son los archivos de conocimiento que escribes y le das a tus agentes. Cada skill le enseña a un agente cómo realizar una tarea específica: cómo gestionar reservas, cómo generar un reporte de P&L, cómo redactar un post para redes sociales. Cuantas más skills le des a un agente, más cosas podrá hacer.
Un cassette es una carpeta de skills, 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 uno de social-media. El mismo agente puede usar distintos cassettes según en qué necesite trabajar ese día.
Todo cassette está ON (activo) de forma predeterminada. Un único archivo — memory/_SKILL_STATUS.md — enumera todos los cassettes con su estado ON/OFF. No existe un "modo actual" que cambiar: todos tus cassettes están disponibles al mismo tiempo, y un agente aplica el cassette que mejor coincida con la tarea que le des (su SKILL.md describe para qué sirve). Solo pones un cassette en OFF en el raro caso 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- Desactivar un cassette (
OFF) no 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 cada cassette con su indicador de STATUS. Por ejemplo:
| Nombre del Cassette | STATUS | Descripción |
|----------------------|--------|----------------------------------|
| youtube | ON | Pipeline de contenido de YouTube |
| trade | ON | Análisis y reportes de mercado |Cuando le das una instrucción a un agente, este la compara con el SKILL.md de cada cassette que esté ON y aplica el que mejor encaje — también puedes nombrar el cassette explícitamente ("Trabaja en modo trade: ...") para ser específico. Si un cassette está OFF, el agente lo omite por completo, aunque la tarea encajaría de otro modo.
Las tareas programadas (como un chequeo de salud diario o un reporte nocturno) se ejecutan independientemente de 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 distintos modelos de IA. Configura esto una sola vez al construir 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, 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, deberás agregar una clave API a tu archivo .env. Las instrucciones están en el Paso 7 del asistente de IA a continuación.
Ideas de skills por industria
¿No sabes qué skills construir? Aquí tienes puntos de partida por caso de uso.
Restaurante / Alimentos y Bebidas
- Gestión de reservas y programación diaria
- Seguimiento de pedidos a proveedores y alertas de inventario
- Publicaciones en redes sociales para clientes (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 rendimiento
- 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 de pago
- Revisión de cláusulas contractuales (marcar términos inusuales)
- Resumen de registro de horas trabajadas
Pequeña empresa / General
- Resumen de operaciones diarias
- Redacción de comunicaciones para el personal
- Filtrado de consultas legales (marcar elementos 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 asistente de IA en esta sección te ayudará a definir tus propias skills desde cero, basándose en lo que quieres que tu equipo realmente haga.
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 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 muestra el contenido completo de cada archivo. Puedes crear los archivos manualmente en VS Code como alternativa.
Usa el prompt del asistente de IA que aparece a continuación para:
- Definir qué deben hacer tus agentes cada día
- Decidir qué nombre de cassette y modo usar para empezar
- Elegir el motor de IA adecuado
- Generar tus archivos SKILL y WORKFLOW
- Configurar el indicador
_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 de Equipo de la Sección 2.
▶ Pega esto en tu IA para comenzar
Adjunta tu Documento de Diseño de Equipo antes de enviarlo.
Me estás ayudando a construir Skills y un Cassette para BALIA OS —
un sistema operativo de IA multi-agente.
He adjuntado mi Documento de Diseño de Equipo. Léelo antes de empezar
para conocer los nombres de mis agentes, sus roles y la estructura del workspace.
CONCEPTO A ENTENDER ANTES DE EMPEZAR:
Las skills son archivos de conocimiento que escribo y les 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, agrupadas en torno a un tema (un modo).
Todos los cassettes están ON de forma predeterminada y pueden ejecutarse al
mismo tiempo — mis agentes aplican el cassette que mejor encaje con la tarea
que les doy.
Un único archivo — memory/_SKILL_STATUS.md — enumera 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 a la vez.
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 de este cassette
Cuando le doy una instrucción a un agente:
1. El agente revisa qué cassettes están ON en memory/_SKILL_STATUS.md
2. Compara mi instrucción con el SKILL.md de cada cassette que está ON
(o puedo nombrar el cassette explícitamente, p. ej. "Trabaja en modo trade: ...")
3. Aplica el SKILL.md y el WORKFLOW.md del cassette que coincide
Las tareas programadas se ejecutan independientemente de qué cassettes estén ON
— están en AGENTS.md.
Guíame paso a paso. Hazme una pregunta a la vez.
Espera mi respuesta antes de continuar.
STEP 1 — Qué quiero que haga mi equipo
Pregúntame: "Describe qué quieres que tu equipo de IA haga por ti cada día.
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).
STEP 2 — Asignar tareas a los agentes
Lee mi Documento de Diseño de Equipo.
Asigna cada tarea al agente más adecuado según su rol.
Muéstrame la asignación: "Tarea → Agente"
Pregunta: "¿Te parece bien así? ¿Hay algo que cambiarías?"
STEP 3 — Nombrar el cassette (modo)
Según las tareas, sugiere un nombre de cassette — el nombre del modo (corto,
en minúsculas, con guiones: p. ej. restaurant-ops, youtube, trade). Esto se
convierte en el nombre de la carpeta y una nueva fila en memory/_SKILL_STATUS.md.
Pídeme que lo confirme o que sugiera un nombre distinto.
STEP 4 — Elegir el motor de IA
Para cada agente con tareas asignadas, recomienda 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) — todo lo del ecosistema Google
- GPT-4o: emails de ventas, outreach, 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, indícalo — lo gestionamos en el Step 7.
Pídeme que confirme antes de continuar.
STEP 5 — Generar SKILL.md
Genera el archivo de skill usando 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 lo que el agente compara con tus solicitudes]
## Skills en Este Cassette
[Lista de skills específicas — 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 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 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. 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 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.]
---
Muéstralo completo. Pregunta si algo necesita ajustes.
STEP 6 — Generar WORKFLOW.md
Genera el archivo de flujo de trabajo usando esta estructura:
---
# WORKFLOW.md — [nombre-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 el SKILL.md de esta misma carpeta
## Procedimientos de Tareas
### [Nombre de la Tarea 1] — [Frecuencia]
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/
Si hay error: [qué hacer si algo falla]
### [Nombre de la 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-cassette] completada.
Tareas completadas: [lista]
Salida: skills/[nombre-cassette]/outputs/
Problemas: [cualquier error]"
## 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 según su propio horario independientemente de los demás
cassettes — no dependen de si otros cassettes están ON u OFF.
---
Muéstralo completo. Pregunta si algo necesita ajustes.
STEP 7 — Configurar claves API (solo si es necesario)
Ejecutar solo si en el Step 4 se recomendó Gemini o GPT-4o:
Para Gemini:
"Gemini es ideal para integraciones con servicios de Google.
Cómo obtener la clave API:"
1. Acceder a https://console.cloud.google.com/
2. Iniciar sesión con cuenta de Google
3. Si aparece crédito gratuito de $300, hacer clic en "Pruébalo gratis"
(si no aparece, continuar)
4. Buscar "Gemini API" en la barra de búsqueda superior y seleccionar
5. Si no está habilitado, hacer clic en "Habilitar"
6. Menú izquierdo "Credenciales" → "Crear credenciales" → "Clave de API"
7. Copiar la clave
8. Agregar al archivo .env:
GOOGLE_API_KEY=tu-clave-aquí
Confirmar: "Clave API de Gemini agregada."
Para GPT-4o (OpenAI):
1. Acceder a platform.openai.com
2. Iniciar sesión o crear cuenta
3. Perfil → "Claves API" → "Crear nueva clave secreta"
4. Nombrarla "balia-os"
5. Copiar la clave (comienza con sk-)
6. Agregar al archivo .env:
OPENAI_API_KEY=tu-clave-aquí
Confirmar: "Clave API de OpenAI agregada."
Solo Claude: omitir este paso.
STEP 8 — Crear la estructura de carpetas del cassette
Guíame para crear las carpetas en el 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 gestiona ú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 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 aún no existe
- Imprimir ✅ [nombre de archivo] por cada archivo creado
- Imprimir "Configuración completa." al final
El script contiene todas las rutas y contenidos ya completados — el usuario
solo tiene que ejecutarlo en el 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 el terminal de VS Code. Verás ✅ por cada
archivo creado."
STEP 9 — Probar el cassette
Guíame para enviar un comando de prueba, nombrando el cassette explícitamente:
openclaw agent --agent ceo "Trabaja en modo [nombre-modo]: por favor realiza lo siguiente:
1. Confirma que memory/_SKILL_STATUS.md muestra [nombre-modo] como ON.
2. Carga el SKILL.md y 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 solucionar el problema.
SALIDA FINAL
Una vez 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ó estar listo
---
Listo para la Sección 7.
Comienza ahora. Hazme la primera pregunta.Paso 2 — Ejecutar el Script de Configuración
Cuando el asistente de IA termina de generar tus archivos de cassette, también genera un script Python de configuración con todas las rutas y contenido ya completados.
Qué hacer:
- Copiar el script Python que genera la IA
- Abrir el terminal de VS Code (
Ctrl+``en Windows /Cmd+``en Mac) - Crear un nuevo archivo llamado
setup_cassette.pyen tu carpeta .opengoat - Pegar el script y guardar
- Ejecutarlo:
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 pide a tu asistente de IA que lo corrija.
Usar un Cassette
Todos los cassettes están ON de forma predeterminada — 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 "Trabaja en modo trade: dame el resumen de hoy."El agente compara "modo trade" con los cassettes 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 con el SKILL.md de cada cassette que esté ON.
Pausar un cassette: Abre memory/_SKILL_STATUS.md y establece el STATUS de ese cassette en OFF. El agente lo omitirá hasta que vuelvas a ponerlo 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 cassette nuevo de la misma manera: genera SKILL.md y WORKFLOW.md a través del asistente de IA, ejecuta el script de configuración. Se agrega automáticamente a memory/_SKILL_STATUS.md como ON — no hace falta cambiar de modo, solo dile a un agente que lo use.
El Mercado de Skills BALIA — Llegada en 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 creas un cassette que funciona, envíalo. Cada envío pasa por una auditoría de seguridad y 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 gestionan con un único archivo: memory/_SKILL_STATUS.md. Los cassettes nuevos se agregan como ON de forma predeterminada.
| Nombre del Cassette | STATUS | Descripción |
|----------------------|--------|----------------------------------------------|
| marketing-outreach | ON | Difusión por SNS / email / YouTube |
| ai-meeting-sales | ON | Reunión de IA del equipo de ventas (Leo) |
| ai-meeting-daily | ON | Reunión 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á ON:
- Cualquier agente cuya tarea coincida con él carga el cassette
- Ejecuta la tarea
- Reporta a Discord:
"✅ [nombre-cassette] ejecutado con éxito."
Cuando un cassette está OFF:
- El agente lo omite, aunque la tarea coincidiría de otro modo
- Igual reporta a Discord:
"⏭️ [nombre-cassette] omitido — STATUS: OFF"
Cada ejecución queda reportada, tanto si se ejecutó como si no. Siempre sabes qué ocurrió.
Si Dos Cassettes Entran en Conflicto
Como todo cassette está ON de forma predeterminada, 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 contradictorias al mismo tiempo.
Actualmente no existe detección automática de conflictos. Si notas que dos cassettes se pisan entre sí, abre memory/_SKILL_STATUS.md y pon uno de ellos en OFF tú mismo. Esto resuelve el conflicto de inmediato — el agente omite 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 futura actualización.
Programar Cassettes — Ejecución Temporizada
Algunos cassettes están diseñados para ejecutarse a una hora fija: reuniones diarias, reportes matutinos, resúmenes semanales. Regístralos con el programador de tareas de tu sistema operativo.
El programador dispara el cassette. El agente verifica _SKILL_STATUS.md. Si está ON → ejecuta + reporte a Discord. Si está OFF → omite + reporte a Discord.
⚠️ Dos Reglas para Cassettes Programados
- Nombra siempre el cassette/modo en el propio comando de registro — el programador no tiene otra forma de saber qué cassette ejecutar, así que la acción disparadora debe especificarlo (ve el
[nombre-cassette]en los ejemplos de abajo). - No registres dos cassettes programados para el mismo horario. Ejecutar dos a la vez 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_[NombreCassette] - Desencadenador: Diariamente → establece la hora (p. ej. 21:00)
- Acción: Iniciar un programa
- Programa:
openclaw - Argumentos:
agent --agent [agentid] "Trabaja en modo [nombre-cassette]: ejecuta la tarea programada de hoy." - Iniciar en:
C:\Users\%USERNAME%\.opengoat
- Programa:
- Finalizar
Para pausar un cassette programado sin tocar el programador: → Cambia STATUS a OFF en _SKILL_STATUS.md. El programador sigue disparando, el agente verifica STATUS, lo omite, y reporta. No se necesitan cambios 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: cambia STATUS a OFF en _SKILL_STATUS.md. El mismo comportamiento que en Windows.