THE LITTLE SKILL DEPOT

How to install a skill in Cursor

Cursor reads the same SKILL.md format as Claude Code and Codex, but it looks in its own folders, and that is where most failed installs go wrong. This page gives the exact command, the two locations Cursor loads from, how to confirm the skill is visible, and what to check when it is not.

A little help from the depot

The command

Run this in any terminal with Node.js 18 or newer. The --agent cursor flag makes the CLI write into Cursor's folder instead of the shared ~/.agents/skills location, and -y skips the interactive prompt. Replace the owner, repository and skill name with the ones from the skill's page here.

Without --agent, the CLI asks which agents to install for and may pick several. That is fine if you use Cursor and Claude Code side by side; if you only use Cursor, the flag keeps the install predictable.

npx skills add vercel-labs/agent-skills@web-design-guidelines --agent cursor -y

Global or project

Add -g to install for your user account. The skill lands in ~/.cursor/skills/<name>/ and is available in every project you open. Leave -g off to install into the current repository at .agents/skills/<name>/, which you can commit so teammates get the same skill on checkout.

Cursor also reads .cursor/skills/ inside a project. The CLI does not write there, but if you copy a skill folder by hand, either location works. Use global installs for skills you want everywhere (a design reviewer, a commit-message format) and project installs for skills tied to one codebase's framework.

npx skills add vercel-labs/agent-skills@web-design-guidelines --agent cursor -g -y

# Global:  ~/.cursor/skills/web-design-guidelines/SKILL.md
# Project: .agents/skills/web-design-guidelines/SKILL.md

Confirm Cursor sees it

Cursor scans its skill folders when a new agent chat starts, so open a new chat rather than continuing an old one. Type a slash in the chat box: the skill should appear in the list of commands under its folder name. You can also open Cursor Settings and look for the skills list under Rules; a skill that is not there was not found on disk.

If the list is stale, reload the window: open the command palette (Ctrl+Shift+P, or Cmd+Shift+P on macOS) and run Developer: Reload Window. A full restart of Cursor is rarely necessary.

Using the skill

You do not have to invoke it. Cursor reads every installed skill's name and description at the start of a chat and loads the full SKILL.md only when your request matches. To force one, type /skill-name in the chat and then your request. Forcing is useful the first time, to see what the skill does before you rely on automatic matching.

Skills and Cursor Rules are different things. A rule (.cursor/rules/*.mdc) is always on for the files it matches; a skill is loaded on demand for a task. Do not convert your rules into skills or the other way round; keep short, always-true constraints as rules and long procedures as skills.

Updating and removing

npx skills update refreshes every skill the CLI installed, in every agent folder it wrote to. To remove a skill, delete its folder from ~/.cursor/skills/ or the project's .agents/skills/ and start a new chat. There is no uninstall command that Cursor needs to know about; the folder is the registration.

npx skills update

Troubleshooting

The skill installed but Cursor never lists it. The most common cause: it was installed without --agent cursor and went to ~/.agents/skills/, which older Cursor releases do not read. Reinstall with the flag, or move the folder into ~/.cursor/skills/. Then start a new chat.

The CLI prints No valid skills found. The SKILL.md in that repository is missing name or description in its frontmatter, or the author moved it. Open the repository link on the skill page and check the current path; you can copy the folder by hand into .cursor/skills/.

The skill is listed but never triggers. Cursor matches your words against the skill's description. Read the description on the skill page and phrase the request the same way, or invoke it with a slash. Skills with a blank or one-character description will only ever work by slash.

Windows: global installs create symlinks in some agent folders, and symlinks need Developer Mode or an administrator terminal. If the CLI reports a permission error, enable Developer Mode in Windows Settings or run the command once from an elevated PowerShell. Also make sure npx resolves: run node --version first.

The agent behaves worse after installing. A large SKILL.md is loaded in full each time it triggers and can crowd out your code in a small context window. Check the size on the skill page; anything over 30 KB is worth installing per project rather than globally.

Frequently asked questions

Does the same install work for Claude Code too?

Not with --agent cursor; that targets Cursor only. Run the command again with --agent claude-code, or omit the flag and select both when prompted.

Can I install a skill without the CLI?

Yes. Copy the skill's folder (the one containing SKILL.md) into ~/.cursor/skills/ or .cursor/skills/ and start a new chat.

Do skills cost tokens when idle?

Only the name and description of each installed skill are read at the start of a chat. The full file loads when the skill triggers.

Is there a Cursor-specific skill format?

No. Cursor reads the open SKILL.md format used by Claude Code, Codex and Gemini CLI. Any skill on this site works.

Should skills be committed to the repository?

Project installs, yes, so the team shares them. Global installs live in your home directory and are never part of the repository.

Content last reviewed: