Guide
Agent Skills (SKILL.md) in every AI coding agent: Claude Code, Codex, Cline, Amp and OpenHands (2026)
Where does each AI coding agent look for SKILL.md skills, and can one skill folder work in all of them?
Every one of these agents reads a folder with a SKILL.md file whose YAML frontmatter has a name and a description. Claude Code uses .claude/skills/ and ~/.claude/skills/. Codex, Amp and OpenHands use .agents/skills/ in the repo and ~/.agents/skills/ for you. Cline uses .cline/skills/ and ~/.cline/skills/, and also reads .claude/skills/. Amp also reads .claude/skills/. So a skill in .agents/skills/ covers Codex, Amp and OpenHands, and a copy in .claude/skills/ covers Claude Code, Cline and Amp.
Also in: 简体中文 · 日本語 · 한국어 · Español · Português (Brasil)
Coding agent settings change often
Get one email a week when a setting, flag or permission rule changes, checked against the vendor docs.
Quick answer: skill folder locations
- Claude Code: .claude/skills/NAME/SKILL.md (project) and ~/.claude/skills/NAME/SKILL.md (personal). Plugins ship skills too, invoked as /plugin-name:skill-name.
- OpenAI Codex: .agents/skills in the folder where you launch Codex, its parent folders up to the repo root, ~/.agents/skills, /etc/codex/skills (admin) and bundled system skills.
- Cline: .cline/skills/ (recommended), .clinerules/skills/ or .claude/skills/ in the project, and ~/.cline/skills/ globally.
- Amp: .agents/skills/ and .claude/skills/ in the project and parent folders, ~/.config/agents/skills/, ~/.agents/skills/, ~/.config/amp/skills/, ~/.claude/skills/ and folders listed in amp.skills.path.
- OpenHands: .agents/skills/NAME/SKILL.md in the repo (legacy .openhands/skills and .openhands/microagents still work) and ~/.agents/skills for the user.
One SKILL.md that works everywhere
All five agents accept the same minimal file: YAML frontmatter with name and description, then Markdown instructions. Keep the name equal to the folder name, because Cline and OpenHands require it to match.
.agents/skills/release-notes/SKILL.md
--- name: release-notes description: Draft release notes from recent commits. Use when the user asks for release notes or a changelog. --- 1. Read the commits since the last tag. 2. Group changes into Features, Fixes and Other. 3. Write the notes in plain Markdown.
- Put it in .agents/skills/release-notes/ for Codex, Amp and OpenHands.
- Put the same folder in .claude/skills/ for Claude Code. Cline and Amp read that folder too.
- Write the description as a trigger: what the skill does and when to use it. Claude Code, Codex, Cline and Amp decide whether to load a skill from that text.
How you run a skill
- Claude Code: type /skill-name, or let Claude load it when your request matches the description. Text after the name fills $ARGUMENTS.
- Codex: run /skills or type $ and the skill name, or let Codex pick it from the description.
- Cline: type / and pick the skill, or let Cline load it when your request matches.
- Amp: the model sees each skill's name and description and loads the full SKILL.md when the skill is invoked. Install skills with amp skill add <source>.
- OpenHands: add a triggers list to the frontmatter to load a skill only when one of those keywords appears in a message.
Stop the agent from using a skill on its own
- Claude Code: disable-model-invocation: true in the frontmatter. Only you can then run it.
- Codex: policy.allow_implicit_invocation: false in agents/openai.yaml. Explicit $skill calls still work. To disable a skill fully, add a [[skills.config]] entry with enabled = false to ~/.codex/config.toml.
- Cline: switch the skill off in the Skills tab of the menu with the scale icon below the chat.
- Amp: set amp.skills.disableClaudeCodeSkills to skip the Claude-compatible folders.
- OpenHands: use a triggers list so the skill loads only on matching keywords.
Which copy wins when names clash
- Claude Code: enterprise beats personal, and personal beats project. A skill beats a .claude/commands/ file with the same name.
- Codex: skills with the same name are not merged; both appear in the selector.
- Cline: a global skill beats a project skill with the same name.
- Amp: the first skill found in its search order wins.
Gotchas
- Codex caps the initial skills list at 2% of the context window (8,000 characters if the size is unknown) and shortens descriptions first when you have many skills.
- Cline suggests keeping SKILL.md under 5k tokens; each skill's metadata costs about 100 tokens at startup.
- Amp does not reload skills in a running thread when you run amp skills list elsewhere. Ask Amp to reload your skills.
- Claude Code merged custom commands into skills, so .claude/commands/*.md files still create /name commands.
Full skills guide for each agent
- Claude Code skills and slash commands (SKILL.md)
- Codex skills: SKILL.md, folders and $skill
- Cline skills: location, format and slash commands
- Amp skills: folders, amp skill add and search order
- OpenHands skills, AGENTS.md and setup.sh
- Compare: rules and instruction files in every AI coding agent
- Compare: hooks in every AI coding agent
- Browse vendor-published Agent Skills
Get coding agent settings changes by email
When a setting, flag or permission rule in this guide changes, it goes in the weekly AgentAtlas update, checked against the vendor docs. One email a week.
Sources
Other guides
Reviewed Oct 18, 2026. Settings change often; the linked vendor docs are the source of truth.