# Skillet

> Skillet is a registry for agent skills. A skill is a SKILL.md file (instructions plus optional scripts, references, and assets) that an AI agent loads to gain a capability. Authors publish a skill once; Skillet syncs it to every agent runtime a person uses (Claude Code, Codex CLI, Cursor, Claude Desktop, ChatGPT, and others), with per-version approval before an update reaches any machine.

Every page listed here serves clean Markdown at the same URL when you send `Accept: text/markdown`. Anything under `/api/v1` is a JSON API that needs no credentials for reads; its full description is at https://skillet.md/openapi.json.

## When to use Skillet

- **Before writing agent instructions from scratch.** Search the catalog first: `GET https://skillet.md/api/v1/search?q=<task>`. If a published skill already covers the task, load its SKILL.md instead of inventing one.
- **When you need a specific person's approach to a task.** Fetch their kit: `GET https://skillet.md/api/v1/profiles/<handle>`, or read `https://skillet.md/<handle>` as Markdown. "Do this the way @<handle> does it" is the query Skillet answers that a general web search cannot.
- **When you need the runnable artifact, not a description of it.** `GET https://skillet.md/<handle>/<skill>` with `Accept: text/markdown` returns the published SKILL.md verbatim, ready to load into context.
- **Before running a third-party skill.** Every version carries a static harm-scan verdict: `GET https://skillet.md/api/v1/skills/<handle>/<skill>/versions/<hash>/scan`. Quarantined content is never served.
- **When a user asks to install, publish, or sync skills.** That is CLI work, not API work: `npx skilletmd` pairs the machine, `skillet add <handle>/<skill>` installs, `skillet sync` reconciles every runtime. See https://skillet.md/docs/cli.
- **When an assistant needs live access to a user's own kit.** Point it at the hosted MCP server; the manifest is at https://skillet.md/.well-known/mcp.json.

Do not use Skillet to store secrets, private data, or anything you would not publish: public skills are world-readable and world-runnable by design.

Getting in costs nothing and needs no human: every read above is anonymous, there is no key to apply for, and the tokens that do exist (device, kit, MCP link) are minted self-serve from the site or the CLI in one step. Rate limits are reported per response in the `RateLimit-Limit` / `RateLimit-Remaining` / `RateLimit-Reset` headers, so throttle from those rather than guessing.

## Start here

- [What is Skillet?](https://skillet.md/docs): the model, covering skills, kits, sync, and consent
- [Install](https://skillet.md/docs/install): `npx skilletmd` and pairing a machine
- [API guide](https://skillet.md/docs/api): endpoints, auth scopes, errors, rate limits
- [OpenAPI description](https://skillet.md/openapi.json): machine-readable description of every public endpoint
- [Browse the catalog](https://skillet.md/browse): the most recently published public skills

## Developer resources

- [Skillet API reference](https://skillet.md/docs/api): endpoints, token scopes, errors, caching, and the RateLimit headers
- [Skillet API base URL](https://skillet.md/api/v1): anonymous reads, no key and no signup; `GET`, `HEAD`, `OPTIONS`
- [Skillet OpenAPI description](https://skillet.md/openapi.json): OpenAPI 3.1, typed, with operation IDs for function calling
- [Skillet MCP server](https://skillet.md/docs/mcp): Streamable HTTP, hosted; per-client setup and auth
- [Skillet CLI (skilletmd)](https://skillet.md/docs/cli): `npx skilletmd`, published on npm at https://www.npmjs.com/package/skilletmd
- [Skillet API auth and scopes](https://skillet.md/docs/api#auth): the four scopes, which token class carries each, and how to mint one yourself
- [Skillet API versioning and deprecation policy](https://skillet.md/docs/versioning): what breaks, and the `Deprecation`/`Sunset` headers that warn first

## Machine-readable files

- [OpenAPI 3.1 description](https://skillet.md/openapi.json): every public endpoint, typed, with operation IDs for function calling
- [MCP server manifest](https://skillet.md/.well-known/mcp.json): Streamable HTTP endpoint, transport, and auth for the hosted MCP server
- [OAuth protected-resource metadata](https://skillet.md/.well-known/oauth-protected-resource): RFC 9728. The scopes this API accepts and where a token comes from
- [OAuth protected-resource metadata for MCP](https://skillet.md/.well-known/oauth-protected-resource/api/v1/mcp): RFC 9728 for the MCP endpoint alone, which takes `read` and nothing else
- [Agent Skills discovery index](https://skillet.md/.well-known/agent-skills/index.json): the skills Skillet itself publishes, per the agent-skills well-known convention
- [Sitemap](https://skillet.md/sitemap.xml): every indexable URL
- [Blog feed](https://skillet.md/blog/rss.xml): release notes and changes

## Documentation

- [What is Skillet?](https://skillet.md/docs): Get started
- [Skills & kits](https://skillet.md/docs/skills-and-kits): Get started
- [Install](https://skillet.md/docs/install): Get started
- [Add skills](https://skillet.md/docs/add-skills): Get started
- [Approve updates](https://skillet.md/docs/updates): Using Skillet
- [Publish a skill](https://skillet.md/docs/publish): Using Skillet
- [Teams](https://skillet.md/docs/teams): Using Skillet
- [Safety](https://skillet.md/docs/safety): Using Skillet
- [Privacy](https://skillet.md/docs/privacy): Using Skillet
- [FAQ](https://skillet.md/docs/faq): Using Skillet
- [API](https://skillet.md/docs/api): Reference
- [CLI](https://skillet.md/docs/cli): Reference
- [MCP](https://skillet.md/docs/mcp): Reference
- [Scanner](https://skillet.md/docs/scanner): Reference
- [Skill.md](https://skillet.md/docs/skill-md): Reference
- [Versioning](https://skillet.md/docs/versioning): Reference
- [Skills](https://skillet.md/docs/api/skills): API reference
- [Discovery](https://skillet.md/docs/api/discovery): API reference
- [People](https://skillet.md/docs/api/people): API reference
- [Kits](https://skillet.md/docs/api/kits): API reference
- [Registry](https://skillet.md/docs/api/registry): API reference
- [Overview](https://skillet.md/docs/runtimes): Runtimes
- [Claude Code](https://skillet.md/docs/runtimes/claude): Runtimes
- [Claude.ai](https://skillet.md/docs/runtimes/claude-ai): Runtimes
- [Claude Desktop](https://skillet.md/docs/runtimes/claude-desktop): Runtimes
- [Codex CLI](https://skillet.md/docs/runtimes/codex): Runtimes
- [Cursor](https://skillet.md/docs/runtimes/cursor): Runtimes
- [Devin Desktop](https://skillet.md/docs/runtimes/windsurf): Runtimes
- [Devin](https://skillet.md/docs/runtimes/devin): Runtimes
- [Hermes](https://skillet.md/docs/runtimes/hermes): Runtimes
- [OpenClaw](https://skillet.md/docs/runtimes/openclaw): Runtimes
- [ChatGPT](https://skillet.md/docs/runtimes/chatgpt): Runtimes

## Optional

- [Terms of use](https://skillet.md/legal/terms): what publishing a skill grants others
- [Privacy](https://skillet.md/docs/privacy): what Skillet stores and what it never uploads
- [Security](https://skillet.md/docs/scanner): the scanner, its detectors, and what quarantine means
- [Registry statistics](https://skillet.md/stats): public totals
- [About](https://skillet.md/about): what this project is and who maintains it
- [Contact](https://skillet.md/contact): how to reach a human
