
Skillscript — uma pequena linguagem declarativa para criar fluxos de trabalho de agentes. Runtime, compilador e CLI.
Automação segura e reutilizável criada por agentes.
TL;DR —
npm install -g skillscript-runtime && skillfile init && skillfile dashboard. Veja Início Rápido.
Skillscript surgiu da pergunta: como seria um Makefile se ele construísse habilidades em vez de binários? A resposta é uma linguagem restrita, inspirada no Make, e um runtime que transforma o raciocínio de um agente em automação persistente e inspecionável. O agente escreve a habilidade, você aprova o que ela pode fazer, e ela executa da mesma forma todas as vezes.
Ele foi construído para equipes que desejam que agentes criem e executem fluxos de trabalho recorrentes sem dar a eles acesso total ao shell, instalação arbitrária de pacotes ou controle direto de credenciais de produção.
Um agente escreve uma habilidade. Um humano revisa e aprova. O runtime a executa por meio de conectores configurados, listas de permissão e políticas de segurança.
npm install -g skillscript-runtime
skillfile init
skillfile dashboard
Em seguida, conecte seu agente ao MCP: http://localhost:7878/rpc e peça para ele criar uma habilidade.
Agentes geralmente redescobrem tarefas rotineiras do zero. Isso aumenta custo, latência e deriva comportamental.
Skillscript permite que um agente cristalize um procedimento aprendido em um artefato nomeado e reutilizável que pode ser:
Skillscript é apenas orquestração. O processamento fica dentro das ferramentas e conectores; as habilidades coordenam essas capacidades por meio de uma gramática declarativa pequena. Isso pode reduzir significativamente o uso de tokens de modelos de fronteira em fluxos de trabalho recorrentes: o custo de raciocínio é pago uma vez quando a habilidade é criada, e cada execução subsequente ocorre deterministicamente, com subtarefas rotineiras delegadas a modelos locais mais baratos.
Python e Bash continuam úteis para trabalho de implementação. O risco é permitir que scripts criados por agentes sejam executados sem supervisão com acesso irrestrito ao host.
Skillscript reduz essa superfície de execução:
eval ou escape de subprocessosO objetivo não é substituir scripts. É colocar scripts e APIs atrás de capacidades que o operador explicitamente expõe.
Há também uma razão de escala. Revisar código arbitrário significa auditar tudo o que ele pode fazer, o que exige um leitor qualificado. Uma skillscript coloca toda sua superfície de efeitos na página, para que a aprovação permaneça tratável mesmo quando agentes criam mais rápido do que qualquer um pode ler código, e o operador que sabe o que seus sistemas devem permitir pode aprovar com base nos efeitos declarados, em vez de reler a lógica.
Uma habilidade é um fluxo de trabalho declarativo e tipado com variáveis, operações, dependências e um template de saída.
# Skill: hello
# Status: Approved
# Description: Greet someone by name.
# Vars: WHO=world
Hello, ${WHO}!
Essa é uma habilidade completa e executável. O corpo é renderizado como sua saída.
Habilidades também podem chamar conectores, ramificar, fazer loops, executar outras habilidades, responder a eventos e executar em agendamentos:
# 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
O runtime recusará o comando shell e a gravação de arquivo até que o operador autorize o binário e o caminho.
Draft, inerte até que você a aprove.As habilidades podem desempenhar três papéis:
| Tipo | Finalidade |
|---|---|
| Autônoma | Executa de forma independente e envia saída para um sistema ou humano |
| Aumentativa | Prepara contexto para um agente de fronteira |
| Template | Fornece ao agente um procedimento reutilizável a seguir |
npm install -g skillscript-runtime
skillfile init
skillfile dashboard --host 127.0.0.1 --port 7878
Abra http://localhost:7878.
Use --host 0.0.0.0 apenas quando outro contêiner ou máquina precisar alcançar o runtime, e proteja o acesso externo exposto adequadamente.
{
"mcpServers": {
"skillscript": {
"type": "http",
"url": "http://localhost:7878/rpc"
}
}
}
Crie uma habilidade que cumprimente alguém pelo nome.
O agente escreve a habilidade via MCP. Aprove-a no dashboard ou na CLI:
skillfile approve hello
skillfile execute hello
As habilidades acessam sistemas externos por meio de conectores configurados, em vez de credenciais diretas. Os conectores podem expor ferramentas MCP, armazenamentos de dados, modelos locais, canais de entrega de agentes ou capacidades personalizadas do runtime.
Controles importantes do operador:
Os segredos são resolvidos pelo runtime e passados apenas para destinos aprovados. As habilidades não podem imprimir ou inspecionar seus valores brutos.
Consulte o guia de configuração e a referência 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
Execute skillfile <command> --help para opções.
Skillscript está em pré-1.0. A linguagem principal e os contratos de conectores estão se estabilizando; o trabalho de adoção e distribuição externa está em andamento.
Relatórios de bugs e solicitações de funcionalidades são bem-vindos através de Issues. Abra uma Issue antes de propor mudanças na gramática para que o design possa ser discutido primeiro.
MIT. Consulte LICENSE.
| Configuração | Padrão |
|---|
SKILLSCRIPT_SHELL_ALLOWLIST | negar todos os binários |
SKILLSCRIPT_FS_ALLOWLIST | negar todos os caminhos |
SKILLSCRIPT_SECURED_MODE | desligado |
SKILLSCRIPT_MAX_DEADLINE_SECONDS | não definido (sem teto) |
SKILLSCRIPT_SUPERVISOR_SKILL | não definido (desligado) |
SKILLSCRIPT_SECRET_<NAME> | não definido |