Skip to content

Agent Skills

BMO supports the Agent Skills open standard: each skill is a folder with a SKILL.md file (YAML frontmatter plus instructions) that BMO discovers and can inject into the system prompt or activate in-session. Together with recipes and the scheduler (e.g. bmo schedule add), skills are first-class entrypoints—run a recipe on demand or on a schedule, and use /skills in the TUI when you want a skill’s behavior for the current session.

BMO merges skills from these locations (and deduplicates by file path):

  • BMO_SKILLS_DIR — When set, this single directory is used as the global skills root instead of the default config paths below.
  • Default config directories (when BMO_SKILLS_DIR is unset):
    • Unix / macOS: $XDG_CONFIG_HOME/bmo/skills and $XDG_CONFIG_HOME/agents/skills (if XDG_CONFIG_HOME is unset, BMO uses ~/.config).
    • Windows: %LOCALAPPDATA%\bmo\skills and %LOCALAPPDATA%\agents\skills.
  • options.skills_paths — Extra roots from your configuration.
  • Repository (relative to the configured working directory): .github/skills and .bmo/skills.
  • Plugins — Skill directories supplied by installed BMO plugins.
[options]
skills_paths = [
"~/.config/bmo/skills",
"./project-skills",
]

Warning: the final copy command below writes into your configured skills directory. Run it only inside the skills directory you intend to modify. After you inspect the copied skills, delete _temp with your normal file manager if you no longer need the clone.

Terminal window
mkdir -p ~/.config/bmo/skills
cd ~/.config/bmo/skills
git clone https://github.com/anthropics/skills.git _temp
cp -R _temp/skills/. .

Type /skills to open the skills picker. It shows the discovered skill names, descriptions, and paths from your configured skill directories. Press Enter on a skill to activate it in the current session; BMO sends an activation instruction so the agent reads that skill’s SKILL.md and follows it in the conversation.

Create a directory whose name matches the skill’s name field, containing SKILL.md:

~/.config/bmo/skills/
└── my-skill/
└── SKILL.md

Start SKILL.md with YAML frontmatter bounded by a line containing exactly three hyphens. Required fields are name and description; optional fields include license, compatibility, and metadata.

name: my-skill
description: Short summary shown in the skills picker and prompt (max 1024 characters).
license: MIT

Everything after the closing delimiter is the instruction body BMO passes to the agent.

# My skill
Step-by-step instructions for the agent. For example, when asked to type-check Python:
1. Read the file with `view`.
2. Add type annotations to function signatures.
3. Run `mypy` and fix reported errors.

Directory name: The folder name and name must match (case-insensitive), per the Agent Skills layout rules.

For validation limits, merge behavior with options.skill_rules, and implementation seams, see agent-skills.md.