Skills
Skills are directories that contain instructions and optional resources for specific tasks. Amp includes built-in skills. You can also keep skills in a project, install them on one machine, or publish them for yourself or your workspace.
Creating and Installing Skills
Amp has a built-in building-skills skill that can create or install skills for you. Ask Amp:
Project skills are saved under .agents/skills/ and can be committed with the project. Personal
skills are available everywhere you use Amp. For direct shell installation from a GitHub
repository, Git URL, or local path, run amp skill add <source>. Pass --global to install it only
on the current machine under ~/.config/agents/skills/.
Skill Sources and Precedence
Amp uses the first skill with a given frontmatter name. The order is:
~/.config/agents/skills/~/.agents/skills/~/.config/amp/skills/.agents/skills/in the project and searched parent directories.claude/skills/in those directories~/.claude/skills/~/.claude/plugins/cache/- Directories in
amp.skills.path, in the order they are configured - Built-in skills
- Your personal skills repository
- Your active workspace skills repository
Local and built-in skills therefore mask repository skills with the same name. A personal skill
masks a workspace skill with the same name. Set amp.skills.disableClaudeCodeSkills in Configuration to skip the Claude-compatible locations.
An active directory plugin can also register a bundled skill. Amp gives it the qualified name <plugin-name>:<skill-name>, so it does not compete with the bare skill names above.
Viewing and Reloading Skills
You can ask Amp:
For direct inspection, run amp skills list, add --json for machine-readable output, or open the
interactive CLI command palette with Ctrl+O and run skills: list. The reload_skills tool rescans local directories and fetches the latest personal and workspace skills. Running amp skills list in another shell does not reload an existing session.
Skill Repositories
Personal skills are available everywhere you use Amp. Workspace admins manage workspace skills, which are available to everyone in the workspace. Amp stores each scope in its own Git repository.
The simplest way to manage these skills is to ask Amp in a thread. For example:
Amp finds the right repository and prepares the change in a checkout. It reviews and commits the change, then asks before pushing. A push publishes the skill. New threads load it automatically, and Amp can reload it in the current thread.
To share a personal skill, open Skills in Personal Settings. Select the skill, choose Share, make it available to the workspace, and copy its URL. Send the URL directly or paste it into Slack, where it unfurls with details about the skill. Teammates can paste the URL into a thread or ask Amp, “Has anyone got a release-notes skill?”
If you edit a repository directly, put each skill in a top-level directory with SKILL.md directly
inside it. The directory name and the name in SKILL.md must match.
release-notes/
├── SKILL.md
├── scripts/
└── references/ For direct shell access, amp skills repositories lists the repositories and clone commands. amp clone user-skills and amp clone workspace-skills clone them. The amp skill import and amp skill update commands manage shared imports. Repository owners can require signed commits in
the repository’s Advanced settings.
Skill Format
Each skill is a directory containing a SKILL.md file with YAML frontmatter:
---
name: my-skill
description: A description of what this skill does
---
# My Skill Instructions
Detailed instructions for the agent... Amp lists every discovered skill for the model. The model sees each skill’s name and description and uses them to decide when to load it. Amp loads the rest of SKILL.md only when the skill is
invoked.
Skills can include scripts, templates, and reference files in the same directory. The agent can access these files by paths relative to the skill directory.
MCP Servers in Skills
A skill can define MCP servers in a sibling mcp.json file or in the mcpServers field of its SKILL.md frontmatter. If both are present, Amp uses mcpServers and ignores mcp.json.
Amp connects to skill MCP servers when it discovers the skill. Amp hides tools from a server defined only by a skill until the skill is loaded. If a server with the same name is also supplied by a CLI flag or direct configuration, that source takes precedence and its tools remain visible.
Example mcp.json for a local command-based server:
{
"chrome-devtools": {
"command": "npx",
"args": ["-y", "chrome-devtools-mcp@latest"],
"includeTools": ["navigate_*", "take_screenshot", "click", "fill*"]
}
} Example mcp.json for a remote HTTP server:
{
"linear": {
"url": "https://mcp.linear.app/sse",
"includeTools": ["list_issues", "create_issue", "update_issue"]
}
} Fields for local servers:
command(string) is the command to run.args(string[], optional) contains the command arguments.env(object, optional) contains the environment variables.
Fields for remote servers:
url(string) is the server endpoint.headers(object, optional) contains the HTTP headers to send with requests.
Common fields:
includeTools(string[], optional but recommended) contains tool names or glob patterns used to choose which tools are exposed.