Skip to main content

Overview

Skills are markdown files with YAML frontmatter that inject additional context, instructions, or tools into the agent loop when a message matches. They let you extend an agent’s capabilities for specific topics without modifying its core persona. When a message matches a skill, the skill’s markdown body is appended to the system prompt for that turn.

Skill File Format

Skills are stored in the agent’s skills/ directory. Two layouts are supported:
  • Flat file: skills/my-skill.md
  • Directory (preferred): skills/my-skill/SKILL.md — allows bundling reference files alongside the skill

Basic Structure


Frontmatter Fields

string
required
Human-readable skill name shown in skill listings.
string
required
One-line description shown in the Captain Dashboard and skill catalog.
array
Keywords or phrases that trigger this skill via keyword matching. Case-insensitive substring match against the incoming message.
array
Tool names this skill is allowed to use. Restricts tool access to only these tools when the skill is active. Empty means no additional restriction.
string
Optional URL to the skill’s upstream source or documentation.
string
Optional SPDX license identifier (e.g. "MIT", "Apache-2.0").
boolean
default:"true"
Whether users can explicitly invoke this skill by name. When false, the skill can only be matched automatically.
boolean
default:"false"
When true, the skill is never auto-matched — it can only be selected by the model itself.

Skill Matching

When a message arrives, the skill registry checks all loaded skills. The first match wins.

Keyword Matching

Each string in triggers is checked as a case-insensitive substring of the incoming message. This is the primary matching mechanism and requires no embeddings.

Semantic Matching

When embeddings are available, cosine similarity between the message embedding and skill embeddings is used as a fallback or secondary ranking. Similarity scores range from -1.0 to 1.0; a higher score means a closer match.

No Match

If no skill matches, the agent runs with only SOUL.md as its system context.

Managing Skills

Via CLI

All ID arguments are optional — omitting them shows an interactive picker.

Via Captain Dashboard

Navigate to Agents → → Skills to view, add, edit, and remove skills through the web UI.

Via API


Skill Catalog

Users can request skills on the fly. During a conversation, a user can say “install the code-runner skill” and the agent will pull it from the catalog and load it immediately — no restart or CLI needed.
The skill catalog is a curated library of ready-made skills. Browse and install from the catalog:
The catalog is also browsable from the Captain Dashboard under Skills → Catalog.

Examples

Flat File: skills/devops.md

Directory Format: skills/agent-browser/SKILL.md


How Skills Integrate Into the System Prompt

When a skill matches, its markdown body is appended after SOUL.md and before the auto-generated tool/memory reference (AGENTS.md). The final system prompt structure is: