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.
- Call the
reloadtool so the new skill becomes available.
Activating Changes
Section titled “Activating Changes”Skills are loaded into the session at startup. After you install, remove, or edit a skill on disk, the change does not take effect until skills are reloaded. There are three ways that happens:
- The agent calls the
reloadtool (it re-reads skills, MCP servers, and the system prompt from disk). The skill-manager does this for you as its final step. - You toggle a skill in the
/skillspicker (which reloads). - You start a new session.
When skills change after a reload, Fermi inserts a short <system-message> noting which skills are now available or gone — so the agent (and you) can see the new capability without re-reading the whole prompt.
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 disappears after the next reload (the agent’s reload tool, a /skills toggle, or a new session).
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, then reload (or start a new session) |
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
- Call the
reloadtool to activate the changes