How to Install Claude Code Skills from GitHub (Full 2026 Guide)

The Quickest Path to Your First Skill
Installing Claude Code skills takes under five minutes. This guide covers every method — cloning from GitHub, unpacking a purchased bundle, and wiring skills into your CLAUDE.md — plus a full troubleshooting section for every error you might hit.
---
Prerequisites
Before you install any skill you need two things:
- Claude Code — the official Anthropic CLI. Install it with:
npm install -g @anthropic-ai/claude-codeThen authenticate:
claudeFollow the browser prompt to log in with your Anthropic account.
- A project directory — Skills are per-project. Navigate to (or create) the project you want to augment:
mkdir my-project && cd my-projectSkills work on every Claude subscription tier — Pro, Team, and Enterprise. You do not need a paid tier to run skills; you only need a Claude Code session.
---
Understanding the Skills Directory
Claude Code discovers skills by scanning for a specific folder structure inside your project:
your-project/
├── .claude/
│ └── skills/ ← all skills live here
│ ├── skill-one/
│ │ └── SKILL.md
│ └── skill-two/
│ ├── SKILL.md
│ └── scripts/
│ └── helper.sh
└── src/Each skill is a subfolder inside .claude/skills/. The folder name is the skill's identifier — it's what you type when invoking it explicitly. The only required file is SKILL.md.
Create the directory now so it's ready:
mkdir -p .claude/skills---
Method 1: Install a Skill from GitHub
Most open-source skills are published as GitHub repositories or as individual folders inside a larger repo. There are two approaches depending on how the skill is distributed.
Option A — Clone a single-skill repo
If the repository *is* the skill (the root contains SKILL.md):
# From your project root
git clone https://github.com/author/skill-name .claude/skills/skill-nameReplace author/skill-name with the actual repo path and choose any folder name you like as the destination.
Option B — Clone a multi-skill repo, copy what you need
If the repo is a collection (like a skills vault), clone it somewhere temporary and copy individual skills:
# Clone the full collection to a temp location
git clone https://github.com/author/skills-collection /tmp/skills-collection
# Copy just the skills you want
cp -r /tmp/skills-collection/test-driven-development .claude/skills/
cp -r /tmp/skills-collection/systematic-debugging .claude/skills/
cp -r /tmp/skills-collection/api-design-reviewer .claude/skills/
# Clean up
rm -rf /tmp/skills-collectionOption C — Use `git sparse-checkout` for large repos
If the repo is very large and you only want one skill, sparse checkout avoids downloading everything:
git clone --no-checkout --depth=1 https://github.com/author/skills-collection /tmp/sparse-skills
cd /tmp/sparse-skills
git sparse-checkout init --cone
git sparse-checkout set test-driven-development
git checkout
cp -r test-driven-development ~/my-project/.claude/skills/
cd ~ && rm -rf /tmp/sparse-skills---
Method 2: Install from a ZIP Bundle
If you purchased a skill bundle (like the Cycolaps AI Agent Skills Vault), you received a .zip archive. Here's how to install from it:
# Unzip to a temporary directory
unzip ai-agent-skills-bundle.zip -d /tmp/skills-bundle
# List available skills to see what's inside
ls /tmp/skills-bundle/
# Copy specific skills into your project
cp -r /tmp/skills-bundle/code-reviewer .claude/skills/
cp -r /tmp/skills-bundle/seo-optimizer .claude/skills/
cp -r /tmp/skills-bundle/security-auditor .claude/skills/
# Or copy everything at once
cp -r /tmp/skills-bundle/. .claude/skills/You can also install globally — into your home directory — so skills are available in *every* project:
mkdir -p ~/.claude/skills
cp -r /tmp/skills-bundle/. ~/.claude/skills/Claude Code checks both ~/.claude/skills/ (global) and .claude/skills/ (project-local) on startup. Project-local skills take precedence if names conflict.
---
Step 3: Verify the Installation
Start (or restart) Claude Code in your project directory:
claudeAsk Claude to confirm it can see your skills:
What skills do you have available?Claude will list every skill it found in the skills directories, along with each skill's description from the SKILL.md frontmatter. If a skill you installed doesn't appear, see the Troubleshooting section below.
---
Step 4: How to Access and Invoke a Skill
There are two invocation modes:
Explicit invocation — `/skill <name>`
Type the skill name directly to activate it regardless of context:
/skill test-driven-developmentClaude will switch into that skill's operational mode immediately and follow its full instruction set.
Automatic routing
Just describe what you want to do in natural language. Claude reads your task description and matches it against installed skills. For example:
| What you type | Skill Claude activates |
|---|---|
| "Write tests for this function" | test-driven-development |
| "Debug why this test is failing" | systematic-debugging |
| "Review this API for design issues" | api-design-reviewer |
| "Audit this file for security vulnerabilities" | security-auditor |
Automatic routing is the most natural way to work — you don't need to remember skill names.
Passing context with skill invocation
You can invoke a skill *and* provide context in the same message:
/skill code-reviewer
Here is the PR diff I need reviewed:
[paste diff]Or in natural language:
Perform a full security audit on src/api/auth.ts — focus on injection vectors and token handling.---
Step 5: Register Skills in CLAUDE.md (Recommended)
For team projects, document your installed skills in CLAUDE.md at your project root. This ensures every team member and every Claude session knows which skills are available and when to use them:
# CLAUDE.md
## Available Skills
- **test-driven-development** — Use when writing new features; always produce tests first
- **systematic-debugging** — Use when investigating test failures or unexpected behavior
- **security-auditor** — Run before every PR merge on any auth or API-touching files
- **api-design-reviewer** — Use when designing or changing REST/GraphQL contractsClaude reads CLAUDE.md on session start, so this acts as standing instructions — Claude will automatically apply the right skill for the right task without being asked.
---
Step 6: Customize a Skill for Your Project
Skills are plain Markdown — open any SKILL.md in your editor and modify it. Useful customizations:
Add project-specific context at the top:
## Project Context
This project uses TypeScript strict mode, Zod for validation, and Vitest for testing.
All API routes are in src/app/api/. Database access goes through src/lib/db/.Adjust the workflow steps — remove steps that don't apply, add steps that do. For example, if your security auditor should also check Vercel environment variable exposure, add that as a step.
Reference your style guide or standards — paste in your ESLint config summary or link to your team wiki page so Claude follows your conventions precisely.
Changes take effect immediately in the next Claude Code session — no rebuild required.
---
Troubleshooting
"Skills not detected" — Claude says it has no skills
Check the directory path. It must be exactly:
.claude/skills/<skill-name>/SKILL.mdCommon mistakes:
- Using
.agents/skills/instead of.claude/skills/(old path from earlier Claude Code versions) - The skill folder is missing — you copied
SKILL.mddirectly into.claude/skills/without a subfolder - The
SKILL.mdfile has a different name or extension (skill.md,README.md)
Verify with:
find .claude/skills -name "SKILL.md"You should see one line per installed skill.
Skill not triggering automatically
Automatic routing depends on Claude matching your task description to the skill's description field in the YAML frontmatter. If it's not triggering:
- Use explicit invocation:
/skill - Open the
SKILL.mdand improve thedescriptionfield to better match the phrases you actually use - Add trigger keywords to your
CLAUDE.mdas shown in Step 5
Two skills are conflicting
If two installed skills both claim to handle the same task type, Claude may ask which one to use. To resolve permanently:
- Rename one skill's folder to something more specific (e.g.,
security-auditor-backendvssecurity-auditor-frontend) - Merge the two skills into one
SKILL.mdwith a combined instruction set - Use explicit
/skillinvocation for the one that needs to stay specific
Git-cloned skill has nested subdirectories
If you cloned a repo and the SKILL.md is two levels deep:
# Wrong — SKILL.md is at .claude/skills/repo-name/skill-name/SKILL.md
git clone https://... .claude/skills/repo-name
# Fix — move the skill folder up one level
mv .claude/skills/repo-name/skill-name .claude/skills/skill-name
rm -rf .claude/skills/repo-namePermission error on macOS or Linux
chmod -R 644 .claude/skills/
find .claude/skills -type d -exec chmod 755 {} \;---
Quick Reference
# Create skills directory
mkdir -p .claude/skills
# Install from GitHub (single skill repo)
git clone https://github.com/author/skill-name .claude/skills/skill-name
# Install from a bundle zip
unzip bundle.zip -d /tmp/bundle && cp -r /tmp/bundle/. .claude/skills/
# Verify installation
find .claude/skills -name "SKILL.md" | sort
# Invoke a skill
/skill <skill-name>
# Ask Claude what skills are installed
"What skills do you have available?"---
Next Steps
Once your skills are installed and working, you're ready to go deeper:
- Build your own skill — Read the [Building Custom Claude Skills](/blog/building-custom-claude-skills-tutorial) guide to create a
SKILL.mdtailored to your exact workflow - Explore the full vault — The [Cycolaps AI Agent Skills Vault](/vault) contains 1,939 production-tested skills across engineering, security, marketing, and content categories
- Understand the architecture — [What Are Claude Skills?](/blog/what-are-claude-skills-complete-guide) explains the
SKILL.mdformat, frontmatter schema, and how automatic routing actually works under the hood
Was this article helpful?