Claude Code keeps your skills in ~/.claude/skills/, one folder per skill with a SKILL.md file inside. A repository's skills live in .claude/skills/ at its root, and skills that come with plugins sit in Claude Code's plugin cache. Most other coding agents read a shared folder instead, ~/.agents/skills/, plus a folder of their own. The table below lists all of them.
Everything here reflects each agent's docs as of October 2026. Folder names change between releases, so check your agent's docs if a path is missing.
The skills folder of every agent
A skill is the same thing everywhere: a folder with a SKILL.md that starts with a name and a description. What differs is where each agent looks.
| Agent | Your skills | A repository's skills | Also reads |
|---|---|---|---|
| Claude Code | ~/.claude/skills/ | .claude/skills/ | Plugin skills, account skills synced to ~/.claude/skills/ |
| Codex (CLI, IDE, ChatGPT desktop) | ~/.agents/skills/ | .agents/skills/ | ~/.codex/skills/, built-ins in ~/.codex/skills/.system/, plugins, /etc/codex/skills/ |
| Cursor | ~/.cursor/skills/, ~/.agents/skills/ | .cursor/skills/, .agents/skills/ | ~/.claude/skills/, ~/.codex/skills/ and their repository versions |
| Gemini CLI | ~/.gemini/skills/, ~/.agents/skills/ | .gemini/skills/, .agents/skills/ | Skills inside extensions |
| Copilot CLI | ~/.copilot/skills/, ~/.agents/skills/ | .github/skills/, .claude/skills/, .agents/skills/ | |
| OpenCode | ~/.config/opencode/skills/ | .opencode/skills/ | ~/.claude/skills/, ~/.agents/skills/ and their repository versions |
| Windsurf | ~/.codeium/windsurf/skills/ | ~/.agents/skills/ | |
| Amp | ~/.agents/skills/ |
~ is your home folder: /Users/<you> on a Mac, /home/<you> on Linux and C:\Users\<you> on Windows. Every folder that starts with a dot is hidden, so in Finder press Cmd+Shift+. to show them, and on Windows turn on hidden items in File Explorer.
A repository's folder counts from the folder you start the agent in. Claude Code, Codex and OpenCode also look in each parent folder up to the root of the repository, which is how a monorepo can keep skills for one package next to it.
Where plugin skills go
Plugins bundle several skills, and they are where most of the clutter comes from. Each plugin version gets its own copy in a cache:
- Claude Code keeps plugins in
~/.claude/plugins/cache/<marketplace>/<plugin>/<version>/, with the skills in itsskills/folder.~/.claude/plugins/installed_plugins.jsonsays which version is in use, andenabledPluginsin~/.claude/settings.jsonsays which plugins are on. - Codex keeps them in
~/.codex/plugins/cache/<source>/<plugin>/<version>/skills/. The same plugin from two sources is two plugins to Codex, so both sets of skills load. - Gemini CLI keeps extensions in
~/.gemini/extensions/, each with its ownskills/folder.
Plugin skills carry the plugin's name in front: vercel:nextjs is the nextjs skill from the Vercel plugin. You run it by that name, as /vercel:nextjs in Claude Code or $vercel:nextjs in Codex.
Mac, Linux and Windows
The folders are the same on every system; only the home folder changes.
| Claude Code | The shared folder | |
|---|---|---|
| Mac | /Users/<you>/.claude/skills/ | /Users/<you>/.agents/skills/ |
| Linux | /home/<you>/.claude/skills/ | /home/<you>/.agents/skills/ |
| Windows | C:\Users\<you>\.claude\skills\ | C:\Users\<you>\.agents\skills\ |
On Windows with WSL, an agent you run inside WSL reads the Linux home folder, not your Windows one, so skills installed from one side don't show up on the other.
One skill in every agent
Most people end up with the same skill in two or three places, because Claude Code doesn't read the shared folder and the others don't read Claude's. The tidy way is one real copy and links to it:
mkdir -p ~/.agents/skills mv ~/.claude/skills/release-notes ~/.agents/skills/ ln -s ~/.agents/skills/release-notes ~/.claude/skills/release-notes
Now Claude Code, Codex, Cursor and the rest read the same file, and an edit reaches all of them. Two separate copies drift apart: you fix the steps in one, and another agent keeps running the old ones.
Cursor and OpenCode read both ~/.claude/skills/ and ~/.agents/skills/, so for them two copies of one skill can mean it loads twice. A link avoids that too.
Why it matters how many skills you have
Every agent puts the name and description of each skill it can see into every session, before you type a word, so it can pick the right one. A hundred skills is several thousand tokens, in every session, for every agent. Duplicates count twice, and so do old plugin versions that are still switched on.
The descriptions also compete. With forty similar skills, the agent picks the wrong one more often, or none. Removing skills you never use makes the right one easier to find.
See every skill you have on one page
Each agent lists its own skills: /skills in Claude Code and Codex, /skills list in Gemini CLI and Copilot CLI, and Customize, then Skills, in Cursor. None of them shows the others, or which skills you actually used.
The Briefkin skill check does, in one command:
curl -fsSL https://briefkin.dev/skill-check | sh
It reads the folders in the table above, plus the repositories you worked in recently, and opens one page with every skill by agent. It flags skills that load twice, copies that differ, and skills that haven't run in 30 days, counted from Claude Code transcripts and Codex session logs on your computer. You can search, star the ones you want to keep handy and copy the command that runs each one. It needs node, reads only each skill's name and description, and sends nothing anywhere. More about it on the skill check page.
Keep an eye on what your agents do with them
Knowing which skills you have is half of it. Briefkin puts every Claude Code, Codex and Cursor session on one board: what each agent is working on, which one is waiting for you, and what finished, with the answer box on your phone. The skills library has skills that run on a schedule and post their result there, such as a weekly SEO report or a morning brief.
Questions
Where are Claude Code skills stored on a Mac?
Your own skills are in ~/.claude/skills/, one folder per skill with a SKILL.md inside, which is /Users/<you>/.claude/skills/. Skills from plugins sit in ~/.claude/plugins/cache/, and a repository's skills are in .claude/skills/ inside it. The folder starts with a dot, so press Cmd+Shift+. in Finder to see it.
Where are Claude skills stored on Windows?
In %USERPROFILE%\.claude\skills\, for example C:\Users\<you>\.claude\skills\. Codex and the other agents use the same folder names under your user folder: %USERPROFILE%\.agents\skills\ and so on.
Is there one skills folder every agent reads?
Almost. ~/.agents/skills/ is read by Codex, Cursor, Gemini CLI, Copilot CLI, OpenCode, Windsurf and Amp. Claude Code reads only ~/.claude/skills/, so a skill you want everywhere goes in both, or in one with a link from the other.
Where do skills from the claude.ai apps live?
Skills you add in the Claude apps or ChatGPT live in your account, not on your computer. Claude Code can sync account skills into a folder under ~/.claude/skills/, but the apps themselves have no folder you can edit.
How do I see every skill I have installed?
Each agent lists its own: /skills in Claude Code and Codex, /skills list in Gemini CLI and Copilot CLI. To see all of them on one page, with duplicates and which ones you actually used, run curl -fsSL https://briefkin.dev/skill-check | sh.