Turn any Agent Skill (SKILL.md) into a callable API via POST /run. Multi-model, stateful, open source.
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"}}'skrun init my-agent
cd my-agent
# Creates SKILL.md (instructions) + agent.yaml (config)skrun init --from-skill ./path-to-skill
# Reads SKILL.md, asks 2-3 questions, generates agent.yamlskrun dev
# ✓ Server running at http://localhost:3000
# POST /run ready — watching for changes...skrun test
# ✓ basic-test (output.score >= 0)
# 1 passed, 0 failedskrun deploy
# ✓ Validated → Built → Pushed
# 🚀 POST http://localhost:4000/api/agents/you/my-agent/runv0.1 ships with a local runtime. Cloud deploy is on the roadmap — the architecture is ready (
RuntimeAdapterinterface).
- 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)
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 |
# 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.exeinstead ofcurl, and use@input.jsonfor the body.
| 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 |
git clone https://github.com/skrun-dev/skrun.git
cd skrun
pnpm install && pnpm build && pnpm testSee CONTRIBUTING.md for conventions and setup.