Where does Cursor look for skills?
LevelCursor foldersCompatibilityProject.cursor/skills/, .agents/skills/.claude/skills/, .codex/skills/User~/.cursor/skills/, ~/.agents/skills/~/.claude/skills/, ~/.codex/skills/Subfoldersnested .cursor/skills and .agents/skillsFor a team split between Cursor and Claude Code, that is the best part: one skill in .claude/skills/ works for both. With Cursor and Codex, the shared spot is .agents/skills/.
Two fields are required: name (must match the folder) and description. Cursor also understands disable-model-invocation, icon, color, metadata and the legacy paths field with glob patterns.
How to install a skill in Cursor
Copy the folder. Put the skill folder with its SKILL.md into the project .cursor/skills/ or into ~/.cursor/skills/. Cursor discovers skills at startup.
npx skills add. The vercel-labs/skills installer knows Cursor as cursor:
npx skills add OWNER/REPO -a cursor npx skills add OWNER/REPO --skill skill-name -a cursor -g
Project installs go to .agents/skills/, global ones (-g) to ~/.cursor/skills/.
As a plugin. Under Customize there is From GitHub Repository: Cursor imports a plugin from a repo that contains .cursor-plugin/marketplace.json. That is a Cursor format, not the Anthropic .claude-plugin one, so a Claude Code marketplace will not import as is. You can still take its skills as folders.
How Cursor decides to use a skill
At startup the agent sees only names and descriptions. From there:
- the agent loads a skill when the task matches its
description; - you attach a skill to a message with
/; - a Custom Mode keeps a skill on for the whole session.
disable-model-invocation: true turns off the first route, so the skill runs only when you ask. Use it for anything that deploys, deletes or spends money.
Skill or rule: which one in Cursor?
Cursor also has rules in .cursor/rules/*.mdc, and “where does this go” comes up all the time. Our rule of thumb: short conventions every request needs (code style, stack, bans) go into rules with alwaysApply or globs. Long task-specific instructions (writing a migration, cutting a release) go into a skill, which costs no context until it is needed.
Cursor 2.4 added /migrate-to-skills. It converts rules and user commands into skills and keeps manual invocation for the commands. The Cursor docs no longer describe commands as a separate format.
What else Cursor borrows from Claude Code
Compatibility goes beyond skills. Cursor looks for subagents in .cursor/agents/ and also in .claude/agents/ and .codex/agents/, plus the same folders in your home directory. When names clash, the .cursor/ version wins. Subagent frontmatter in Cursor supports name, description, model, readonly and is_background.
Cursor reads AGENTS.md at the root and in any subfolder, and nested files combine with their parents. Hooks are a different story: Cursor uses its own .cursor/hooks.json with different event names, so Claude Code hooks need a rewrite. The full matrix is in the formats guide.
Where to find skills for Cursor
Any skill in the Agent Skills format works, whether it comes from a Claude Code catalog, a Codex catalog or a general awesome list. cursor.directory shows a counter with a download icon on each plugin. It counts installs or copies, not users, despite what you often read. On 24 October 2026 the Next.js plugin had 40.2k and Front End 34.3k. The site source moved to the cursor/community-plugins repo.
Our list, ordered by GitHub stars and installs from the source, is on the Cursor page and in all skills. Read SKILL.md before installing: a skill runs with the agent's permissions.