Skip to main content

Overview

Agent Skills are reusable, file-based “playbooks” that you can share across projects or keep workspace-local. Mux follows the Agent Skills specification and exposes skills to models in two steps:
  1. Index in the system prompt: Mux lists available skills (name + description).
  2. Tool-based loading: the agent calls tools to load a full skill when needed.
Skills help you practice progressive disclosure, where the LLM sees only the necessary context to complete the task at hand. The easiest way to invoke a skill in Mux is to use the /<skill-name> slash command. For example: /mux-docs suggest tool hooks for this project. You can find a list of community-maintained, curated skills at skills.sh. You can easily add those skills to your Mux instance with:

Where skills live

Mux discovers skills from five roots:
  • Workspace-local: .mux/skills/<skill-name>/SKILL.md (in the workspace working directory)
  • Workspace-local (cross-tool): .agents/skills/<skill-name>/SKILL.md (in the workspace working directory)
  • Global (Mux-specific): ~/.mux/skills/<skill-name>/SKILL.md
  • Universal (cross-tool): ~/.agents/skills/<skill-name>/SKILL.md
  • Built-in: shipped with Mux
If a skill exists in multiple locations, the precedence order is: workspace-local (.mux/skills) > workspace-local (.agents/skills) > global (~/.mux/skills) > universal (~/.agents/skills) > built-in. Built-in skills behave like any other skill for precedence purposes: you can override them by creating a skill with the same name in any higher-precedence workspace-local or global root.
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:
Skill directory names must match ^[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 name
  • description: short summary shown in Mux’s skills index
Optional fields:
  • license
  • compatibility
  • metadata (string key/value map)
  • advertise (boolean) — set to false to omit a skill from the system prompt index (see Unadvertised skills below)
Mux ignores unknown frontmatter keys (for example allowed-tools).

Unadvertised skills

By default, Mux advertises skills by listing them in the system prompt’s <agent-skills> index. Set advertise: false in the frontmatter to exclude a skill from that index. Unadvertised skills:
  • Are not listed in the system prompt (reducing token overhead)
  • Can still be invoked via /{skill-name} slash command or agent_skill_read({ name: "skill-name" })
  • Still appear in Mux’s UI lists (for example / slash suggestions)
  • Are useful for: skills meant only for sub-agents, advanced users, or internal orchestration

Example: deep-review skill

The Mux repository includes an unadvertised deep-review skill that encourages aggressive use of sub-agents to produce excellent code reviews (correctness, tests, consistency, UX, performance). Invoke it with /deep-review when you want a thorough, parallelized review. This skill is defined in .mux/skills/deep-review/SKILL.md.

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-tools is not enforced by Mux (it is tolerated in frontmatter, but ignored).

Further reading