# Compatibility

HUSK is intentionally compatible with the broader Agent Skills format. The same skill folder can be a documentation skill and a HUSK HTTP service at the same time.

## Agent Skills

A HUSK manifest is a **superset** of the Agent Skills `SKILL.md` used by Claude Code, Codex, and Cursor: `name` + `description` + a Markdown body. A bare skill like that loads as a `mode: llm` skill (the body is the system prompt); add `run:` to make it a script, or `tools:` to give the model tools. HUSK ignores fields it does not recognize, so the same file stays a valid Agent Skill.

## What HUSK does not do

HUSK owns the transport and the execution, not the marketplace. It deliberately does **not**:

* host models - for `mode: llm` it calls your chosen provider over HTTP with **your** API key, bundling no model and no provider SDK,
* handle discovery, identity, or payments (`price`, `token`, `capabilities`),
* manage on-chain state or peer-to-peer file transfer.

:::tip
This split is the design. HUSK is the **husk** - the HTTP shell around a kernel, whether that kernel is a script or an LLM-with-tools. A marketplace or discovery protocol is a different shell around the same kernels. Your skill code does not change when you move between them.
:::

## Unknown fields are harmless

Because unknown frontmatter is preserved but ignored, you can keep `price`, `token`, `capabilities`, and other extra fields in a manifest and serve it with HUSK at the same time. The fields stay available for other tools; HUSK just does not act on them.
