CLI tool for managing Claude Code skills from a shared repository.
Project description
repo-skills
CLI tool for managing Claude Code skills from a shared repository.
Keep your team's skills in a central git repo, install them into any provider (Claude Code by default), edit freely, and merge changes back — all from the command line.
Requirements
- Python 3.10+
- uv (recommended for installation)
Install
uv tool install repo-skills
Verify the installation:
skills --version
Quick start
1. Register a skills source
Navigate to a git repository that contains a skills/ directory and register it:
cd /path/to/your-skills-repo
skills source init
This registers the current repo as a skill source, pinned to the current branch. You can override the name and branch:
skills source init --name my-team --branch main
2. Check available skills
skills status
This shows installed skills, available skills from registered sources, and any untracked (orphan) skill directories.
3. Install skills
skills install my-skill
skills install skill-a skill-b skill-c
When multiple sources are registered, specify which one:
skills install my-skill -s my-team
4. Update skills
Pull the latest version from the source:
skills update # update all installed skills
skills update my-skill # update a specific skill
5. Merge local edits back
If you edit an installed skill (e.g. Claude refines it while working), push those changes back to the source repo:
skills merge # merge all modified skills
skills merge my-skill # merge a specific skill
The merge creates a commit in the source repo. Use --no-commit to stage changes without committing, or --abort / --continue to manage an in-progress merge.
6. Uninstall
skills uninstall my-skill
skills uninstall skill-a skill-b
Concepts
| Term | Description |
|---|---|
| Source | A git repo registered via skills source init. Contains a skills/ directory with one or more skills. Multiple sources can coexist. |
| Skill | A directory containing a SKILL.md file inside a source's skills/ tree. Identified by leaf directory name, regardless of nesting depth. |
| Provider | An agent platform with a known skills install directory. Claude Code is the built-in default. |
| Installed copy | A skill directory inside a provider's install path, editable by the user. |
| Pinned branch | The branch captured at source init time. Merge and write operations target this branch. |
Commands
skills source
Manage skill sources (git repositories).
skills source init # register current repo as a source
skills source init --name foo # custom source name
skills source init --branch dev # pin to a specific branch
skills source list # list all registered sources
skills source remove <name> # unregister a source
skills source remove <name> --force # remove even if skills are installed
skills provider
Manage providers (agent platforms). Claude Code is registered by default.
skills provider list # list registered providers
skills provider add <name> --install-dir /path/to/skills # register a new provider
skills provider remove <name> # unregister a provider
skills install
skills install <name> [<name> ...] # install one or more skills
skills install <name> -s <source> # from a specific source
skills install <name> --force # overwrite existing skill
skills install <name> --offline # skip git pull
skills update
skills update # update all installed skills
skills update <name> # update a specific skill
skills update --offline # skip git pull
skills uninstall
skills uninstall <name> [<name> ...]
skills merge
Merge provider-side edits back into the source repo.
skills merge # merge all modified skills
skills merge <name> # merge a specific skill
skills merge --from <provider> # specify provider (when ambiguous)
skills merge --no-commit # stage changes without committing
skills merge --continue # finalize an in-progress merge
skills merge --abort # abort an in-progress merge
skills merge --rebase # use rebase instead of merge
skills merge --search-base # search git history for base commit
skills merge --offline # skip git pull
skills status
skills status # show status of all skills
skills status --sync # pull source repos before checking
Global options
skills --version # show version
skills --debug # show full traceback on errors
Skill directory structure
A source repository organizes skills under a skills/ root:
your-skills-repo/
skills/
my-skill/
SKILL.md
...
category/
another-skill/
SKILL.md
...
Categories (subdirectories) are purely organizational — the tool identifies skills by their leaf directory name.
Configuration
Configuration files are stored in ~/.config/repo-skills/:
sources.json— registered skill sourcesproviders.json— registered providers
License
Release Notes
v0.9.0
- Streaming progress for
skills update— per-source pull and per-skill status skills mergeuses git merge by default, preserving history;--rebaserestores legacy behavior--search-baseflag for merge — locate a base commit via history search for orphan merges- Detached skill detection and auto-recovery during
skills update --forceflag forsource removeto unregister sources with installed skills- Broken source/config resilience — warn and continue instead of crashing
- Outdated install detection in
skills status --debugstreams git and subprocess invocations- Per-provider update results and unified status column layout
- Internal:
ProviderRegistry/SkillManifestAPI,Consoleclass,Baselinedataclass
v0.2.0
- Multi-source architecture: register skill sources (
source init/list/remove), pin to a branch - Provider management: add, list, and remove agent platforms (Claude Code built-in)
- Install, update, and uninstall skills across sources and providers
skills merge— push provider-side edits back to source repos with--continue,--abort,--no-commitskills status— installed, available, orphan, and mergeable skills at a glance--versionand--debugglobal flags- Short flags (
-s,-f) for install; multi-skill install/uninstall - Offline mode (
--offline) for all network operations - Pretty error reporting with structured CLI output styling
v0.1.0
- Initial release
Project details
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 repo_skills-0.9.0.tar.gz.
File metadata
- Download URL: repo_skills-0.9.0.tar.gz
- Upload date:
- Size: 160.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5afece05f26d5da8c27621945d51b47c421b86dc5ca8df8b33ce774031ffab25
|
|
| MD5 |
296d9f7f4a474b1985c4fbb065fcc1db
|
|
| BLAKE2b-256 |
dec760c7835e63bfdb8e3554e62dda667b896ca1c220d43aba1b8b8a90a7f876
|
Provenance
The following attestation bundles were made for repo_skills-0.9.0.tar.gz:
Publisher:
release.yml on greendwin/repo-skills
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
repo_skills-0.9.0.tar.gz -
Subject digest:
5afece05f26d5da8c27621945d51b47c421b86dc5ca8df8b33ce774031ffab25 - Sigstore transparency entry: 1681192638
- Sigstore integration time:
-
Permalink:
greendwin/repo-skills@5663014083c17f2fc810b1539422aa34bc3b7e29 -
Branch / Tag:
refs/tags/v0.9.0 - Owner: https://github.com/greendwin
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@5663014083c17f2fc810b1539422aa34bc3b7e29 -
Trigger Event:
release
-
Statement type:
File details
Details for the file repo_skills-0.9.0-py3-none-any.whl.
File metadata
- Download URL: repo_skills-0.9.0-py3-none-any.whl
- Upload date:
- Size: 34.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 |
8f2195c39acc02fb09c9d3d4b9621982a1491230346eac1df185cda54731f5ef
|
|
| MD5 |
11ba60a750109aa4bb43e3e939a13d8f
|
|
| BLAKE2b-256 |
bf918cf75934ec936c559b6f687034eb8b7ac3cbff1496bca0fddea3948cff24
|
Provenance
The following attestation bundles were made for repo_skills-0.9.0-py3-none-any.whl:
Publisher:
release.yml on greendwin/repo-skills
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
repo_skills-0.9.0-py3-none-any.whl -
Subject digest:
8f2195c39acc02fb09c9d3d4b9621982a1491230346eac1df185cda54731f5ef - Sigstore transparency entry: 1681192804
- Sigstore integration time:
-
Permalink:
greendwin/repo-skills@5663014083c17f2fc810b1539422aa34bc3b7e29 -
Branch / Tag:
refs/tags/v0.9.0 - Owner: https://github.com/greendwin
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@5663014083c17f2fc810b1539422aa34bc3b7e29 -
Trigger Event:
release
-
Statement type: