What is HUSK
HTTP Universal Skill Kernel - turn a folder of agent skills into a working HTTP backend with one process.
HUSK takes a directory of skills and serves every one of them over HTTP. A skill is a folder with a SKILL.md manifest. Its kernel is either a script in any language - bash, Python, TypeScript, anything with a shebang - or an LLM that runs the skill and calls the tools you declare. Run one long-lived Bun process and every skill is a live endpoint. There is no SDK to import and nothing to rewrite: HUSK is the husk that wraps your kernel and publishes it as a service.
bun add -g @elisym/husk
husk init # creates ./skills with a starter skill
husk serve # every skill is now an HTTP endpoint on :3000curl -X POST http://localhost:3000/skills/uppercase --data 'hello'
# HELLOThree ideas
- A skill is a folder, not a plugin. The format is compatible with Agent Skills (Claude Code, Codex, Cursor): one
SKILL.mdmanifest, any language. Existing skill folders serve unchanged. - A script, or an LLM with tools. A skill is a script you wrote, or
mode: llm- where an LLM runs the skill using theSKILL.mdbody as its system prompt and calls the tools you declare. Same folder, same HTTP surface. - One long-lived node on Bun. Start the server and every skill is reachable over HTTP. The same folder also runs as a one-shot serverless function or inside a container with no redesign.
What HUSK is not
- Not a framework you code against - there is no SDK, no base class, no decorator. A skill is data plus a kernel.
- Not a model host - for
mode: llmskills HUSK calls your chosen provider with your API key; it bundles no model and no provider SDK. - Not a marketplace - HUSK is the HTTP shell. Discovery, payments, and identity live in separate protocols, not here.
Pick your path
- Build a skill - start with the anatomy of a skill, then a script kernel or an LLM skill with tools.
- Serve & deploy - run the HTTP server, then ship the same skills as a function or a container.
- Embed the engine - drive the loader and the fetch handler yourself with the
husk-corelibrary.
Reading this as an automated agent? The docs expose an MCP source - use the "Ask AI" button, or fetch
/llms-full.txtfor the full text.