skills/
Skills live at skills/<name>/SKILL.md. They are procedures or reference
material loaded on demand, not always-on prompt text. Add a skill when guidance
is useful only sometimes, or when the agent should improve by editing skills.
There is no defineSkill — the SKILL.md file is the whole contract:
mkdir -p skills/note-taking
$EDITOR skills/note-taking/SKILL.md
Minimal Example
---
description: Capture durable notes for the user
allowed-tools: [record_note]
---
# Note Taking
Use this skill when the user shares a fact, preference, or decision that should
outlive the conversation.
Full Options
Frontmatter is the skill's entire option surface:
| Key | Type / values | Default | Effect |
|---|---|---|---|
description | string | Skill <name> | Model-facing summary in the compact skill index; drives skill selection. |
allowed-tools | string[] | — | Tools the procedure is expected to use. |
tags | string[] | — | Discovery tags in the capability catalog. |
aliases | string[] | — | Alternate names for capability lookup. |
The body below the frontmatter is the skill's trusted instructions, loaded at
the same trust level as instructions.md when the skill is selected.
How Skills Load
Runs see a compact skill index up front: names, descriptions, aliases, tags, and
paths. The full body is loaded only when selected through the model-facing
load_skill tool or host-driven loadSkill(runId, skillName) API.
If a sandbox already exists, the selected skill may also be projected into
/skills/<name>/SKILL.md for filesystem inspection.
Self-Improvement
Self-improvement means the agent can author and edit its own skills as it learns
procedures. Skills are writable by default (selfImprovement.writable defaults
to true); configure it in agent.ts to require approval or
turn writing off:
export default defineAgent({
id: "research-agent",
model: "openai/gpt-5.4-mini",
selfImprovement: {
writable: true,
writeApproval: false
}
});
Compiled skills/ seed a durable skill store. Redeploys upgrade pristine seeded
skills and preserve skills that the agent or user changed. When
selfImprovement.writable is off, /skills writeback is blocked and the skill
surface is fully static.
Conventions
- Keep skills focused on repeatable procedures.
- Put durable product data in memory or state, not in skill bodies.
- Prefer a short
descriptionthat helps the model choose the skill. - Keep
allowed-toolsaligned with the tools the procedure actually needs.