Skip to main content
Skills are markdown instruction packages that give the agent domain-specific knowledge and behavior. When a skill is active, its instructions are injected into the agent’s context for the duration of the session.

File structure

A skill is a directory named after the skill, containing a SKILL.md file (uppercase):
.slate/skills/
  frontend-design/
    SKILL.md
  bun-expert/
    SKILL.md
The SKILL.md file uses YAML frontmatter with two required fields — name and description — followed by the instruction content in markdown:
---
name: "frontend-design"
description: "Create distinctive, production-grade frontend interfaces."
---

# Frontend Design

Use Tailwind, avoid generic AI aesthetics...

Where skills are discovered

Slate searches for skills in the following locations, in priority order (highest first):
PriorityPathScope
1.slate/skills/<name>/SKILL.mdProject
2~/.slate/skills/<name>/SKILL.mdGlobal
3.opencode/skills/, .agents/skills/Compatibility
4.claude/skills/Claude Code compatibility
5Custom paths via slate.jsonConfigurable
Claude Code compatibility scanning can be disabled by setting the SLATE_DISABLE_CLAUDE_CODE_SKILLS environment variable.
Global vs project-level skills: Place skills in ~/.slate/skills/ to make them available across all your projects — useful for things like your preferred coding style or a framework you use everywhere. Place skills in .slate/skills/ (inside your project) for project-specific knowledge like architecture conventions or domain rules. Project-level skills take priority over global ones.

Custom skill paths

You can add additional skill search paths in your slate.json:
{
  "skills": {
    "paths": ["./custom-skills", "~/my-skills"]
  }
}
See Configuration for more on slate.json.

Using skills in the TUI

Open the Skills dialog from the TUI to browse and activate skills. Check the Hotkey Reference for the exact key binding. The dialog has two panels:
  • Left panel — list of all discovered skills
  • Right panel — detail pane with syntax-highlighted skill content
Navigation:
KeyAction
/ or j / kMove through the skill list
Tab or / Switch between panels
EscClose the dialog

How the agent uses skills

The main agent can search, view, activate, and deactivate skills autonomously during a session. When the main agent determines a skill is relevant to the current task, it activates it — and will deactivate it when it’s no longer needed. The main agent also automatically routes relevant skills from the available set into each subagent based on the context of its task. Active skills are injected into the agent’s context and remain active until the agent decides to deactivate them.