> ## Documentation Index
> Fetch the complete documentation index at: https://docs.randomlabs.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Skills

> Give Slate domain-specific knowledge with reusable markdown instruction packages

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:

```md theme={null}
---
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):

| Priority | Path                                   | Scope                     |
| -------- | -------------------------------------- | ------------------------- |
| 1        | `.slate/skills/<name>/SKILL.md`        | Project                   |
| 2        | `~/.slate/skills/<name>/SKILL.md`      | Global                    |
| 3        | `.opencode/skills/`, `.agents/skills/` | Compatibility             |
| 4        | `.claude/skills/`                      | Claude Code compatibility |
| 5        | Custom paths via `slate.json`          | Configurable              |

<Note>
  Claude Code compatibility scanning can be disabled by setting the `SLATE_DISABLE_CLAUDE_CODE_SKILLS` environment variable.
</Note>

<Tip>
  **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.
</Tip>

## Custom skill paths

You can add additional skill search paths in your `slate.json`:

```json theme={null}
{
  "skills": {
    "paths": ["./custom-skills", "~/my-skills"]
  }
}
```

See [Configuration](/en/using-slate/configuration) for more on `slate.json`.

## Using skills in the TUI

Open the Skills dialog from the TUI by typing `/skills` in the composer, or browse skills inline with `@` autocomplete.

The dialog has two panels:

* **Left panel** — list of all discovered skills
* **Right panel** — detail pane with syntax-highlighted skill content

**Navigation:**

| Key                    | Action                      |
| ---------------------- | --------------------------- |
| `↑` / `↓` or `j` / `k` | Move through the skill list |
| `Tab` or `←` / `→`     | Switch between panels       |
| `Esc`                  | Close 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.
