How skills work in AI editors

Claude Code skills are plain text instruction packages — a SKILL.md file with optional scripts and references — that get loaded into Claude's context when you invoke them with a slash command. There is nothing editor-specific about how they are stored or read.

When you install a skill globally, it lands in ~/.claude/skills/. Any application that runs Claude and honours that directory picks it up automatically. Cursor and Windsurf both use Claude as their AI backend and both read from the same global skills folder, so a single install command covers all three tools at once.

No plugins are needed. No editor-specific config file needs to change. The only thing required is a global install.

How it works under the hood: When you type a slash command like /tdd, the editor (or CLI) looks for a matching folder in ~/.claude/skills/, reads the SKILL.md inside it, and prepends its contents to the conversation context before sending your message to Claude. The model then behaves according to the skill's instructions for the remainder of that session.

Install skills globally

Use the -g flag with the Skills CLI to install into ~/.claude/skills/. This is the flag that makes a skill visible in Cursor, Windsurf, and every other Claude-powered tool on your machine.

Terminal
# Install any skill globally — the -g flag is the key npx skills add skill-name -g -y # Real examples: npx skills add anthropics/skills@frontend-design -g -y npx skills add anthropics/skills@tdd -g -y npx skills add anthropics/skills@systematic-debugging -g -y

The -g flag installs to your home directory instead of the current project. The -y flag skips the confirmation prompt. Both can be combined freely.

After installing, the skill is immediately available in any open Cursor or Windsurf window — no restart required. See the full installation guide for more detail on global vs. project-level installs.

Use skills in Cursor

Cursor's AI chat panel is where skills come to life. Open it with Cmd+L (macOS) or Ctrl+L (Windows/Linux), then type your skill's slash command followed by your request.

Cursor chat panel
# Invoke a skill with a slash command /frontend-design build a settings page with dark mode toggle /tdd add unit tests for the cart reducer /systematic-debugging this function returns undefined on the second call

Cursor will autocomplete known slash commands as you type — installed skills appear alongside Cursor's built-in commands in the same dropdown.

Cursor Agent mode

Skills work in Cursor Agent mode too. When you switch to Agent mode and invoke a skill, the skill's instructions load into the agent's context before it begins executing tasks. This means the agent inherits the skill's full reasoning framework — for example, /tdd will instruct the agent to write a failing test before any implementation code, even across multi-step autonomous runs.

Tip: In Agent mode, invoke the skill on the first message of your session. Skills loaded mid-session apply only to subsequent turns, not to work the agent has already completed.

Use skills in Windsurf

Windsurf uses the same slash command pattern. Open the Cascade panel with Cmd+L and invoke any globally installed skill by name.

Windsurf — Cascade panel
# Same slash command syntax as everywhere else /security-review check the open file for injection vulnerabilities /frontend-design redesign this component to match our design system

Windsurf runs Claude Sonnet as its primary backend, so all skills that target Claude (which is the vast majority of the ecosystem) work without modification. Skills that rely on extended thinking or Claude Opus-specific behaviour may behave slightly differently, but day-to-day workflow skills are fully compatible.

Windsurf flows: If you use Windsurf Flows (multi-step automated sequences), invoke your skill at the start of the first step. The skill context persists through the full flow.

Skills that work best in editors

Not all skills are equal in an editor context. The following five are particularly well-suited to the way Cursor and Windsurf work — they operate on open files, respond to in-editor context, and produce code output rather than terminal output.

Browse the full curated list at skillsforai.pro/directory.

Troubleshooting

Skill not appearing in the slash command list

If a skill you installed doesn't show up as a slash command option, work through these checks in order:

Terminal — verify install
# List globally installed skills npx skills list -g # Manually inspect the folder ls ~/.claude/skills/ ls ~/.claude/skills/tdd/ # Should show: SKILL.md (plus any scripts/ or references/)

Skill not responding as expected

If the skill loads but Claude doesn't follow its instructions, the issue is usually in the SKILL.md content itself:

FAQ

Do skills work in Cursor Agent mode?

Yes. Global skills installed via npx skills add -g are available in both Cursor's standard chat and in Cursor Agent mode. In Agent mode, invoking a skill loads its SKILL.md into the agent's context before it starts executing tasks.

Can I use project-level skills in Cursor?

Yes. Project-level skills stored in .claude/skills/ inside your project folder are available when Cursor's chat is open in that project. They work the same way as global skills — invoke with a slash command from the chat panel. This is useful for team-shared skills committed to the repo.

Do skills work in JetBrains?

Yes. The Claude Code JetBrains plugin reads global skills from ~/.claude/skills/ automatically. Slash commands work in the plugin's chat panel the same way they do in Cursor and Windsurf. Install globally once and all three editors are covered.

How do I update skills used in editors?

Run npx skills update in your terminal to update all installed skills at once. To update a specific skill, run npx skills update skill-name. Changes take effect immediately — no editor restart required.