Guide

How to install skills in Claude Code: the skills folder on Mac and Windows

To install a skill in Claude Code, put the skill's folder (the one with SKILL.md inside) in ~/.claude/skills/ to use it in all your projects, or in .claude/skills/ inside a repository so everyone who works there gets it. On Windows, ~/.claude is %USERPROFILE%\.claude, so your personal skills go in %USERPROFILE%\.claude\skills\. Claude Code picks up the new folder in the running session; type /skills to see it listed.

Short answer

  • Mac and Linux: ~/.claude/skills/<skill-name>/SKILL.md
  • Windows: %USERPROFILE%\.claude\skills\<skill-name>\SKILL.md
  • One repository, the whole team: .claude/skills/<skill-name>/SKILL.md, committed.
  • Check: /skills, or ask "What skills are available?"

Where the skills folder is on Mac and Windows

ScopeMac and LinuxWindowsLoads in
Personal~/.claude/skills/<skill-name>/SKILL.md%USERPROFILE%\.claude\skills\<skill-name>\SKILL.mdAll your projects on this computer
Project.claude/skills/<skill-name>/SKILL.md in the repositoryThe same .claude/skills/ folder in the repositorySessions in that repository; commit it and teammates get it
From claude.ai~/.claude/skills/synced/, written by Claude CodeThe same synced folder under %USERPROFILE%\.claude\skills\Sessions signed in with that claude.ai account

From Claude Code's docs, read 6 November 2026. If a personal and a project skill share a name, the personal one runs. %USERPROFILE% is typically C:\Users\<you> (Microsoft). If you've set CLAUDE_CONFIG_DIR, the folder lives under that instead.

Install a skill someone sent you

You have a folder, say pr-description, with a SKILL.md directly inside, in your Downloads folder. Unzip it first if it came as a ZIP.

Mac or Linux, in Terminal:

mkdir -p ~/.claude/skills
cp -R ~/Downloads/pr-description ~/.claude/skills/

Windows, in PowerShell, where $HOME is your %USERPROFILE% folder:

New-Item -ItemType Directory -Path "$HOME\.claude\skills" -Force
Copy-Item -Path "$HOME\Downloads\pr-description" -Destination "$HOME\.claude\skills" -Recurse -Force

Point -Path at the folder with SKILL.md directly inside. On Windows, Extract All can put a ZIP's folder one level deeper, in Downloads\pr-description\pr-description; if SKILL.md is in there, copy that inner folder. The destination is the skills folder itself, so Copy-Item keeps the folder's name (Microsoft: copy to an existing folder to keep the source folder's name), and -Force lets a second run copy a newer version over the old files.

For the whole team, copy it into the repository's .claude/skills/ instead and commit it. Everyone who pulls gets the skill.

Then, in Claude Code, type /skills. If the skills folder didn't exist when the session started, run /reload-skills first, and again after each later change there during that session.

Two other ways a skill reaches Claude Code

  • From your claude.ai account. Skills you turned on in Claude's Customize > Skills load in Claude Code when you sign in with the same claude.ai account (version 2.1.273 or later). They download into ~/.claude/skills/synced/ and show under "claude.ai sync" in /skills. Edit them on claude.ai, not in that folder: a later sync can overwrite local edits. With an API key or a cloud provider such as Amazon Bedrock, nothing syncs.
  • As a plugin. If the skills come as a plugin marketplace on GitHub, run /plugin marketplace add owner/repo, then /plugin install <plugin>@<marketplace>; or add it once in Claude's Customize > Plugins, and it syncs to Claude Code signed in to the same account. Its skills run as /<plugin>:<skill>. Installing Claude skills from GitHub walks through both kinds of repository.

The Claude desktop app counts too: its local Claude Code sessions read ~/.claude/skills/. Cowork, in the same app, doesn't; it uses the skills in your claude.ai account.

Installed, but Claude Code doesn't list it

  • One folder too deep: Claude Code reads skills/<skill-name>/SKILL.md. If you see skills/pr-description/pr-description/SKILL.md, the copy took the outer folder of an unzipped download; move the inner folder up a level.
  • A reserved name: a folder called synced is skipped; that name belongs to the skills Claude Code downloads from claude.ai.

Listed but never used, or other causes: Claude skills not showing up has the checks for Claude Code and claude.ai.

A worked example: one skill on a Mac and a Windows laptop

Illustration: a made-up business. Priya and Tom build client websites as a two-person studio. Priya works on a Mac, Tom on Windows, both in Claude Code. Before every pull request Priya pastes:

Write the PR description from this diff: what changed and why in two sentences, a Testing section with the exact commands I ran, and a Risk line. If there's a database migration, say so first. No marketing words.

Her usual correction: "Don't invent test commands; ask me." She gives both to the prompt-to-skill skill and gets back a SKILL.md that starts:

---
name: pr-description
description: Writes a pull request description from the diff - what changed and why, the exact test commands that were run, and the risk - with any database migration first. Use when someone asks for a PR description, a PR summary or "write up this PR".
---

## Steps
1. Read the diff. If it adds or changes a migration, open with
   "Migration:" and the table it touches.
2. What and why: two sentences, no marketing words.
3. Testing: list only commands the user gave. If none, ask for them.
...
  1. Priya saves it as ~/.claude/skills/pr-description/SKILL.md; /skills lists it at once.
  2. Tom gets the folder in a chat message, saves it to Downloads, and runs the two PowerShell lines above. /skills lists it.
  3. A week later Priya adds "link the ticket". Tom's copy doesn't change. They move the folder into the client repository's .claude/skills/ and commit it, so a pull updates both.

The repository fixes it for the two of them. The client's project manager, who uses Claude in the browser, still can't reach it.

Next step: add the team's pod once instead of copying folders

A copied folder stays on one computer, and a committed one reaches only people who work in that repository. How to share Claude skills on GitHub compares the routes for a whole team. Writing the skill yourself? How to create Claude skills in Claude Code covers the SKILL.md itself.

AI Skill Pod, this site's product, lets you share AI skills with your team, easily; free to start. Each person adds the team's pod once, in Claude Code with claude mcp add --transport http and the pod's link, and in Claude, Cursor or ChatGPT (Pro, Business, Enterprise) as a connector. Everyone then reaches the same skills, and an edit reaches everyone the next time their AI fetches the skill. The pod's skills don't appear in /skills: Claude Code fetches them from the pod when a task matches, or when you ask for one by name. Free covers up to 3 members and 10 skills.

Skills for this

All skills

Questions

Where is the Claude Code skills folder on Windows?

In %USERPROFILE%\.claude\skills\, typically C:\Users\<you>\.claude\skills\, because Claude Code's docs say ~/.claude resolves to %USERPROFILE%\.claude on Windows. Each skill is a subfolder with a SKILL.md inside. A repository's skills go in its .claude/skills folder, as on a Mac.

Where is the Claude Code skills folder on a Mac?

~/.claude/skills/<skill-name>/SKILL.md for skills you want in every project, or .claude/skills/<skill-name>/SKILL.md inside a repository for everyone who works in it. The Terminal commands on this page create the folder and copy the skill in.

My skill isn't listed after I unzipped it on Windows. Why?

Extract All can put the ZIP's folder one level deeper, so the copy ends up as skills\pr-description\pr-description\SKILL.md, and Claude Code reads only skills\<skill-name>\SKILL.md. Copy the inner folder, the one with SKILL.md directly inside, into %USERPROFILE%\.claude\skills, then check /skills.

Can Claude Code use the skills I uploaded on claude.ai?

Yes, when you sign in to Claude Code with the same claude.ai account (Claude Code v2.1.273 or later). It downloads them into ~/.claude/skills/synced/ and lists them under claude.ai sync in /skills. It doesn't sync when you sign in with an API key or run through a cloud provider.

AI skill

Have your AI turn a prompt that works into a skill your team can reuse

Put this skill in AI Skill Pod and everyone on your team gets it in their Claude, Cursor or ChatGPT (Pro, Business, Enterprise): one invite link, free to start. Turn a prompt into a skill has your AI turn the prompt you paste before every pull request, review or deploy into a skill folder for Claude Code: a SKILL.md with a name, a description that says when to load it, steps and checks.

Use this skill in your AI

14 days free · No card needed

Sources

  1. Claude Code Docs: Extend Claude with skills — read 07:49 JST: personal ~/.claude/skills/<skill-name>/SKILL.md (all your projects on this machine), project .claude/skills/<skill-name>/SKILL.md (commit it to share), enterprise in the managed settings directory; personal beats project on a name clash; Claude Code watches the skill folders and picks up changes without a restart, /reload-skills for a top-level skills folder created during the session; skills enabled on claude.ai sync into ~/.claude/skills/synced/ when you sign in with that account (v2.1.273 or later), not with an API key or a cloud provider; don't name a folder synced; troubleshooting: What skills are available?, /skill-name, --debug, claude plugin validate (read 2026-11-06)
  2. Claude Code Docs: Explore the .claude directory — read 07:50 JST: on Windows, ~/.claude resolves to %USERPROFILE%\.claude; CLAUDE_CONFIG_DIR moves it (read 2026-11-06)
  3. Claude Code Docs: Commands — read 07:53 JST: /skills lists available skills; /reload-skills re-scans skill directories (read 2026-11-06)
  4. Claude Code Docs: Claude Desktop — read 07:53 JST: local sessions in the desktop app load personal skills from ~/.claude/skills/; Cowork sources skills from Customize through the claude.ai account, not ~/.claude (read 2026-11-06)
  5. Claude Code Docs: Discover and install plugins — read 07:49 JST: /plugin marketplace add owner/repo, /plugin install <plugin>@<marketplace>; plugin skills appear as /<plugin>:<skill> (read 2026-11-06)
  6. Claude Code Docs: Connect Claude Code to tools via MCP — read 07:59 JST: claude mcp add --transport http <name> <url> (read 2026-11-06)
  7. Microsoft Learn: about_Automatic_Variables — read 07:52 JST: $HOME is the user's home directory; on Windows the value of $Env:USERPROFILE, typically C:\Users\<UserName> (read 2026-11-06)
  8. Microsoft Learn: Copy-Item — read 08:00 JST: -Recurse copies a directory and its contents; to keep the source directory's name, copy to an existing destination directory; -Force copies over items that can't otherwise be changed (read 2026-11-06)
  9. Microsoft Learn: New-Item — read 08:00 JST: -ItemType Directory -Path creates a directory; -Force creates the item even when folders in the path don't exist (read 2026-11-06)