
Skillscript — un pequeño lenguaje declarativo para crear flujos de trabajo de agentes. Runtime, compilador y CLI.
Automatización segura y reutilizable creada por agentes.
skillscript.ai • documentación
Resumen —
npm install -g skillscript-runtime && skillfile init && skillfile dashboard. Ver Inicio rápido.
Skillscript surgió de preguntarse: ¿qué aspecto tendría un Makefile si en lugar de binarios construyera habilidades? La respuesta es un lenguaje restringido, inspirado en Make, y un runtime que convierte el razonamiento de un agente en automatización persistente e inspeccionable. El agente escribe el skill, tú apruebas lo que puede hacer, y se ejecuta igual cada vez.
Está construido para equipos que desean que los agentes creen y ejecuten flujos de trabajo recurrentes sin darles acceso irrestricto al shell, instalación arbitraria de paquetes o control directo de credenciales de producción.
Un agente escribe un skill. Un humano lo revisa y lo aprueba. El runtime lo ejecuta a través de conectores configurados, listas blancas y políticas de seguridad.
npm install -g skillscript-runtime
skillfile init
skillfile dashboard
Luego conecta tu agente al MCP: http://localhost:7878/rpc y pídele que cree un skill.
Los agentes suelen volver a derivar tareas rutinarias desde cero. Eso incrementa el costo, la latencia y la deriva de comportamiento.
Skillscript permite que un agente cristalice un procedimiento aprendido en un artefacto con nombre, reutilizable, que puede ser:
Skillscript es solo orquestación. El cómputo permanece dentro de herramientas y conectores; los skills coordinan esas capacidades a través de una pequeña gramática declarativa. Esto puede reducir significativamente el uso de tokens de modelos frontera en flujos de trabajo recurrentes: el costo de razonamiento se paga una vez cuando se crea el skill, y cada ejecución posterior se realiza de forma determinista, con sub-tareas rutinarias entregadas a modelos locales más económicos.
Python y Bash siguen siendo útiles para trabajo de implementación. El riesgo es permitir que scripts creados por agentes se ejecuten sin supervisión con acceso irrestricito al host.
Skillscript reduce esa superficie de ejecución:
eval o escape de subprocesosEl objetivo no es reemplazar scripts. Es colocar scripts y APIs detrás de capacidades que el operador expone explícitamente.
También hay una razón de escalabilidad. Revisar código arbitrario significa auditar todo lo que podría hacer, lo que requiere un lector experto. Un skillscript expone toda su superficie de efectos en la página, por lo que la aprobación sigue siendo manejable incluso cuando los agentes crean más rápido de lo que cualquiera puede leer código, y el operador que sabe lo que sus sistemas deberían permitir puede aprobar basándose en los efectos declarados en lugar de releyendo la lógica.
Un skill es un flujo de trabajo declarativo y tipado con variables, operaciones, dependencias y una plantilla de salida.
# Skill: hello
# Status: Approved
# Description: Greet someone by name.
# Vars: WHO=world
Hello, ${WHO}!
Eso es un skill completo y ejecutable. El cuerpo se renderiza como su salida.
Los skills también pueden llamar conectores, bifurcar, iterar, ejecutar otros skills, responder a eventos y ejecutarse según horarios:
# Skill: daily-disk-check
# Status: Approved
# Triggers: cron:"0 6 * * *"
# Autonomous: true
Snapshot written for ${NOW}.
snapshot:
shell(command="df -h --output=source,pcent,target") -> USAGE
file_write(
path="/var/log/skillscript/disk-${EVENT.fired_at_unix}.txt",
content="${USAGE}"
)
default: snapshot
El runtime rechazará el comando de shell y la escritura de archivo hasta que el operador ponga en lista blanca el binario y la ruta.
Draft, inerte hasta que lo apruebes.Los skills pueden desempeñar tres roles:
| Tipo | Propósito |
|---|---|
| Autónomo | Se ejecuta de forma autónoma y envía la salida a un sistema o humano |
| Aumento | Prepara contexto para un agente frontera |
| Plantilla | Proporciona a un agente un procedimiento reutilizable a seguir |
npm install -g skillscript-runtime
skillfile init
skillfile dashboard --host 127.0.0.1 --port 7878
Abre http://localhost:7878.
Usa --host 0.0.0.0 solo cuando otro contenedor o máquina necesite alcanzar el runtime, y protege la entrada expuesta adecuadamente.
{
"mcpServers": {
"skillscript": {
"type": "http",
"url": "http://localhost:7878/rpc"
}
}
}
Crea un skill que salude a alguien por su nombre.
El agente escribe el skill a través de MCP. Aprueba en el dashboard o CLI:
skillfile approve hello
skillfile execute hello
Los skills acceden a sistemas externos a través de conectores configurados, no mediante credenciales directas. Los conectores pueden exponer herramientas MCP, almacenes de datos, modelos locales, canales de entrega de agentes o capacidades personalizadas del runtime.
Controles importantes del operador:
Los secretos son resueltos por el runtime y pasados solo a sumideros aprobados. Los skills no pueden imprimir ni inspeccionar sus valores sin procesar.
Consulta la guía de configuración y la referencia de conectores.
skillfile lint <skill>
skillfile compile <skill>
skillfile execute <skill>
skillfile approve <skill>
skillfile diagram <skill>
skillfile fires <skill>
skillfile replay <trace_id>
skillfile health
Ejecuta skillfile <command> --help para opciones.
Skillscript está en pre-1.0. El lenguaje central y los contratos de conectores se están estabilizando; el trabajo de adopción y distribución externa sigue en curso.
Los informes de errores y las solicitudes de funciones son bienvenidos a través de Issues. Abre un Issue antes de proponer cambios en la gramática para que el diseño pueda discutirse primero.
MIT. Ver LICENCIA.
| Configuración | Por defecto |
|---|
SKILLSCRIPT_SHELL_ALLOWLIST | denegar todos los binarios |
SKILLSCRIPT_FS_ALLOWLIST | denegar todas las rutas |
SKILLSCRIPT_SECURED_MODE | desactivado |
SKILLSCRIPT_MAX_DEADLINE_SECONDS | sin definir (sin límite) |
SKILLSCRIPT_SUPERVISOR_SKILL | sin definir (desactivado) |
SKILLSCRIPT_SECRET_<NAME> | sin definir |