
Skillscript — небольшой декларативный язык для создания агентных рабочих процессов. Среда выполнения, компилятор и CLI.
Безопасная, многократно используемая автоматизация, созданная агентами.
TL;DR —
npm install -g skillscript-runtime && skillfile init && skillfile dashboard. См. Быстрый старт.
Skillscript появился из вопроса: как бы выглядел Makefile, если бы он собирал навыки вместо двоичных файлов? Ответ — это ограниченный язык, вдохновлённый Make, и среда выполнения, которая превращает рассуждения агента в постоянную, проверяемую автоматизацию. Агент пишет навык, вы одобряете то, что он может делать, и он выполняется одинаково каждый раз.
Он создан для команд, которые хотят, чтобы агенты создавали и выполняли повторяющиеся рабочие процессы, не предоставляя им неограниченный доступ к оболочке, произвольную установку пакетов или прямой контроль над производственными учётными данными.
Агент пишет навык. Человек проверяет и одобряет его. Среда выполнения выполняет его через настроенные коннекторы, белые списки и политики безопасности.
npm install -g skillscript-runtime
skillfile init
skillfile dashboard
Затем подключите своего агента к MCP: http://localhost:7878/rpc и попросите его создать навык.
Агенты обычно восстанавливают рутинные задачи с нуля. Это увеличивает стоимость, задержку и поведенческий дрейф.
Skillscript позволяет агенту кристаллизовать изученную процедуру в именованный, многократно используемый артефакт, который можно:
Skillscript — это только оркестровка. Вычисления остаются внутри инструментов и коннекторов; навыки координируют эти возможности через небольшой декларативный синтаксис. Это может существенно сократить использование токенов frontier-модели в повторяющихся рабочих процессах: затраты на рассуждение оплачиваются один раз при создании навыка, а каждый последующий запуск выполняется детерминированно, при этом рутинные подзадачи передаются более дешёвым локальным моделям.
Python и Bash остаются полезными для реализации. Риск заключается в том, что скрипты, созданные агентом, будут выполняться без присмотра с неограниченным доступом к хосту.
Skillscript сужает эту поверхность выполнения:
eval или побега из подпроцессаЦель не заменить скрипты, а поместить скрипты и API за возможности, которые оператор явно предоставляет.
Есть также причина масштабирования. Проверка произвольного кода означает аудит всего, что он может сделать, что требует квалифицированного читателя. Skillscript помещает всю поверхность эффектов на страницу, поэтому одобрение остаётся выполнимым, даже когда агенты создают быстрее, чем кто-либо может прочесть код, и оператор, который знает, что его системы должны разрешать, может одобрять на основе объявленных эффектов, а не перечитывая логику.
Навык — это типизированный, декларативный рабочий процесс с переменными, операциями, зависимостями и шаблоном вывода.
# Skill: hello
# Status: Approved
# Description: Greet someone by name.
# Vars: WHO=world
Hello, ${WHO}!
Это полный, выполнимый навык. Тело преобразуется в его вывод.
Навыки также могут вызывать коннекторы, ветвиться, зацикливаться, запускать другие навыки, реагировать на события и выполняться по расписанию:
# 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
Среда выполнения откажется выполнять команду оболочки и запись файла, пока оператор не добавит двоичный файл и путь в белый список.
Draft (черновик), неактивный до утверждения.Навыки могут выполнять три роли:
| Вид | Назначение |
|---|---|
| Headless | Выполняется автономно и отправляет вывод системе или человеку |
| Augmenting | Подготавливает контекст для frontier-агента |
| Template | Предоставляет агенту многократно используемую процедуру для выполнения |
npm install -g skillscript-runtime
skillfile init
skillfile dashboard --host 127.0.0.1 --port 7878
Откройте http://localhost:7878.
Используйте --host 0.0.0.0 только когда другой контейнер или машина должна достичь среды выполнения, и защитите открытый доступ соответствующим образом.
{
"mcpServers": {
"skillscript": {
"type": "http",
"url": "http://localhost:7878/rpc"
}
}
}
Создай навык, который приветствует человека по имени.
Агент пишет навык через MCP. Одобрите его в панели управления или CLI:
skillfile approve hello
skillfile execute hello
Навыки получают доступ к внешним системам через настроенные коннекторы, а не напрямую через учётные данные. Коннекторы могут предоставлять инструменты MCP, хранилища данных, локальные модели, каналы доставки агентов или пользовательские возможности среды выполнения.
Важные элементы управления оператором:
Секреты обрабатываются средой выполнения и передаются только одобренным приёмникам. Навыки не могут печатать или просматривать их необработанные значения.
См. руководство по конфигурации и справочник коннекторов.
skillfile lint <skill>
skillfile compile <skill>
skillfile execute <skill>
skillfile approve <skill>
skillfile diagram <skill>
skillfile fires <skill>
skillfile replay <trace_id>
skillfile health
Выполните skillfile <command> --help для опций.
Skillscript находится в стадии pre-1.0. Основной язык и контракты коннекторов стабилизируются; внешнее внедрение и распространение продолжаются.
Баг-репорты и запросы функций приветствуются через Issues. Откройте Issue перед предложением изменений грамматики, чтобы можно было сначала обсудить дизайн.
MIT. См. LICENSE.
| Параметр | По умолчанию |
|---|
SKILLSCRIPT_SHELL_ALLOWLIST | запретить все двоичные файлы |
SKILLSCRIPT_FS_ALLOWLIST | запретить все пути |
SKILLSCRIPT_SECURED_MODE | выкл |
SKILLSCRIPT_MAX_DEADLINE_SECONDS | не задано (без предела) |
SKILLSCRIPT_SUPERVISOR_SKILL | не задано (выкл) |
SKILLSCRIPT_SECRET_<NAME> | не задано |