Installing skills in Cursor, Codex and other agents
Agent Skills started in Claude Code, but the format is an open standard and most other coding agents adopted it — along with a shared directory to read it from. That means the answer to “how do I install this skill in Cursor?” is usually “the same way you install it for nine other tools at once.”
The universal directory
Rather than each agent inventing its own location, the ecosystem converged on ~/.agents/skills/. A skill folder placed there is visible to every tool that follows the convention — which, at this point, is most of them.
~/.agents/skills/
└── frontend-design/
└── SKILL.mdThe layout is identical to Claude Code’s: one folder per skill, SKILL.md at its root. Only the parent directory changes.
Which agent reads what
| Agent | Skills directory | Notes |
|---|---|---|
| Cursor | ~/.agents/skills | Universal convention |
| Codex CLI | ~/.agents/skills | Universal convention |
| Gemini CLI | ~/.agents/skills | Universal convention |
| OpenCode | ~/.agents/skills | Universal convention |
| Amp | ~/.agents/skills | Universal convention |
| Goose | ~/.agents/skills | Universal convention |
| GitHub Copilot | ~/.agents/skills | Universal convention |
| Claude Code | ~/.claude/skills | Its own directory — see the Claude Code guide |
| Cline | ~/.cline/skills | Its own directory |
Installing one
By hand
mkdir -p ~/.agents/skills
git clone https://github.com/anthropics/skills.git /tmp/skills
cp -r /tmp/skills/document-skills/pdf ~/.agents/skills/That single copy is now visible to every universal-directory agent on the machine. Restart behaviour varies: some pick skills up immediately, others notice on the next session.
With the CLI
npx skills add https://github.com/anthropics/skills/tree/main/document-skills/pdfWithout an -a flag the CLI asks which agents you want, and knows the right directory for each. Useful when you want a skill in some tools but not others.
In one click
Skill Installer shows the targets as checkboxes — Claude Code, Universal, Cline, or any custom directory you add — and writes to all of them at once from whatever page you found the skill on. It is the same folder copy underneath; the difference is that you see the skill’s contents and security flags before it lands, and you do not need a terminal.
Project skills
The same split as Claude Code applies: a skill in ~/.agents/skills follows you across every project, while one in .agents/skills/ inside a repository belongs to that repository. Commit it and every collaborator gets it with a git pull — no install step, no instructions in the README about where to copy things.
For anything encoding house conventions — commit format, testing procedure, deployment checklist — the project directory is almost always the right home. Personal scope is for skills that are about how you work.
Does one skill really work everywhere?
Mostly. The core of the format — the frontmatter, the instructions, the supporting files — is genuinely portable, and a well-written skill behaves the same in Cursor as it does in Codex. Where portability frays is at the edges:
- Tool-permission fields. An
allowed-toolslist naming Claude Code’s tools means nothing to an agent with different tool names. It is ignored rather than fatal. - Bundled scripts. A skill that shells out to Python needs Python present, and needs an agent willing to run it.
- Instructions that name a specific agent. Skills written against one tool’s exact affordances travel worst. The portable ones describe the task, not the toolbar.
Related
For Claude Code specifically, including plugin marketplaces and the troubleshooting list, see how to install skills in Claude Code. For what actually goes inside the file, see the SKILL.md format explained.