Different Claude behavior per project — zero manual file editing.
pip install git+https://github.com/kyleyan-builds/skillpack.gitskillpack install code-reviewer
# Done. Injected into CLAUDE.md — Claude picks it up immediately.Claude Code reads CLAUDE.md for project-specific instructions and ~/.claude/CLAUDE.md for global ones. Managing these manually gets painful fast:
- Global pollution: A "use strict TypeScript" rule in
~/.claude/CLAUDE.mdleaks into your Python projects - No versioning: Edit CLAUDE.md directly, no way to rollback
- No sharing: Copy-paste skills between machines and teammates
- No per-project control: You want different skills for different repos
skillpack install writes skill content directly into CLAUDE.md with trackable markers. Claude Code reads it immediately — no extra steps.
# Install to this project's CLAUDE.md (default in git repos)
skillpack install code-reviewer
# Install globally to ~/.claude/CLAUDE.md
skillpack install --global code-reviewer
# Install as a slash command (/review)
skillpack install --command review code-reviewer| Scope | Target File | When to Use |
|---|---|---|
| project (default) | ./CLAUDE.md |
Skills for this repo only |
global (--global) |
~/.claude/CLAUDE.md |
Skills for all projects |
command (--command) |
.claude/commands/<name>.md |
On-demand slash commands |
skillpack wraps skill content in markers so it can track, update, and remove cleanly:
<!-- skillpack:start code-reviewer@1.0.0 -->
<!-- skillpack:hash b0cfb6b0fd820151 -->
# Code Reviewer
Your skill instructions here...
<!-- skillpack:end code-reviewer -->Your own content in CLAUDE.md is never touched.
# 1. Install a skill (works immediately — no setup needed)
skillpack install code-reviewer
# 2. See what's installed
skillpack list
# 3. Preview a skill's content
skillpack show code-reviewerPROJECT (./CLAUDE.md)
code-reviewer v1.0.0 Structured code review with security & performance checks
| Command | What it does |
|---|---|
skillpack install |
Install a skill — writes directly to CLAUDE.md |
skillpack uninstall |
Remove a skill from CLAUDE.md (backups kept) |
skillpack list |
Show installed skills with descriptions and tamper detection |
skillpack show |
Preview a skill's content and metadata |
skillpack sync |
Sync all skills in .skillsync.yaml |
skillpack rollback |
Restore a previous version from backup |
skillpack auth |
Store GitHub token for private repos and higher rate limits |
skillpack init |
Interactive setup — generates .skillsync.yaml |
# Bare name — works out of the box, no auth needed
skillpack install code-reviewer
# Explicit GitHub source
skillpack install myuser/my-skills --skill code-reviewer
# From local directory (great for development)
skillpack install --local ~/my-skills/code-reviewer
# Install globally
skillpack install --global code-reviewer
# Install as slash command
skillpack install --command review code-reviewer# Remove from all scopes
skillpack uninstall code-reviewer
# Remove only from global
skillpack uninstall --global code-reviewer
# Remove and delete backups
skillpack uninstall --purge code-reviewerShows installed skills with descriptions across all three scopes. Detects if you've manually edited a managed block:
GLOBAL (~/.claude/CLAUDE.md)
code-style v1.0.0 Git commit conventions and branch naming
PROJECT (./CLAUDE.md)
code-reviewer v1.0.0 Structured code review with security & performance checks
api-design v1.0.0 modified
COMMANDS (.claude/commands/)
/review slash command
Define skills in .skillsync.yaml for reproducible environments:
sources:
personal: myuser/my-skills
skills:
- name: code-reviewer
version: "^1.0.0"
- name: api-spec
version: "latest"
scope: globalskillpack sync # Apply changes
skillpack sync --dry-run # Preview firstskillpack works without auth using the built-in default source. Add a GitHub token for private repos and higher rate limits (5,000/hr vs 60/hr):
skillpack auth # Set token + default source
skillpack auth --remove # Remove tokenEvery install auto-backs up the previous version:
skillpack rollback code-reviewer@1.0.0my-skill/
├── SKILL.md # Main content — gets injected into CLAUDE.md
├── skill.toml # Metadata (name, version, description)
└── CHANGELOG.md # Optional version history
[skill]
name = "code-reviewer"
version = "1.0.0"
description = "Structured code review with security & performance checks"
author = "your-username"
tags = ["code-review", "development"]Without skill.toml, skillpack uses the directory name as the skill name and defaults to v0.1.0.
See examples/ for ready-to-use skills.
MIT