How to install Claude skills in Claude and Claude Code
To install Claude skills correctly, first decide where the skill must run. Claude and Claude Desktop
can install account-based skills from the unified directory or from an uploaded ZIP file. Local
Claude Code can load a personal skill from ~/.claude/skills/ or a project skill from
.claude/skills/ inside a repository.
Those routes are not interchangeable. A skill installed only on your laptop is not automatically available to a remote Cowork session, and a project skill committed to one repository should not silently become a rule for every project you open.
Use this guide to choose the right scope, install the skill, verify that Claude can find it, and review what you are granting before the first real task.
Choose the installation route
| Where you need the skill | Installation method | Who gets it |
|---|---|---|
| Claude or Claude Desktop | Install from Customize → Skills | Your Claude account |
| Claude or Claude Desktop, custom bundle | Upload a ZIP from Customize → Skills | Your Claude account |
| Claude Code, every local project | ~/.claude/skills/<name>/SKILL.md |
You on this machine |
| Claude Code, one repository | .claude/skills/<name>/SKILL.md |
Anyone using that repository |
| Claude Code, from your Claude account | Sync with CLAUDE_CODE_SYNC_SKILLS |
You on this machine |
| Claude organization | Share or provision through organization settings | Selected people, groups, or the organization |
If you have not used a skill before, read what AI agent skills are before choosing a scope. The short version: a skill is active instruction, and it can include code. Treat installation more like adding a small dependency than bookmarking an article.
Install a skill from Claude's directory
Anthropic's current directory instructions apply to Claude and Claude Desktop:
- Open Claude or Claude Desktop.
- Select Customize in the sidebar.
- Open Skills, then select the + button.
- Choose Browse skills.
- Review the skill, then select Install.
The installed skill appears under Customize → Skills and is enabled by default. You can toggle it off without removing its directory entry, then enable it again later.
Directory skills are view-only. If you need to change one, download a copy, inspect it, make the change, and upload the result as your own custom skill. That creates a separate copy; it does not edit the publisher's version.
Upload a custom skill to Claude or Claude Desktop
For a local skill folder you created or downloaded, Claude
expects a ZIP archive. Before packaging it, confirm that the root folder contains SKILL.md and that
its name matches the skill's name field.
The official Claude skills guide currently gives this flow:
- Package the complete skill folder as a ZIP file.
- Open Customize → Skills.
- Select +, then Create skill.
- Choose Upload a skill.
- Select the ZIP file.
- Confirm that the new skill appears in your list and is enabled.
On individual plans, an uploaded custom skill is private to the account that uploaded it. Team and Enterprise organizations can additionally share skills with people or groups, publish them to the organization directory, or provision them centrally when administrators enable those capabilities.
Claude skills require Code execution and file creation to be enabled. If the Skills section is missing or greyed out, check Settings → Capabilities on individual plans or ask an organization owner to check the relevant organization settings.
Install a personal Claude Code skill
A personal Claude Code skill is available across your local projects. Create this structure:
~/.claude/skills/
└── source-review/
├── SKILL.md
├── references/
└── scripts/
The required file path is:
~/.claude/skills/source-review/SKILL.md
Claude Code watches existing skill directories for changes, so edits to SKILL.md normally appear
in the current session. If the top-level skills directory did not exist when the session started,
restart Claude Code after creating it so the directory can be watched.
Use personal scope for a workflow that belongs to you and genuinely applies across repositories: a writing checklist, a personal code-review method, or a handoff format. Avoid putting repository architecture or team-only rules here. A personal skill takes precedence over a project skill with the same name, which can make a shared workflow behave differently on your machine.
Install a project skill in Claude Code
A project skill lives in the repository:
your-project/
└── .claude/
└── skills/
└── source-review/
├── SKILL.md
└── references/
Its required path is:
.claude/skills/source-review/SKILL.md
Commit the folder when the workflow should travel with the codebase and be reviewed like any other change. Project scope is a good fit for build instructions, architectural constraints, release procedures, or tests that every contributor should run the same way.
Claude Code's current skills documentation
also supports nested .claude/skills/ directories. That lets one package inside a monorepo provide a
skill that becomes relevant when Claude works in that package. Keep the simple repository-level path
unless the narrower scope solves a real conflict.
Use your Claude account skills in Claude Code
Local Claude Code skills and account-based Claude skills are separate sources, and the gap between
them surprises people. Cowork and other cloud sessions do not read ~/.claude/skills/ from your
laptop. They load the skills enabled for your Claude account, synced at session start, and cloud
sessions additionally load project skills committed to the cloned repository. A skill that exists
only on your machine is reported as not found when a scheduled routine tries to invoke it.
Locally, the flow runs the other way, and it is not automatic. A session on your machine loads your account's skills only after you download them once in a non-interactive run:
CLAUDE_CODE_SYNC_SKILLS=1 claude -p "List the skills you have available"
Claude Code downloads the skills you enabled on claude.ai into ~/.claude/skills/synced/, answers
the prompt, and exits. The files stay on disk, so every later session picks them up; run /skills in
an interactive session and they appear under the claude.ai sync group. Because the download only
happens during a run with that variable set, repeat the command after you enable or change a skill on
claude.ai.
Two details worth knowing: synced is a reserved folder name in the personal, project, and
enterprise skill locations, so do not author a skill there; and a skill you install locally overrides
a synced skill with the same name.
Verify that the skill works
In Claude Code, confirm the skill was found before you test its behavior. Run /skills and look for
it in the menu, grouped under the source it came from. If it is missing, the problem is the location
or the frontmatter, not the instructions.
Once it appears, do not make the first test a production deployment or a document containing private data. Create a small representative input and test both routing paths:
- Natural trigger: Ask for a task that clearly matches the description.
- Direct invocation: In Claude Code, invoke the skill by its slash name, such as
/source-review. - Non-trigger: Ask for a nearby task the skill should not handle.
- Edge case: Omit one required input and confirm that the skill asks for it or marks it missing.
Check more than whether the skill name appeared. Review the output against observable criteria: Did it follow the required sequence? Did it use the right references? Did it avoid inventing missing facts? Did it stay within the permissions you expected?
Troubleshoot common installation problems
Claude cannot see the skill. Confirm that the file is named SKILL.md, not skill.md, and that
it is inside a single skill directory. In Claude or Desktop, confirm the skill is enabled. In Claude
Code, confirm the folder is in the correct personal or project location.
The upload fails. Check the ZIP size, folder name, required file, and frontmatter. The open specification requires lowercase letters, numbers, and hyphens in the name; it must match the parent directory.
Claude sees the skill but does not use it. Rewrite the description to state both what the skill does and when it applies. “Helps with research” is weak. “Checks a draft against supplied sources and flags unsupported claims; use before publishing an article, report, or brief” gives the router usable signals.
The wrong version runs. Look for another skill with the same name. In Claude Code, enterprise, personal, project, plugin, and synced sources have precedence rules. Rename the skill when two workflows are intentionally different.
Changes do not appear. Account uploads may need a new upload. Local Claude Code normally detects
SKILL.md edits, but newly created top-level directories or non-skill plugin files may require a
restart or plugin reload.
Review before you enable
A community skill can contain instructions, scripts, dependencies, and network calls. Anthropic's security guidance tells users to install only from trusted sources and to inspect bundled files, especially code dependencies, scripts, and instructions that connect to external networks.
Before installation:
- confirm the publisher and source repository;
- read the complete
SKILL.mdbody; - inspect scripts, hooks, package manifests, and lockfiles;
- look for access to credentials, broad file paths, or unknown domains;
- check what updates automatically and how to remove it; and
- test with synthetic data and the smallest useful permission set.
A scan is evidence, not a guarantee. LLM Mart's trust details help you see what was inspected, but your environment determines the consequence of a mistake.
Install the skill where it belongs, prove that it activates on the right task, and keep its authority smaller than the workflow requires. A reusable workflow should remove repetition, not hide what your agent is allowed to do.
Sources
Comments (0)
Sign in to join the conversation.
No comments yet.