Skills
Skills are reusable prompt expansions that the agent can load on demand. They extend the agent’s capabilities without modifying its core tools. The format follows the Agent Skills open standard.
Using Skills
Section titled “Using Skills”Toggle Skills On/Off
Section titled “Toggle Skills On/Off”Use the /skills command to open a checkbox picker where you can enable or disable installed skills:
/skillsInstall a Skill
Section titled “Install a Skill”Ask the agent to install a skill by name. The built-in skill-manager handles searching, downloading, and installing:
You: install skill: apple-notesThe agent will:
- Search for the skill (via web search or known repositories).
- Download it to a staging area (
~/.fermi/skills/.staging/). - Inspect and validate the skill definition.
- Move it to the skills directory.
- The skill becomes available automatically on the next turn.
Auto-Discovery
Section titled “Auto-Discovery”Skills are automatically discovered from disk at every turn. Installing, removing, or modifying skills takes effect immediately — no manual reload step is needed.
Skill Directory Layout
Section titled “Skill Directory Layout”Skills live in ~/.fermi/skills/:
~/.fermi/skills/ skill-name/ SKILL.md # Required: YAML frontmatter + markdown instructions scripts/ # Optional: helper scripts references/ # Optional: reference docs .staging/ # Temporary work area (not loaded as a skill)Creating a Custom Skill
Section titled “Creating a Custom Skill”A skill is a directory containing a SKILL.md file. The file has YAML frontmatter followed by markdown instructions.
SKILL.md Format
Section titled “SKILL.md Format”---name: lowercase-hyphenated-namedescription: One-line description of when to use this skilldisable-model-invocation: false # Optional: true = only user can invoke via /nameuser-invocable: true # Optional: false = hidden from / menu, agent-only---
Markdown instructions here.Frontmatter Fields
Section titled “Frontmatter Fields”| Field | Required | Description |
|---|---|---|
name | Yes | Lowercase letters, numbers, and hyphens only. Must start with a letter or number. |
description | Yes | One-line description of when the skill should be used. |
disable-model-invocation | No | If true, only the user can invoke this skill (via /name). Default: false. |
user-invocable | No | If false, the skill is hidden from the / menu and only the agent can use it. Default: true. |
Arguments
Section titled “Arguments”Skills can accept arguments from the user:
$ARGUMENTS— the full argument string$ARGUMENTS[0],$ARGUMENTS[1], or$0,$1— positional arguments
Example
Section titled “Example”Here is a simple skill that explains code with diagrams:
---name: explain-codedescription: Explains code with diagrams and step-by-step analysis.---
When explaining code, follow this structure:
1. **Analogy**: Compare the code's behavior to something from everyday life2. **Diagram**: Draw an ASCII diagram showing the flow, structure, or relationships3. **Step-by-step walkthrough**: Walk through what happens at each stage4. **Common pitfall**: Highlight one non-obvious mistake or misconception
If $ARGUMENTS refers to a specific file, read it first and then explain it.Managing Skills
Section titled “Managing Skills”Removing a Skill
Section titled “Removing a Skill”Ask the agent to remove it, or delete the directory manually:
rm -rf ~/.fermi/skills/skill-nameThe skill is removed automatically on the next turn.
Workflow Summary
Section titled “Workflow Summary”| Action | How |
|---|---|
| Install from GitHub | Ask the agent: “install skill: name” |
| Create custom | Write a SKILL.md in ~/.fermi/skills/name/ |
| Enable/disable | /skills command |
| Remove | Delete the directory (auto-detected next turn) |
The Built-in Skill Manager
Section titled “The Built-in Skill Manager”The skill-manager is a special skill that comes bundled with Fermi. It is not user-invocable (you do not call it directly). Instead, it activates automatically when you ask the agent to find, install, or manage skills.
The skill manager knows how to:
- Search for skills via web search
- Clone repositories to the staging area
- Inspect and validate SKILL.md files
- Move skills from staging to the active directory
- Clean up git metadata
- Activate changes automatically (skills are auto-discovered each turn)