
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는 오케스트레이션 전용입니다. 계산은 도구와 커넥터 내에서 이루어지며, 스킬은 작은 선언적 문법을 통해 이러한 기능을 조정합니다. 이는 반복 워크플로우에서 프론티어 모델 토큰 사용을 의미 있게 줄일 수 있습니다: 추론 비용은 스킬이 작성될 때 한 번만 지불되고, 이후 각 실행은 결정론적으로 실행되며 일상적인 하위 작업은 더 저렴한 로컬 모델에 위임됩니다.
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 | 프론티어 에이전트를 위한 컨텍스트 준비 |
| 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는 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> | 설정되지 않음 |