메뉴
HN
Hacker News 52일 전

에이전트 스킬을 즉시 API로 배포하는 도구, Skrun

IMP
7/10
핵심 요약

오픈소스 도구인 Skrun은 에이전트의 동작 지침인 SKILL.md 파일을 읽어와 POST 요청으로 바로 실행할 수 있는 API 형태로 배포해 줍니다. 여러 AI 모델을 지원하고 상태를 유지할 수 있으며, CLI 환경에서 간편하게 에이전트를 생성, 테스트 및 배포할 수 있는 것이 특징입니다. 개발자가 별도의 복잡한 백엔드 구축 없이도 AI 에이전트 기능을 서비스에 쉽고 빠르게 연동할 수 있도록 돕는 유용한 툴입니다.

번역된 본문

에이전트 스킬(SKILL.md)을 POST /run 요청으로 호출 가능한 API로 변환해 주는 오픈소스 도구입니다. 다양한 AI 모델을 지원하고(Multi-model), 실행 상태를 유지(Stateful)할 수 있습니다.

빠른 시작 (Quick Start) npm install -g @skrun-dev/cli

기존 스킬 불러오기 → 배포 → 호출하기

skrun init --from-skill ./my-skill skrun deploy

curl -X POST localhost:4000/api/agents/dev/my-skill/run
-H "Authorization: Bearer "
-H "Content-Type: application/json"
-d '{"input": {"query": "이 내용 분석해 줘"}}'

시작하기 새 에이전트 생성 skrun init my-agent cd my-agent

SKILL.md (명령어 지침) 및 agent.yaml (설정 파일)이 생성됩니다.

기존 스킬 불러오기 skrun init --from-skill ./path-to-skill

SKILL.md를 읽고 2~3개의 질문을 거쳐 agent.yaml 파일을 자동 생성합니다.

로컬 개발 및 테스트 skrun dev

✓ 서버 실행 중: http://localhost:3000

POST /run 준비 완료 — 파일 변경 사항을 감지하는 중...

skrun test

✓ basic-test (output.score >= 0)

1 통과, 0 실패

배포하기 skrun deploy

✓ 검증 완료 → 빌드 완료 → 푸시 완료

🚀 POST http://localhost:4000/api/agents/you/my-agent/run

현재 v0.1은 로컬 런타임을 기반으로 출시되었습니다. 클라우드 배포 기능은 향후 로드맵에 포함되어 있으며, 관련 아키텍처(RuntimeAdapter 인터페이스)는 이미 준비된 상태입니다.

핵심 개념

  • 에이전트 스킬(Agent Skills): SKILL.md 표준을 따르며, Claude Code, Copilot, Codex와 호환됩니다.
  • agent.yaml: 런타임 설정 파일로 모델, 입출력, 권한, 상태, 테스트 등을 정의합니다.
  • POST /run: 모든 에이전트는 곧 API입니다. 타입이 지정된 입력을 받고 구조화된 출력을 반환합니다.
  • 멀티 모델(Multi-model): Anthropic, OpenAI, Google, Mistral, Groq를 지원하며 자동 폴백(Fallback) 기능을 제공합니다.
  • 상태 유지(Stateful): 키-값(Key-Value) 상태 저장소를 통해 여러 번의 실행에 걸쳐 에이전트가 정보를 기억합니다.
  • 도구 호출(Tool calling): 두 가지 방식을 지원합니다. 첫째, CLI 도구(scripts/ 디렉토리에 직접 작성하여 에이전트에 번들링), 둘째, MCP 서버(npx 명령어를 사용하며 Claude Desktop과 동일한 표준 생태계 활용).

데모 에이전트 모든 예시는 기본적으로 Google Gemini Flash 모델을 사용합니다. agent.yaml 파일의 model 섹션을 수정하여 지원되는 다른 공급자로 변경할 수 있습니다.

  • code-review: 스킬을 불러와 코드 품질 검사 API로 활용하는 예시
  • pdf-processing: 로컬 스크립트를 활용한 도구 호출 예시
  • seo-audit: 상태 유지 기능 예시 — 두 번 실행하면 이전 데이터를 기억하고 비교합니다.
  • data-analyst: 타입이 지정된 입출력 예시 — CSV를 입력받아 구조화된 인사이트를 도출합니다.
  • email-drafter: 비즈니스 활용 사례 — 개발자가 아닌 사용자도 API를 호출하여 사용합니다.
  • web-scraper: MCP 서버 예시 — @playwright/mcp를 통한 헤드리스 브라우저 제어

예제 실행해 보기

1. 레지스트리(Registry) 실행

cp .env.example .env # GOOGLE_API_KEY를 추가하세요. pnpm dev:registry # 이 터미널은 그대로 두세요.

2. 다른 터미널을 열어 아래 명령어 실행

