How to Install Claude Skills from GitHub (Step-by-Step Guide)
Learn how to install Claude Skills from GitHub, Skiln.co, or build your own. Step-by-step guide with exact commands, troubleshooting tips, and best practices for 2026.

How to Install Claude Skills from GitHub (Step-by-Step Guide)
SKILL.md file in your project's .claude/skills/ directory. Method 2: Browse skiln.co/skills, find a skill, and copy the one-line install command. Method 3: Create your own skill by writing a SKILL.md file from scratch. This guide covers all three methods with exact commands, troubleshooting, and best practices.Last updated: March 2026 | Read time: 9 min
Table of Contents
- What You Need Before Starting
- Method 1: Install from GitHub (Most Common)
- Method 2: Install from Skiln.co Directory
- Method 3: Create Your Own Skill
- Managing Installed Skills
- Troubleshooting Common Issues
- Best Practices for Managing Skills
- Recommended Starter Skills
- Frequently Asked Questions
What You Need Before Starting
Before installing any Claude Skill, make sure these three things are in place.
1. Claude Code CLI Installed
Claude Skills run inside Claude Code, Anthropic's command-line interface for Claude. If you haven't installed it yet:
npm install -g @anthropic-ai/claude-code
Verify the installation:
claude --version
You should see a version number like 1.x.x or higher. If you get "command not found," make sure Node.js 18+ is installed and your npm global bin is on your system PATH.
2. A GitHub Account (Optional but Recommended)
Most community skills live on GitHub. While you can download repos as ZIP files without an account, having Git installed makes updates and version management much easier.
git --version
If Git isn't installed, grab it from git-scm.com or install via your package manager:
# macOS
brew install git
# Ubuntu/Debian
sudo apt install git
# Windows (via winget)
winget install Git.Git
3. Basic Terminal Knowledge
You need to be comfortable with:
- Opening a terminal (Terminal on macOS, Command Prompt/PowerShell/WSL on Windows, any terminal on Linux)
- Navigating directories with
cd - Running commands and reading output
That's it. No programming knowledge required for installing pre-built skills.
Understanding the Skills Directory Structure
Claude Code looks for skills in specific locations. Here's the hierarchy:
~/.claude/skills/ # Global skills (available in all projects)
your-project/
.claude/
skills/ # Project-level skills (this project only)
my-skill.md
another-skill.md
CLAUDE.md # Project instructions (can reference skills)
Global skills live in ~/.claude/skills/ and load for every Claude Code session. Project skills live in your-project/.claude/skills/ and only load when you're working inside that project directory. Most installations target the project level, keeping skills scoped to where they're needed.
Method 1: Install from GitHub (Most Common)
This is how most developers install Claude Skills today. GitHub hosts thousands of community-created skills, and the process takes under two minutes.
Step 1: Find a Skill
Start at one of these two places:
- skiln.co/browse -- The curated directory of Claude Skills with ratings, install commands, and compatibility info. Filter by category (coding, writing, DevOps, data, etc.) to find what you need.
- GitHub Search -- Search for
claude skill SKILL.mdor browse repositories tagged withclaude-skills. Many skill authors also list their skills in the Claude Code community discussions.
What you're looking for is a repository that contains a SKILL.md file (or multiple .md files in a skills/ directory). This file is the skill itself -- it contains the instructions Claude follows when the skill is invoked.
Step 2: Clone the Repository
Once you've found a skill, clone its repository. For this example, we'll install a popular code-review skill:
# Navigate to a temporary directory
cd /tmp
# Clone the skill repository
git clone https://github.com/example/claude-code-review-skill.git
If you only need the skill file and not the full repo history, use a shallow clone:
git clone --depth 1 https://github.com/example/claude-code-review-skill.git
Don't have Git? Download the repository as a ZIP from the GitHub page (click the green "Code" button, then "Download ZIP") and extract it.
Step 3: Copy the Skill File to Your Project
Every Claude Skill is a markdown file. Copy it into your project's .claude/skills/ directory:
# Create the skills directory if it doesn't exist
mkdir -p /path/to/your-project/.claude/skills
# Copy the skill file
cp claude-code-review-skill/SKILL.md /path/to/your-project/.claude/skills/code-review.md
The file name matters for your own organization, but Claude reads the content inside the file to determine behavior. Rename it to something descriptive.
For global installation (available in all projects):
# Create global skills directory
mkdir -p ~/.claude/skills
# Copy to global skills
cp claude-code-review-skill/SKILL.md ~/.claude/skills/code-review.md
Step 4: Verify the Skill Is Working
Open Claude Code in your project directory:
cd /path/to/your-project
claude
Then ask Claude to confirm the skill is loaded:
> What skills do you have available?
Claude should list the newly installed skill along with any others in your project. You can also test it directly:
> /code-review src/app.js
If the skill defines a slash command trigger (like /code-review), it activates when you type that command. If it defines behavioral instructions instead, Claude applies them automatically during relevant tasks.
Step 5: Configure the Skill (If Needed)
Some skills accept configuration. Check the skill's README or the top of the SKILL.md file for configuration options. Common patterns include:
Environment variables:
# Add to your .env or export in terminal
export SKILL_CODE_REVIEW_STRICTNESS=high
export SKILL_CODE_REVIEW_LANGUAGE=typescript
Inline configuration in CLAUDE.md:
## Skill Configuration
### Code Review
- Strictness: high
- Focus areas: security, performance, readability
- Ignore: test files, generated code
Configuration file: Some skills look for a config file at .claude/skills/code-review.config.json:
{
"strictness": "high",
"focusAreas": ["security", "performance"],
"ignore": ["**/*.test.ts", "**/generated/**"]
}
Check the skill's documentation for its specific configuration approach.
Method 2: Install from Skiln.co Directory
Skiln.co is the dedicated directory for discovering and installing Claude Skills and MCP Servers. The installation flow is streamlined compared to manually cloning from GitHub.
Step 1: Browse the Directory
Go to skiln.co/skills and explore the catalog. Each skill listing includes:
- Description -- What the skill does
- Category -- Coding, writing, DevOps, data analysis, design, etc.
- Compatibility -- Which Claude Code versions support it
- Install command -- A ready-to-copy command
- Source -- Link to the GitHub repository
- Rating -- Community rating and install count
Use the search bar or filter by category to narrow down results. Popular categories include:
| Category | Example Skills |
|---|---|
| ---------- | --------------- |
| Code Quality | Code review, linting rules, refactoring patterns |
| Documentation | README generator, API docs writer, changelog builder |
| DevOps | Docker helper, CI/CD config, deployment scripts |
| Testing | Test generator, coverage analyzer, TDD coach |
| Writing | Blog post formatter, technical writer, copy editor |
| Data | CSV analyzer, SQL helper, data pipeline builder |
Step 2: Click the Skill and Copy the Install Command
Each skill page on Skiln.co shows an install command box. Click the copy button to grab it. The command follows this format:
# One-line install from skiln.co
curl -sL https://skiln.co/install/code-review | bash
Or, for skills that use the Skiln CLI:
# Using the skiln CLI (if installed)
skiln install code-review
The install script handles everything: downloading the skill file, placing it in the correct directory, and verifying the installation.
Step 3: Choose Installation Scope
The Skiln installer prompts you to choose where to place the skill:
Installing: code-review v2.1.0
Where should this skill be installed?
[1] Current project (.claude/skills/)
[2] Global (~/.claude/skills/)
Choice: 1
ā Installed code-review to .claude/skills/code-review.md
ā Verified skill structure
ā Ready to use ā start Claude Code and try: /code-review
Step 4: Run It
Start Claude Code and the skill is available immediately:
claude
> /code-review src/components/Header.tsx
The skill page on Skiln.co also shows usage examples, so you know exactly how to invoke it.
Keeping Skills Updated via Skiln.co
Skills installed through Skiln.co can be updated with a single command:
# Update a specific skill
skiln update code-review
# Update all installed skills
skiln update --all
Skiln tracks the installed version and notifies you when updates are available.
Method 3: Create Your Own Skill
Building a custom skill is straightforward. A skill is a markdown file with structured instructions that Claude follows. Here's a quick-start overview. For the full deep-dive, see our complete guide: How to Build Custom Claude Skills.
Step 1: Create the Skill File
Create a new markdown file in your skills directory:
mkdir -p .claude/skills
touch .claude/skills/my-custom-skill.md
Step 2: Define the Skill Structure
Open the file and write the skill definition. Here's a minimal example -- a skill that formats commit messages:
# Commit Message Formatter
## Description
Formats git commit messages following the Conventional Commits specification.
## Trigger
When the user asks to commit, format a message, or types /commit-format
## Behavior
1. Analyze the staged changes using `git diff --staged`
2. Determine the commit type:
- feat: new feature
- fix: bug fix
- docs: documentation changes
- refactor: code restructuring
- test: adding or updating tests
- chore: maintenance tasks
3. Generate a commit message in this format:
type(scope): short description
- Bullet point details of changes
- Another detail
Co-Authored-By: Claude
- Present the message to the user for approval before committing
Rules
- Keep the subject line under 72 characters
- Use imperative mood ("add" not "added")
- Always include scope when identifiable
- Never commit without user confirmation
### Step 3: Place It in the Right Directory
The file is already in `.claude/skills/` if you followed Step 1. For global availability:
cp .claude/skills/my-custom-skill.md ~/.claude/skills/
### Step 4: Test It
Start Claude Code and invoke the skill:
claude
/commit-format
Claude reads the skill file and follows its instructions. Iterate on the markdown content until the behavior matches what you want. No compilation, no build step -- just edit the markdown and restart Claude Code to pick up changes.
For a complete tutorial on writing advanced skills with conditional logic, tool integration, and multi-step workflows, read [How to Build Custom Claude Skills](https://skiln.co/blog/how-to-build-claude-skills).
---
<a id="managing-skills"></a>
## Managing Installed Skills
Once you've installed a few skills, here's how to keep them organized.
### List Installed Skills
Check which skills Claude currently has access to:
List project-level skills
ls .claude/skills/
List global skills
ls ~/.claude/skills/
Inside Claude Code, ask directly:
List all available skills and slash commands
Claude reads the skills directory and reports what's loaded.
### Update a Skill
For GitHub-sourced skills, pull the latest version:
If you kept the cloned repo
cd /path/to/claude-code-review-skill git pull origin main
Copy the updated file
cp SKILL.md /path/to/your-project/.claude/skills/code-review.md
For Skiln.co-installed skills:
skiln update code-review
### Remove a Skill
Delete the skill file from the skills directory:
Remove from current project
rm .claude/skills/code-review.md
Remove from global skills
rm ~/.claude/skills/code-review.md
Restart Claude Code after removing a skill to ensure it's fully unloaded.
### Switch Between Skill Sets
Different projects benefit from different skill sets. A few strategies:
**Project-specific skills:** Keep skills in each project's `.claude/skills/` directory. Claude only loads what's relevant.
**Git-tracked skills:** Commit your `.claude/skills/` directory to version control. Every team member gets the same skills when they clone the repo.
Add skills to version control
git add .claude/skills/ git commit -m "Add project Claude Skills"
**Skill profiles with symlinks:** Create named skill sets and symlink them:
Create skill profiles
mkdir -p ~/.claude/skill-profiles/frontend mkdir -p ~/.claude/skill-profiles/backend
Symlink the active profile
ln -sf ~/.claude/skill-profiles/frontend ~/.claude/skills
This approach lets you swap entire skill sets by changing one symlink.
---
<a id="troubleshooting"></a>
## Troubleshooting Common Issues
### 1. "Skill Not Found" or Skill Not Loading
**Symptoms:** You installed a skill but Claude doesn't recognize it. Slash commands don't trigger. The skill's behavior doesn't apply.
**Solutions:**
Verify the file exists in the right location
ls -la .claude/skills/
Check file permissions (must be readable)
chmod 644 .claude/skills/code-review.md
Confirm the file has content
wc -l .claude/skills/code-review.md
Common causes:
- The file is in the wrong directory (e.g., `.claude/` instead of `.claude/skills/`)
- The file extension is wrong (must be `.md`)
- The file is empty or corrupted
- You're running Claude Code from a different directory than expected
**Fix:** Restart Claude Code after placing the file. Claude reads the skills directory at startup.
### 2. Permission Denied Errors
**Symptoms:** "Permission denied" when trying to create the `.claude/skills/` directory or copy files.
**Solutions:**
Check directory ownership
ls -la .claude/
Fix permissions on the skills directory
chmod 755 .claude/skills/
If the .claude directory doesn't exist yet
mkdir -p .claude/skills chmod 755 .claude .claude/skills
On macOS/Linux, if the project directory is owned by root (common with Docker volumes), use `sudo` or change ownership:
sudo chown -R $(whoami) .claude/
### 3. Skill Conflicts (Two Skills Competing)
**Symptoms:** Unexpected behavior. Two skills give contradictory instructions. Claude seems confused about which rules to follow.
**Solutions:**
Review your installed skills for overlapping triggers:
Search for duplicate trigger patterns across all skills
grep -l "## Trigger" .claude/skills/*.md
Read through the trigger sections. If two skills both activate on the same command or context, either:
- **Merge them** into a single skill with prioritized rules
- **Rename the trigger** on one skill to avoid overlap
- **Remove the less useful one**
Claude processes all loaded skills, so conflicting instructions degrade performance. Keep skills focused and non-overlapping.
### 4. Skills Not Loading on Startup
**Symptoms:** Skills worked yesterday but stopped loading. Claude Code starts without recognizing any custom skills.
**Solutions:**
Verify Claude Code is running from the project root
pwd
Check that .claude/skills/ hasn't been deleted or moved
ls -la .claude/skills/
Look for .gitignore rules excluding .claude/
cat .gitignore | grep claude
Common causes:
- A `.gitignore` rule is hiding the `.claude/` directory (this doesn't affect Claude, but may explain missing files after a fresh clone)
- You updated Claude Code and the skills directory location changed (check release notes)
- A project-level `CLAUDE.md` file explicitly disables skill loading
### 5. Skill Works in One Project but Not Another
**Symptoms:** The same skill works in Project A but does nothing in Project B.
**Solutions:**
Check where the skill is installed:
Is it a project-level skill?
ls project-a/.claude/skills/ ls project-b/.claude/skills/
Or is it global?
ls ~/.claude/skills/
If the skill is only in Project A's `.claude/skills/` directory, it won't be available in Project B. Either:
- Copy it to Project B: `cp project-a/.claude/skills/skill.md project-b/.claude/skills/`
- Move it to global: `cp project-a/.claude/skills/skill.md ~/.claude/skills/`
Also verify that Project B doesn't have a `CLAUDE.md` with conflicting instructions that override the skill's behavior.
### 6. Skill Produces Unexpected Output
**Symptoms:** The skill runs but the output doesn't match what you expected based on the skill's description.
**Solutions:**
Open the skill file and read through it:
cat .claude/skills/problematic-skill.md
Check for:
- **Vague instructions** that Claude interprets differently than you intended
- **Missing constraints** (e.g., "write tests" without specifying the framework)
- **Conflicting rules** within the same skill file
- **Version mismatches** between the skill and your Claude Code version
The fix is almost always editing the skill's markdown to be more specific. Skills are plain text -- adjust the instructions until the behavior matches your needs.
---
<a id="best-practices"></a>
## Best Practices for Managing Skills
### 1. Keep Skills Focused and Single-Purpose
A skill that tries to do everything does nothing well. Instead of one mega-skill called "development-helper.md" that handles code review, testing, deployment, and documentation, create four separate skills. Each skill should have one clear job.
### 2. Version Control Your Project Skills
Commit your `.claude/skills/` directory to Git. This means every developer on the team gets the same skill set when they clone the repo, and skill changes are tracked alongside code changes.
In your .gitignore, make sure .claude/skills/ is NOT excluded
Then commit:
git add .claude/skills/ git commit -m "Add team Claude Skills for code review and testing"
### 3. Use Global Skills Sparingly
Global skills (`~/.claude/skills/`) apply to every project. This is useful for personal productivity skills (like a preferred commit message format), but dangerous for project-specific rules. When in doubt, install at the project level.
### 4. Review Skills Before Installing
A Claude Skill is a set of instructions that Claude follows. Before installing a skill from an unknown source, read the markdown file. It's plain text -- there's nothing hidden. Look for instructions that could:
- Access files or directories you don't want touched
- Run commands with elevated permissions
- Send data to external services
- Modify system configuration
Reputable skills from [skiln.co/skills](https://skiln.co/skills) are community-reviewed, but always verify skills from unfamiliar GitHub repositories.
### 5. Document Your Skill Stack
Keep a note in your project's README or `CLAUDE.md` listing which skills are installed and why. Future developers (including future you) will thank you.
Claude Skills
This project uses these Claude Skills:
| Skill | Purpose | Source |
|---|---|---|
| ------- | --------- | -------- |
| code-review.md | Enforces team code standards | skiln.co/skills/code-review |
| test-writer.md | Generates Jest unit tests | github.com/example/test-skill |
| api-docs.md | Auto-generates API documentation | Custom (internal) |
---
<a id="starter-skills"></a>
## Recommended Starter Skills
New to Claude Skills? These five are solid starting points. Each one has high install counts on [skiln.co](https://skiln.co/skills) and covers a common development workflow.
### 1. Code Review Skill
Automatically reviews code for bugs, performance issues, and style violations when you open a PR or ask for a review.
Install from skiln.co
curl -sL https://skiln.co/install/code-review | bash
**Best for:** Teams enforcing consistent code quality.
### 2. Test Generator Skill
Analyzes your source files and generates unit tests with proper mocking, edge case coverage, and framework-specific patterns (Jest, Pytest, Go testing, etc.).
curl -sL https://skiln.co/install/test-generator | bash
**Best for:** Developers who want test scaffolding without writing boilerplate.
### 3. Git Commit Formatter
Enforces Conventional Commits format, analyzes diffs to determine commit type, and writes descriptive messages automatically.
curl -sL https://skiln.co/install/commit-formatter | bash
**Best for:** Teams with commit message standards or anyone using automated changelogs.
### 4. Documentation Writer
Generates README files, API documentation, inline code comments, and architecture docs by analyzing your codebase.
curl -sL https://skiln.co/install/doc-writer | bash
**Best for:** Open-source maintainers and teams onboarding new developers.
### 5. Refactoring Coach
Identifies code smells, suggests refactoring patterns, and walks you through the changes step by step. Supports multiple languages.
curl -sL https://skiln.co/install/refactoring-coach | bash
**Best for:** Developers learning clean code practices or tackling legacy codebases.
Browse the full catalog at [skiln.co/skills](https://skiln.co/skills) for hundreds more.
---
<a id="faqs"></a>
## Frequently Asked Questions
### Are Claude Skills free to install?
The vast majority of Claude Skills are free and open source. Skills are markdown files published on GitHub or listed on [skiln.co/skills](https://skiln.co/skills) at no cost. Some premium skill packs from third-party vendors may charge a fee, but the core ecosystem is free. Installing a skill costs nothing -- the only cost is your existing Claude Code subscription.
### Do Claude Skills work on Windows, macOS, and Linux?
Claude Skills are platform-agnostic. A skill is a markdown file with instructions, so it runs wherever Claude Code runs. That means Windows (via WSL or native), macOS, and Linux are all supported. The only platform-specific consideration is the shell commands a skill might ask Claude to execute -- well-written skills handle cross-platform differences automatically.
### Can I use multiple skills at the same time?
Absolutely. Claude loads all skills from your `.claude/skills/` directory (and `~/.claude/skills/` for global skills) simultaneously. There's no limit to how many skills you can have installed. The only concern is skill conflicts -- if two skills give contradictory instructions for the same trigger, behavior becomes unpredictable. Keep skills focused on distinct tasks to avoid overlap.
### Will installing a skill give it access to my codebase?
Claude Code already has access to your project files during a session. A skill doesn't grant additional access -- it provides instructions that shape how Claude behaves. Think of a skill as a checklist Claude follows, not as executable code with its own permissions. That said, a skill could instruct Claude to read or modify specific files, so review any skill before installing it.
### How do I know if a skill is compatible with my Claude Code version?
Skill listings on [skiln.co/skills](https://skiln.co/skills) include compatibility information showing which Claude Code versions are supported. For GitHub-sourced skills, check the README for version requirements. Most skills work with any recent Claude Code version since skills are instruction-based rather than API-dependent.
### Can I share my custom skills with the community?
Yes. Publish your skill's markdown file to a public GitHub repository and submit it to the [skiln.co directory](https://skiln.co/submit) for listing. Include a clear README explaining what the skill does, how to install it, and any configuration options. The community benefits from well-documented, focused skills that solve specific problems.
---
## What's Next?
Now that you know how to install and manage Claude Skills, explore further:
- **[Browse the Skiln.co Skills Directory](https://skiln.co/skills)** -- Find skills for coding, writing, DevOps, data, and more
- **[How to Build Custom Claude Skills](https://skiln.co/blog/how-to-build-claude-skills)** -- Full tutorial on creating your own skills from scratch
- **[Best Claude Skills for Developers in 2026](https://skiln.co/blog/best-claude-skills-developers)** -- Curated picks for the most useful skills
- **[MCP Servers Directory](https://skiln.co/mcp-servers)** -- Extend Claude's capabilities even further with MCP integrations
---
<!-- HowTo Schema -->
<!-- BlogPosting Schema -->
<!-- FAQ Schema -->