Skills

Crush supports the Agent Skills open standard for extending agent capabilities with reusable skill packages.

Crush supports the Agent Skills open standard for extending agent capabilities with reusable skill packages. Skills are folders containing a SKILL.md file with instructions that Crush can discover and activate on demand.

Discovery

The global paths Crush looks for skills in are:

  • $CRUSH_SKILLS_DIR

  • $XDG_CONFIG_HOME/agents/skills or ~/.config/agents/skills/

  • $XDG_CONFIG_HOME/crush/skills or ~/.config/crush/skills/

  • ~/.agents/skills/

  • ~/.claude/skills/

  • On Windows, we also look at

    • %LOCALAPPDATA%\agents\skills\ or %USERPROFILE%\AppData\Local\agents\skills\

    • %LOCALAPPDATA%\crush\skills\ or %USERPROFILE%\AppData\Local\crush\skills\

  • Additional paths configured via options.skills_paths

On top of that, we also load skills in your project from the following relative paths:

  • .agents/skills

  • .crush/skills

  • .claude/skills

  • .cursor/skills

Or load directories of skills specifically in your config:

option skill-path "$HOME/squid-skills" "./other-skills"

You can get started with example skills from anthropics/skills:

# Unixmkdir -p ~/.config/crush/skillscd ~/.config/crush/skillsgit clone https://github.com/anthropics/skills.git _tempmv _temp/skills/* . && rm -rf _temp
# Windows (PowerShell)mkdir -Force "$env:LOCALAPPDATA\crush\skills"cd "$env:LOCALAPPDATA\crush\skills"git clone https://github.com/anthropics/skills.git _tempmv _temp/skills/* . ; rm -r -force _temp

User-Invocable Skills

Skills can be made invocable as commands from the commands palette (ctrl+p). Add user-invocable: true to the skill's YAML frontmatter:

---name: my-hot-skilldescription: A skill that can be invoked as a command.user-invocable: true---

User-invocable skills appear in the commands palette with a user: or project: prefix:

  • Skills from global directories show as user:skill-name

  • Skills from project directories show as project:skill-name

When invoked, the skill's instructions are loaded into the conversation context.

To prevent the model from auto-triggering a skill (while still allowing user invocation), add disable-model-invocation: true:

---name: my-skilldescription: Only invocable by users, not the model.user-invocable: truedisable-model-invocation: true---

Skills with disable-model-invocation won't appear in the model's available skills list but can still be invoked manually by users.

Disabling Skills

You can prevent Crush from using certain skills entirely. Disabled skills are hidden from the agent, including builtin skills and skills discovered from disk.

option disable-skill crush-config

Read this post in your terminal with glow:glow -p https://crush-docs.fly.dev/docs/integrations/skills.md

EOF