Agent Skills
fast-agent supports Agent Skills, and adds them from the following directories by default:
.fast-agent/skills.agents/skills.claude/skills
When valid SKILL.md files are found:
- The Agent is given shell access with the working directory set to the workspace root.
- Skill descriptions from the manifest and path are added to the System Prompt using the
{{agentSkills}}template variable. A warning is displayed if this is not present in the System Prompt. - The
/skillscommand lists the available skills. - If duplicate skill names exist across directories, later directories override earlier ones, and a warning message is shown. (Use
/statusfrom an ACP Client to view).
Skill Management
Skills installed from any git repo (local or remote) can be automatically updated.
Installing Skills
Skills can be installed, updated and removed from the CLI or TUI with the skills command.
To view available skills from the current marketplace, use /skills add to display a list. Supply either a path, repository URL, or skill name/index to install a skill.
Use /skills update to check current versions and install updates.
You can also install a skill directly from a GitHub SKILL.md URL or a local
skill directory/file:
For direct installs, fast-agent reads SKILL.md first and uses the manifest
name as the canonical install directory. Skills names must follow the format specified in the agentskills.io specification.
Registries and Marketplaces
fast-agent can install skills from online registries published in the Claude plugin format. By default, three registries are configured:
To browse and install skills from the marketplace:
This displays available skills with numbers. Install by name or number:
Removing Skills
Remove installed skills:
Managing Registries
In the TUI, view the current registry and available registries:
Example output:
# skills registry
Registry: https://github.com/huggingface/skills
Available registries:
- [1] https://github.com/huggingface/skills
- [2] https://github.com/anthropics/skills
Usage: `/skills registry [number|URL]`
In the TUI, switch registries by number or provide a custom URL:
For CLI commands, pass --registry to browse or install from a specific registry for that invocation:
fast-agent skills available --registry https://github.com/my-org/my-skills
fast-agent skills add skill-name --registry https://github.com/my-org/my-skills
Configuration
Configure skill directories and registries in fast-agent.yaml:
skills:
directories:
- ".fast-agent/skills"
marketplace_urls:
- "https://github.com/huggingface/skills"
- "https://github.com/anthropics/skills"
See the Configuration Reference for details.
Command Line Options
If using fast-agent interactively from the command line, the --skills <directory> switch can be used to specify the directory containing skills. The --env <path> flag lets you relocate the entire environment directory (including the default skills folder).
# Specify a skills folder and a model
fast-agent go --skills ~/skill-development/testing/ --model "gpt-5-mini?reasoning=low"
# Give fast-agent access to the shell
fast-agent go -x
Config File
Use skills.directories to set multiple skills directories. When provided (even as an empty list), the default search paths are not used.
Programmatic Usage
Skills directories can be defined on a per-agent basis:
from fast_agent.constants import DEFAULT_SKILLS_PATHS
# Define the agent
@fast.agent(instruction=default_instruction, skills=DEFAULT_SKILLS_PATHS + ["~/source/skills"])
async def main():
# use the --model command line switch or agent arguments to change model
async with fast.run() as agent:
await agent.interactive()
This allows each individual agent to use a different set of skills if needed. To disable skills for an agent, pass skills=[].