Skip to content
Founding Lifetime: every skill, foreverFirst 100 members · $99 onceUpgrade
Lookbook
Sign In

Where skills live: folders for every agent

The folders each agent reads skills from, which copy wins when two share a name, and what cloud agents can see.

For
Anyone whose agent can’t find a skill, or lists it twice
Works with
Claude CodeCodexCursorGitHub CopilotGemini CLIOpenCodeAny agent that reads SKILL.md folders
Time
4 min read · updated Oct 26, 2026

The short answer

Every agent reads a folder in your home directory and a folder in your repository. Claude Code reads .claude/skills. Codex, Gemini CLI and Copilot CLI read .agents/skills. Cursor, OpenCode and VS Code read both. When two copies share a name, which one wins depends on the agent.

The two kinds of place

A personal folder lives in your home directory and serves every project on your computer. A project folder lives inside a repository and serves that repository. Either way, each skill is its own folder with SKILL.md directly inside it, so the skill’s name is the last part of the path.

Skill layout
~/.agents/skills/
└── kinetic-title-drop/
    └── SKILL.md

Keep the folder name the same as the skill’s name. Cursor, VS Code and OpenCode require it to match, and a mismatch can stop the skill loading.

Folders by agent

Where each agent looks for skills
AgentYour home folderInside a repository
Claude Code~/.claude/skills.claude/skills
Codex~/.agents/skills.agents/skills
Cursor~/.agents/skills, ~/.cursor/skills.agents/skills, .cursor/skills
GitHub Copilot CLI~/.copilot/skills, ~/.agents/skills.github/skills, .agents/skills, .claude/skills
Copilot in VS Code~/.copilot/skills, ~/.claude/skills, ~/.agents/skills.github/skills, .claude/skills, .agents/skills
Gemini CLI~/.gemini/skills, ~/.agents/skills.gemini/skills, .agents/skills
OpenCode~/.config/opencode/skills, ~/.claude/skills, ~/.agents/skills.opencode/skills, .claude/skills, .agents/skills
  • Cursor also reads .claude/skills and .codex/skills, at home and in projects.
  • Claude Code, Codex and OpenCode look in the folder you start from and each parent up to the repository root. Cursor finds a .cursor/skills or .agents/skills folder anywhere inside the repository, and scopes a nested one to the files under it.
  • Gemini CLI finds SKILL.md at the root of the skills folder or one folder down, never deeper.

Which copy wins

You can end up with the same skill in two places, such as a personal copy and a project copy. What happens next depends on the agent.

What each agent does when two skills share a name
AgentSame name in two places
Claude CodeEnterprise over personal, and personal over project. A personal deploy runs instead of a project deploy.
CodexNeither wins. Codex doesn’t merge them, and both can appear in its skill selectors.
CursorIts docs don’t say. Keep one copy.
GitHub Copilot CLIFirst found wins, in this order: .github/skills, .agents/skills, .claude/skills, a parent .github/skills, ~/.copilot/skills, ~/.agents/skills. A project copy beats a personal one.
Copilot in VS CodeFor duplicates in .github/skills across workspace roots, the primary root wins. Other cases aren’t documented.
Gemini CLIWorkspace over user. Within one of those, .agents/skills over .gemini/skills.
OpenCodeIts docs ask for unique names across locations and don’t describe an order.

What the Lookbook installer does

The installer writes the copy your agent reads, and no more than that. Inside Claude Code it writes only ~/.claude/skills/<skill>. In your own terminal it writes ~/.agents/skills/<skill> and, if you have Claude Code, ~/.claude/skills/<skill> too. With --project it does the same inside the current folder. --claude and --shared pick one folder.

Cloud agents

A cloud agent starts from a copy of your repository, not your computer, so a skill in your home folder isn’t there.

  • Claude Code cloud sessions load the repository’s .claude/skills and not ~/.claude/skills.
  • Codex cloud tasks get skills stored in your repository. Personal skills aren’t synced.
  • Cursor doesn’t copy ~/.agents/skills to Cloud Agents. Only ~/.cursor/skills syncs, with Sync Skills for Cloud Agents turned on.
  • GitHub Copilot cloud agent works from project skills in .github/skills, .claude/skills or .agents/skills. GitHub says not to assume a personal skill is available there.

To get a skill to a cloud agent, run the installer from the repository root with --project, then commit the folders it writes.

Common questions

Can one folder serve two agents?
Yes. ~/.agents/skills is read by Codex, Cursor, Copilot, Gemini CLI and OpenCode. Claude Code’s docs list only .claude/skills.
Do I need to install a skill in every project?
No. Put it in a personal folder to have it in every project, or in a project folder to keep it to one repository.
Why does my agent list a skill twice?
The same skill is probably in two folders it reads, such as ~/.agents/skills and ~/.claude/skills. Delete one copy.

Sources

What this guide says about other companies’ tools comes from their own documentation, checked on Oct 26, 2026.

Did this guide help?

See a skill’s result before you install it.

Every skill page shows what it makes, what it needs and which agents can run it.