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

# Skills

> Reusable instruction bundles the agent loads into the workspace, authored as SKILL.md folders.

A skill is a folder of instructions and supporting files the agent can load to perform a specialized task. Each skill is identified by a **slug** and described by a `SKILL.md` manifest. Skills come from three sources — ones you upload to your account, ones discovered in a project's GitHub repository, and ones Aether provides to every workspace — and are materialized into the workspace so the agent can read them.

## The SKILL.md Manifest

Every skill is a directory containing a `SKILL.md` file. That file must begin with YAML frontmatter, and the frontmatter must include both a `name` and a `description`:

```markdown SKILL.md theme={"dark"}
---
name: my-skill
description: One sentence describing when the agent should use this skill.
---

# My Skill

Instructions, examples, and any guidance the agent should follow.
```

The contract is strict and validated when you upload or index a skill:

* `name` is **required** and must exactly match the skill's slug.
* `description` is **required**.
* The file must start with a `---` frontmatter block.

A slug is 1–64 lowercase alphanumeric or dash characters and must start and end with an alphanumeric character.

## User, Repo, and Aether Skills

**User skills** are saved to your account and available across all your projects. Upload them with the [`aether skill`](/guides/skills) command family — `push` a local folder, or `sync` to bulk-import skills discovered in `.agents/skills` and `.claude/skills` (in the current repo) and `~/.claude/skills`, `~/.agents/skills`, and `~/.codex/skills` (in your home directory). A skill bundle may contain up to 1000 files, with a 5 MB per-file and 50 MB total uncompressed limit. User skills are encrypted at rest.

**Repo skills** are discovered automatically. When a project is linked to a GitHub repository, Aether indexes any `.agents/skills/<slug>/SKILL.md` files on the repository's default branch and offers those skills to the agent for that project.

**Aether skills** are maintained by Aether and ship to every workspace, whatever the project. They are read-only and always current with the platform. Today's set is Aether's own `aether-workflow` and `aether-deep-review` (its defect-finding pull request review) plus a selection of [Matt Pocock's engineering skills](https://github.com/mattpocock/skills) (MIT), vendored unchanged with their MIT notice: `grill-with-docs`, `grilling`, `domain-modeling`, `codebase-design`, `research`, `prototype`, `wayfinder`, `triage`, `to-spec`, `to-tickets`, `implement`, `tdd`, and `code-review` (the set is closed under the skills they call), and Cursor's `thermo-nuclear-code-quality-review` from the [cursor-team-kit plugin](https://github.com/cursor/plugins/tree/main/cursor-team-kit) (MIT), an unusually strict maintainability review of a branch's changes. The rules for running them on agents without a Skill tool, and the tracker, triage-label, and domain-docs configuration the planning skills expect (upstream's `setup-matt-pocock-skills` interview is not shipped; Aether provides that configuration itself), are part of every task's instructions rather than a skill file, so nothing in a workspace can change them. Each one can be turned off for your account under **Settings → Skills** or with the [default skills API](/api-reference/v1/skills/get-default-skills); a skill you turn off is left out of your workspaces and your project skill lists until you turn it back on. A skill another enabled Aether skill calls stays on until you turn that one off too (the API reports who needs it in `required_by` and refuses the toggle), so a workspace never receives a skill whose calls point at a missing one. A user skill with the same slug as an Aether skill replaces it in your workspaces, except `aether-workflow`, whose slug is reserved as Aether's own.

### Slug Shadowing

A project sees a single, combined skill set. When a repo skill and a user or Aether skill share the same slug, the **valid repo skill wins** — it shadows the other skill of the same slug for that project. This lets a repository pin a project-specific version of a skill without you having to remove your personal one. Likewise a user skill shadows an Aether skill of the same slug (other than the reserved `aether-workflow`), so you can replace a default with your own version by uploading one under its name. Reserved slugs (`aether-workflow` and the mobile-testing skills) cannot be shadowed by a repo skill either: a repo skill under one of those names is indexed as invalid with a `reserved_slug` diagnostic.

## How Skills Reach the VM

When a workspace is provisioned, your skills are streamed into a canonical skills directory in the VM at `~/.aether/skills/<slug>/`. This directory is wiped and rebuilt on each provision, so deleting a skill removes it from the workspace on the next run. The canonical directory is then symlinked into each agent's own config location (for example `~/.claude/skills`), so whichever [agent provider](/concepts/agents-and-models) you run can read the same set.

## Related

<CardGroup cols={2}>
  <Card title="Skills Guide" icon="upload" href="/guides/skills">
    Authoring, uploading, and syncing skills with the CLI.
  </Card>

  <Card title="GitHub Integration" icon="github" href="/guides/github-integration">
    Linking a repo so its skills are indexed.
  </Card>

  <Card title="Skills API" icon="code" href="/api-reference/v1/skills/get-skills">
    List, upload, and delete skills over the API.
  </Card>

  <Card title="Agents & Models" icon="robot" href="/concepts/agents-and-models">
    The agents that consume your skills.
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.