Install Claude Code skills from GitHub
Project description
skill-installer
Claude Code supports custom skills — Markdown files that teach Claude how to approach specific tasks (code reviews, standups, debugging workflows, and more). Skills live in a local directory and are picked up automatically when you start a session.
skill-installer is a CLI tool that fetches skills from GitHub and installs them into your skills directory. You point it at a GitHub URL, it clones the repo locally, copies the skill folder, and writes a metadata file so the tool knows where the skill came from. When a skill author pushes an update, one command brings all your skills up to date.
You need this if you want to:
- Install skills shared by others without manually cloning repos and copying folders
- Keep installed skills in sync with their upstream sources
- Manage skills from multiple GitHub repos through a single tool
Setup
Homebrew (recommended)
brew tap renekann/skill-installer
brew install skill-installer
pipx
pipx install skill-installer
pip
pip install skill-installer
Manual (symlink)
git clone https://github.com/renekann/skill-installer.git
chmod +x skill-installer/skill_installer.py
ln -s "$PWD/skill-installer/skill_installer.py" /usr/local/bin/ski
Usage
# Install a skill (blob, tree, or raw.githubusercontent.com URL)
ski https://github.com/mblode/agent-skills/blob/main/skills/optimise-seo/SKILL.md
# List all installed skills
ski --list
# Show details for a specific skill
ski --info optimise-seo
# Update all installed skills to latest
ski -u
# Update a specific skill
ski -u optimise-seo
# Remove a skill
ski --remove optimise-seo
# Clear the local git repo cache
ski --purge-cache
# Show version
ski --version
skill-install works as an alias for ski.
Configuration
Config file (recommended)
Create ~/.skill-installer/config with KEY=VALUE entries. Lines starting with # are ignored.
SKILL_INSTALL_DIR=~/.claude/skills
SKILL_CACHE_DIR=~/.skill-installer/repos
Environment variables
Env vars take precedence over the config file.
export SKILL_INSTALL_DIR=~/my-skills
ski https://github.com/...
Defaults
| Variable | Default |
|---|---|
SKILL_INSTALL_DIR |
~/.claude/skills |
SKILL_CACHE_DIR |
~/.skill-installer/repos |
How it works
- The GitHub URL is parsed to extract the owner, repo, and skill folder path.
- The repo is cloned (shallow) into
SKILL_CACHE_DIR/{owner}/{repo}/— or fetched if already cached. - The skill folder is copied into
SKILL_INSTALL_DIR/{skill-name}/. - A
.skill-source.jsonfile is written into the skill folder with the source URL, repo, and commit hash.
Multiple skills from the same repo share one cached clone. ski --update-all runs one git pull per repo, then re-copies all affected skill folders.
Requirements
- Python 3.9+
gitin PATH- No additional Python packages required
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file skill_installer-0.1.9.tar.gz.
File metadata
- Download URL: skill_installer-0.1.9.tar.gz
- Upload date:
- Size: 20.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
010f777d28b3276140a43fafdaa550afd9bf73ff791d9ba50cb423260385eac1
|
|
| MD5 |
8b805a33fca21cab0696394b6e88b66e
|
|
| BLAKE2b-256 |
1a51c2aa667d659649d8f2f17b06cb2d2d1860d00987ec2f368a32f596bc8acd
|
Provenance
The following attestation bundles were made for skill_installer-0.1.9.tar.gz:
Publisher:
publish.yml on renekann/skill-installer
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
skill_installer-0.1.9.tar.gz -
Subject digest:
010f777d28b3276140a43fafdaa550afd9bf73ff791d9ba50cb423260385eac1 - Sigstore transparency entry: 1280754063
- Sigstore integration time:
-
Permalink:
renekann/skill-installer@e30e7dd7b11cbd0b91381012157680e9c0d91373 -
Branch / Tag:
refs/tags/v0.1.9 - Owner: https://github.com/renekann
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@e30e7dd7b11cbd0b91381012157680e9c0d91373 -
Trigger Event:
push
-
Statement type:
File details
Details for the file skill_installer-0.1.9-py3-none-any.whl.
File metadata
- Download URL: skill_installer-0.1.9-py3-none-any.whl
- Upload date:
- Size: 6.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e98ef64ce4264c1b12487d52a07cd37f68c1065152202a58cf919ea54c28ad1f
|
|
| MD5 |
6eb74b27a01706efb0966987e01f8404
|
|
| BLAKE2b-256 |
e32509a862b0ce12b5e4915b1e4a02ebfb8b1bd9954e057e4718532a6bdb2c32
|
Provenance
The following attestation bundles were made for skill_installer-0.1.9-py3-none-any.whl:
Publisher:
publish.yml on renekann/skill-installer
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
skill_installer-0.1.9-py3-none-any.whl -
Subject digest:
e98ef64ce4264c1b12487d52a07cd37f68c1065152202a58cf919ea54c28ad1f - Sigstore transparency entry: 1280754065
- Sigstore integration time:
-
Permalink:
renekann/skill-installer@e30e7dd7b11cbd0b91381012157680e9c0d91373 -
Branch / Tag:
refs/tags/v0.1.9 - Owner: https://github.com/renekann
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@e30e7dd7b11cbd0b91381012157680e9c0d91373 -
Trigger Event:
push
-
Statement type: