Go Agent Skill Runtime
114 built-in functions.
One runtime. Zero glue code.
Stop wiring HTTP calls, file ops, and crypto from scratch every time your agent needs a new skill. Go Agent Skill Runtime gives your AI agents a solid foundation of tested, composable functions — all returning structured JSON that LLMs consume natively.
Built-in Functions
Everything your agent needs, out of the box
114 functions across 10 categories. Each one returns structured JSON. Build once, use everywhere.
HTTP & Networking
GET, POST, PUT, DELETE with custom headers. Talk to any API without external dependencies.
File Operations
Read, write, list, delete. Your agent manages files directly — no shell required.
String & Regex
Split, join, trim, match, replace, and 15+ more. Handle any text processing task.
Crypto & Encoding
MD5, SHA-256, Base64, URL encoding, HTML escaping. Security primitives baked in.
Math & Time
Round, floor, avg, timestamps, date parsing, formatting. Calculations and scheduling covered.
System & Environment
OS info, hostname, env vars, exec commands. Your agent understands where it runs.
Builder's perspective
Stop reinventing. Start extending.
Why build your own tool layer?
Agents that depend on prompt-only approaches break when they need to actually do things reliably. Go Agent Skill Runtime is the infrastructure layer that makes agent execution deterministic.
Solid ground, not quicksand
Every function is tested and returns predictable JSON. Your agent skills stand on a foundation you control — not a third-party abstraction that changes under you.
Composable by design
Small functions that chain together. An agent can http_get, then json_parse, then regex_match — each step returns clean JSON for the next.
Your tools, your rules
Open source runtime you compile and ship. No vendor lock-in, no API rate limits on your own built-ins, no surprises in production.
Package. Validate. Distribute.
Build a skill once, package it with skill-pack, validate with skill-validate, and distribute it across agents and teams.
skill-validate
Checks your skill bundle has valid SKILL.md metadata, correct directory structure, and required scripts.
skill-pack
Zips your skill into a distributable package. Skips .git, node_modules, and other noise automatically.
JSON-first output
Every function returns {"result": ...} on success and {"status": "error", ...} on failure. No parsing. No guessing.
Get started in minutes
Step 1: Download the binary
Pre-compiled binaries for risor-runner, skill-pack, and skill-validate. No build step needed.
Step 2: Write a skill script
Use the functional Risor scripting style. Chain built-in functions to accomplish your task. Save it as a .risor file.
Step 3: Run it
Pass your script with the --file flag. Get structured JSON back. Wire it into your agent.
Ready to distribute?
Add a SKILL.md with metadata, validate, pack, and share your skill bundle.
Questions
Why Risor and not Lua, Starlark, or plain Go?
Risor gives us a functional scripting style that keeps skills small and composable, with native Go interop. No variable assignment or loops means scripts stay declarative and easy to reason about.
Can I add my own built-in functions?
Yes. The runtime is a single Go file. Add a function, register it with risor.WithGlobal(), rebuild, and it is available to all your skills.
What does "JSON-first" mean in practice?
Every function returns structured JSON — {"result": ...} on success, {"status": "error", "error": "..."} on failure. Your LLM reads the output directly without parsing human-readable text.
How is this different from LangChain tools or similar?
Go Agent Skill Runtime is a standalone binary you compile and own. No Python dependency, no framework lock-in, no API calls for basic operations. Your agent calls the runtime, gets JSON back.
Build skills that last
Stop writing throwaway glue code. Give your agents a runtime they can rely on.