
skillscript v0.39.1
Skillscript — 에이전트 워크플로우를 작성하기 위한 작은 선언형 언어입니다. 런타임, 컴파일러 및 CLI.
안전하고 재사용 가능한 자동화, 에이전트가 작성합니다.
TL;DR —
npm install -g skillscript-runtime && skillfile init && skillfile dashboard. 자세한 내용은 빠른 시작을 참조하세요.
Skillscript란 무엇인가요?
Skillscript는 이런 질문에서 시작되었습니다: Makefile이 바이너리 대신 스킬을 빌드한다면 어떻게 생겼을까? 그 결과는 Make에서 영감을 받은 제한된 언어와, 에이전트의 추론을 지속 가능하고 검사 가능한 자동화로 변환하는 런타임입니다. 에이전트가 스킬을 작성하고, 당신이 그 스킬이 할 수 있는 일을 승인하며, 매번 동일한 방식으로 실행됩니다.
이 도구는 에이전트가 반복 작업을 생성하고 실행할 수 있도록 하면서도 무제한 셸 액세스, 임의 패키지 설치 또는 프로덕션 자격 증명에 대한 직접 통제를 허용하지 않기를 원하는 팀을 위해 설계되었습니다.
에이전트가 스킬을 작성합니다. 사람이 검토하고 승인합니다. 런타임은 설정된 커넥터, 허용 목록 및 보안 정책을 통해 이를 실행합니다.
npm install -g skillscript-runtime
skillfile init
skillfile dashboard
그런 다음 에이전트를 MCP에 연결하세요: http://localhost:7878/rpc 그리고 스킬을 작성하도록 요청하세요.
왜 사용해야 하나요?
에이전트는 보통 일상적인 작업을 매번 처음부터 다시 도출합니다. 이는 비용, 지연 시간 및 행동 변화를 증가시킵니다.
Skillscript를 사용하면 에이전트가 학습한 절차를 명명된 재사용 가능한 아티팩트로 구체화할 수 있습니다. 이 아티팩트는 다음과 같은 기능을 제공합니다:
- 전체 작업을 다시 계획하지 않고도 반복적으로 실행 가능
- 인간이 검사하고 버전 관리 가능
- 허용되기 전에 검증 가능
- 승인된 도구, 파일, 명령어 및 자격 증명으로 제한 가능
- 다른 스킬과 조합 가능
Skillscript는 오케스트레이션 전용입니다. 계산은 도구와 커넥터 내에서 이루어지며, 스킬은 작은 선언적 문법을 통해 이러한 기능을 조정합니다. 이는 반복 워크플로우에서 프론티어 모델 토큰 사용을 의미 있게 줄일 수 있습니다: 추론 비용은 스킬이 작성될 때 한 번만 지불되고, 이후 각 실행은 결정론적으로 실행되며 일상적인 하위 작업은 더 저렴한 로컬 모델에 위임됩니다.
왜 Python이나 Bash가 아닌가요?
Python과 Bash는 구현 작업에 여전히 유용합니다. 문제는 에이전트가 작성한 스크립트가 호스트에 대한 무제한 액세스 권한으로 무인 실행되도록 허용하는 데 있습니다.
Skillscript는 다음과 같이 실행 표면을 좁힙니다:
- 임의 import, 패키지 설치,
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
런타임은 운영자가 바이너리와 경로를 허용 목록에 추가할 때까지 셸 명령어와 파일 쓰기를 거부합니다.
작동 방식
- 작성: MCP에 연결된 에이전트가 사용 가능한 도구를 발견하고 스킬을 작성한 후 린트합니다. 보안 모드에서는
Draft상태로 도착하며, 승인할 때까지 비활성 상태입니다. - 검토: 사람이 스킬을 검사하고 승인합니다. 보안 모드에서는 승인된 콘텐츠에 운영자가 보유한 키로 서명합니다.
- 실행: 스킬이 CLI, MCP, cron, HTTP 이벤트 또는 다른 스킬을 통해 실행됩니다.
- 관찰: 런타임이 추적, 출력, 실패 및 차단된 작업을 기록합니다.
스킬은 세 가지 역할을 수행할 수 있습니다:
| 종류 | 목적 |
|---|---|
| Headless | 자율적으로 실행되고 출력을 시스템이나 사람에게 전송 |
| Augmenting | 프론티어 에이전트를 위한 컨텍스트 준비 |
| Template | 에이전트가 따를 재사용 가능한 절차 제공 |
빠른 시작
1. 런타임 설치 및 시작
npm install -g skillscript-runtime
skillfile init
skillfile dashboard --host 127.0.0.1 --port 7878
http://localhost:7878을 여십시오.
다른 컨테이너나 머신이 런타임에 접근해야 하는 경우에만 --host 0.0.0.0을 사용하고, 노출된 인그레스를 적절히 보호하십시오.
2. MCP 서버를 에이전트에 추가
{
"mcpServers": {
"skillscript": {
"type": "http",
"url": "http://localhost:7878/rpc"
}
}
}
3. 에이전트에게 스킬 빌드 요청
이름으로 인사하는 스킬을 작성해 줘.
에이전트가 MCP를 통해 스킬을 작성합니다. 대시보드나 CLI에서 승인하세요:
skillfile approve hello
skillfile execute hello
커넥터 및 보안
스킬은 직접 자격 증명을 사용하는 대신 설정된 커넥터를 통해 외부 시스템에 접근합니다. 커넥터는 MCP 도구, 데이터 저장소, 로컬 모델, 에이전트 전달 채널 또는 사용자 정의 런타임 기능을 노출할 수 있습니다.
중요한 운영자 제어 항목:
| 설정 | 기본값 |
|---|---|
SKILLSCRIPT_SHELL_ALLOWLIST | 모든 바이너리 차단 |
SKILLSCRIPT_FS_ALLOWLIST | 모든 경로 차단 |
SKILLSCRIPT_SECURED_MODE | 꺼짐 |
SKILLSCRIPT_MAX_DEADLINE_SECONDS | 설정되지 않음 (상한 없음) |
SKILLSCRIPT_SUPERVISOR_SKILL | 설정되지 않음 (꺼짐) |
SKILLSCRIPT_SECRET_<NAME> | 설정되지 않음 |
비밀은 런타임에 의해 해석되며 승인된 싱크에만 전달됩니다. 스킬은 원시 값을 출력하거나 검사할 수 없습니다.
일반 명령어
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를 참조하세요.