SKILL.md file. That file tells an AI agent what the skill does, when to use it, and how to invoke it.
Anatomy of a skill
SKILL.md
The only required file. Written in plain markdown. Contains:- What the skill does (a short description)
- When to use it (trigger phrases or conditions)
- How to invoke it (commands, arguments, examples)
Scripts (optional)
If a skill needs to run code, it includes an executable. Any language works — shell, Python, Node, Go binary. The contract is simple:- Input: command-line arguments and/or stdin
- Output: stdout (text the agent reads back)
- Errors: stderr and non-zero exit codes
Skills vs MCP servers
| SCP Skill | MCP Server | |
|---|---|---|
| What you ship | A directory with markdown + scripts | A running process with JSON-RPC |
| Runtime | None (agent reads files, runs CLIs) | Long-running server process |
| Protocol | Filesystem + stdin/stdout | JSON-RPC 2.0 over stdio or HTTP |
| Discovery | Agent reads SKILL.md | Client calls tools/list |
| Dependencies | Whatever your script needs | SDK + transport + lifecycle |
| Installation | Copy a folder | Configure + start a server |
Design principles
- Files over protocols — A skill is data the agent reads, not a service it connects to.
- CLI over RPC — When code needs to run, use standard Unix conventions.
- Markdown over schemas — Natural language descriptions are what LLMs understand best.
- Simple over complete — Cover the 90% case. Don’t build abstractions for edge cases.