Anatomy of a SKILL.md
Every capability requires aSKILL.md file. It has two parts: YAML frontmatter (machine-readable metadata) and a markdown body (LLM-readable instructions).
Frontmatter Fields
Field Reference
| Field | Required | Description |
|---|---|---|
name | Yes | Unique identifier for the capability |
version | No | Semantic version for update logic |
description | Yes | Short description shown in tool definitions |
triggers | Yes | Keywords for relevance matching. Use "*" for always-on (see below) |
tools | No | JSON Schema tool definitions for the LLM API |
danger_patterns | No | Regex patterns that amygdala will block |
confirm_patterns | No | Regex patterns that amygdala will require approval for |
requires | No | Other capabilities this one depends on |
Always-On Triggers
Use the wildcard"*" as a trigger to make a skill inject on every message, regardless of what the user says:
Always-on triggers only affect pure skills (no
tools defined). Plugin capabilities with tools are always visible in the <tools> section regardless of triggers.Tools Schema
Thetools array follows the standard JSON Schema format used by LLM tool-calling APIs. Each tool needs a name, description, and parameters object.
Danger and Confirm Patterns
These are regex patterns matched againsttoolName + " " + JSON.stringify(args). The amygdala uses them to gate tool calls.
- danger_patterns: Matched calls are blocked. The LLM receives a denial message.
- confirm_patterns: Matched calls trigger an approval dialog in the UI. The user must approve before execution.
Pure Skills (No Plugin)
A capability withtools: [] (or no tools field) is a pure skill. It has no plugin code and no callable tools — only the markdown body, which is injected into a <skills> section in the system prompt when the skill’s triggers match.
Pure skills guide the LLM’s behaviour without adding new tools. Use them for:
- Planning discipline — force the agent to plan before executing multi-step tasks
- Output formatting — enforce structured responses, language preferences, or tone
- Procedure guides — teach the agent how to use existing tools for specific workflows (e.g. git operations via
shell_exec) - Safety rules — add constraints that apply across all tool usage
<tools> section automatically. Pure skills appear in the <skills> section only when triggered. The two sections are independent — a message can activate both.
Markdown Body
Everything below the frontmatter--- is the markdown body. The LLM reads this at runtime when the capability is relevant. Write it as direct instructions to the LLM: