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 two roots:- Project-local:
<projectRoot>/.mux/skills/<skill-name>/SKILL.md - Global:
~/.mux/skills/<skill-name>/SKILL.md
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.
To load a skill, the agent calls:
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
- There is no
/skillcommand or UI activation flow yet; skills are loaded on-demand via tools. 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)