Overview
Agent Skills are reusable, file-based “playbooks” that you can share across projects or keep project-local. Mux follows the Agent Skills specification and exposes skills to models in two steps:- Index in the system prompt: Mux lists available skills (name + description).
- Tool-based loading: the agent calls tools to load a full skill when needed.
Where skills live
Mux discovers skills from three roots:- Project-local:
<projectRoot>/.mux/skills/<skill-name>/SKILL.md - Global:
~/.mux/skills/<skill-name>/SKILL.md - Built-in: shipped with Mux
Mux reads skills using the active workspace runtime. For SSH workspaces, skills are read from the
remote host.
Skill layout
A skill is a directory named after the skill:^[a-z0-9]+(?:-[a-z0-9]+)*$ (1–64 chars).
SKILL.md format
SKILL.md must start with YAML frontmatter delimited by --- on its own line.
Mux enforces a 1MB maximum file size for SKILL.md.
Required fields:
name: must match the directory namedescription: short summary shown in Mux’s skills index
licensecompatibilitymetadata(string key/value map)
allowed-tools).
Example:
Using skills in Mux
Mux injects an<agent-skills> block into the system prompt listing the available skills.
You can apply a skill in two ways:
- Explicit (slash command): type
/{skill-name}(optionally followed by a message:/{skill-name} ...) in the chat input. Mux will send your message normally (or a small default message if you omit one), and persist a synthetic snapshot of the skill body in history immediately before that message.- Example:
/initruns the built-ininitskill to bootstrapAGENTS.md. You can override it with~/.mux/skills/init/SKILL.md(or.mux/skills/init/SKILL.mdfor a single project). - Type
/to see skills in the suggestions list.
- Example:
- Agent-initiated (tool call): the agent can load skills on-demand.
agent_skill_read_file supports offset / limit (like file_read) and rejects absolute paths and .. traversal.
agent_skill_read_file uses the same output limits as file_read (roughly 16KB per call,
numbered lines). Files are limited to 1MB. Read large files in chunks with offset/limit.Current limitations
- Slash command invocation supports only a single skill as the first token (for example
/{skill-name}or/{skill-name} ...). - Skill bodies may be truncated when injected to avoid accidental mega-prompts.
allowed-toolsis not enforced by Mux (it is tolerated in frontmatter, but ignored).
Further reading
- Agent Skills overview
- What are skills? (progressive disclosure)
- Agent Skills specification
- Integrate skills into your agent (tool-based vs filesystem-based)
- Example skills (GitHub)
- skills-ref validation library (GitHub)