skrun login --token dev-token cd examples/code-review skrun build && skrun push

3. 에이전트 API 호출

curl -X POST http://localhost:4000/api/agents/dev/code-review/run
-H "Authorization: Bearer dev-token"
-H "Content-Type: application/json"
-d '{"input": {"code": "function add(a,b) { return a + b; }"}}'

Windows(PowerShell) 환경에서는 curl 대신 curl.exe를 사용하시고, 본문에는 @input.json 파일을 사용하세요.

CLI 명령어 안내

  • skrun init [dir]: 새로운 에이전트 생성
  • skrun init --from-skill : 기존 스킬 가져오기
  • skrun dev: POST /run이 활성화된 로컬 서버 실행
  • skrun test: 에이전트 테스트 실행
  • skrun build: .agent 번들 파일로 패키징
  • skrun deploy: 빌드, 푸시 후 라이브 URL 생성
  • skrun push / pull: 레지스트리에 업로드 및 다운로드
  • skrun login / logout: 인증 관리
  • skrun logs : 실행 로그 확인

전체 CLI 참조 보기 및 문서화

  • agent.yaml 스펙
  • CLI 참조 문서

기여하기 (Contributing) git clone https://github.com/skrun-dev/skrun.git cd skrun pnpm install && pnpm build && pnpm test 자세한 규약과 설정 방법은 CONTRIBUTING.md를 참조해 주세요.

라이선스 MIT

원문 보기
원문 보기 (영어)
Turn any Agent Skill (SKILL.md) into a callable API via POST /run . Multi-model, stateful, open source. Quick Start npm install -g @skrun-dev/cli # Import an existing skill → deploy → call skrun init --from-skill ./my-skill skrun deploy curl -X POST localhost:4000/api/agents/dev/my-skill/run \ -H " Authorization: Bearer <token> " \ -H " Content-Type: application/json " \ -d ' {"input": {"query": "analyze this"}} ' Get Started Create a new agent Import an existing skill Develop & test locally Deploy Create a new agent skrun init my-agent cd my-agent # Creates SKILL.md (instructions) + agent.yaml (config) Import an existing skill skrun init --from-skill ./path-to-skill # Reads SKILL.md, asks 2-3 questions, generates agent.yaml Develop locally skrun dev # ✓ Server running at http://localhost:3000 # POST /run ready — watching for changes... skrun test # ✓ basic-test (output.score >= 0) # 1 passed, 0 failed Deploy skrun deploy # ✓ Validated → Built → Pushed # 🚀 POST http://localhost:4000/api/agents/you/my-agent/run v0.1 ships with a local runtime. Cloud deploy is on the roadmap — the architecture is ready ( RuntimeAdapter interface). Key Concepts Agent Skills — SKILL.md standard, compatible with Claude Code, Copilot, Codex agent.yaml — Runtime config: model, inputs/outputs, permissions, state, tests POST /run — Every agent is an API. Typed inputs, structured outputs. Multi-model — Anthropic, OpenAI, Google, Mistral, Groq with automatic fallback Stateful — Agents remember across runs via key-value state Tool calling — Two approaches: CLI tools ( scripts/ — write your own, bundled with the agent) and MCP servers ( npx — standard ecosystem , same as Claude Desktop) Demo Agents All examples use Google Gemini Flash by default. Change the model section in agent.yaml to use any supported provider . Agent What it shows code-review Import a skill, get a code quality API pdf-processing Tool calling with local scripts seo-audit Stateful — run twice, it remembers and compares data-analyst Typed I/O — CSV in, structured insights out email-drafter Business use case — non-dev API consumer web-scraper MCP server — headless browser via @playwright/mcp Try an example # 1. Start the registry cp .env.example .env # add your GOOGLE_API_KEY pnpm dev:registry # keep this terminal open # 2. In another terminal skrun login --token dev-token cd examples/code-review skrun build && skrun push # 3. Call the agent curl -X POST http://localhost:4000/api/agents/dev/code-review/run \ -H " Authorization: Bearer dev-token " \ -H " Content-Type: application/json " \ -d ' {"input": {"code": "function add(a,b) { return a + b; }"}} ' Windows (PowerShell): use curl.exe instead of curl , and use @input.json for the body. CLI Command Description skrun init [dir] Create a new agent skrun init --from-skill <path> Import existing skill skrun dev Local server with POST /run skrun test Run agent tests skrun build Package .agent bundle skrun deploy Build + push + live URL skrun push / pull Registry upload/download skrun login / logout Authentication skrun logs <agent> Execution logs Full CLI reference → Documentation agent.yaml specification CLI reference Contributing Contributing git clone https://github.com/skrun-dev/skrun.git cd skrun pnpm install && pnpm build && pnpm test See CONTRIBUTING.md for conventions and setup. License MIT