SkillKeeper installs and manages skills and hooks for AI coding agents (Claude, Codex, Copilot, Cursor, OpenCode).
SkillKeeper comes in two forms over one shared Rust core:
- A desktop app for browsing and installing Git repositories of skills, their hooks, and sets of MCP server presets - for AI coding agents, either per-project or globally.
- A command-line tool (
skillkeeper) that does the same from your shell and in scripts.
Skills are distributed as Git repositories; a repository can also ship MCP server presets. SkillKeeper clones a repository, resolves what it provides, installs the parts you choose into the agents you target, and tracks everything for updates. Supported agents: Claude, Codex, Copilot, Cursor, and OpenCode.
Desktop app -- download the bundle for your platform from the latest release.
CLI (skillkeeper) -- one line, using only tools already on your system. The
script detects your platform, downloads the matching CLI archive from the latest
release, and adds the binary to your PATH. On Linux it reads the host's glibc and
picks between the glibc build and the statically linked musl one, so it installs
a binary that runs on old distributions too.
macOS / Linux:
curl -fsSL https://raw.githubusercontent.com/lorem-dev/skillkeeper/main/scripts/install.sh | shWindows (PowerShell):
irm https://raw.githubusercontent.com/lorem-dev/skillkeeper/main/scripts/install.ps1 | iexSee Getting Started for other options.
Hitting an install problem -- macOS reporting the app as "damaged", or a Linux
GLIBC_2.34' not found on start? See
Troubleshooting.
The CLI binary is skillkeeper. Every command exits non-zero on failure.
Add a repository of skills, then see what it provides:
skillkeeper repo add git@github.com:example/skills.git
skillkeeper skill listInstall a skill for an agent (per-project by default; add --global for
machine-wide). Hooks are privileged and only installed with --allow-hooks:
skillkeeper skill install <skill-id> --agent claude
skillkeeper skill install <skill-id> --agent codex --global --allow-hooksTrack a project, then check for available updates across its repositories and installed skills:
skillkeeper project add .
skillkeeper checkInspect, verify against the manifest, and repair an installation:
skillkeeper skill info <skill-id>
skillkeeper skill verify <skill-id>
skillkeeper skill repair <skill-id>Print the command that updates the CLI itself to the latest release, without remembering the installer URL:
skillkeeper updateSupported agents are claude, codex, copilot, cursor, and opencode.
Run skillkeeper --help (or <command> --help) for the full command set, also
documented in the
CLI Reference.
A repository is any Git remote (SSH or HTTPS, public or private) that contains
one or more skills, and optionally MCP server presets. A skill is a directory
with a manifest plus the files it installs; hooks are opt-in edits a skill can
make to an agent's configuration. To publish your own skills, create a Git
repository with that layout and point SkillKeeper at it with repo add.
See Repositories and Skills and Hooks for the repository format and authoring guide.
skillkeeper-test-repo is a
fixture repository that exercises every documented resolution path: flat and
nested grouped skills (up to three levels), both hook layouts, guidance-file
precedence, MCP presets at the repository root and inside nested group
directories, and a deliberately unresolvable skill. It is
wired into this repository as a Git submodule at examples/test-repo. Fetch it
with git submodule update --init (the submodule uses an SSH remote, so this
needs a GitHub SSH key; the fixture is not required by any build or test).
Entry points -- the links go to GitHub, the paths are where the files land once the submodule is checked out:
minimal-skill/SKILL.md-- the smallest valid skill manifest.json-hooks-skill/hooks/pre-tool-use/HOOK.md-- a hook that merges into an agent's JSON config.mcp.ymlandtooling/mcp.yml-- root and nested group-scoped MCP presets.
Links into a submodule cannot be relative: this repository's tree stores
examples/test-repo as a commit pointer, not as files, so a relative path would
404 on GitHub.
SkillKeeper is a Rust + pnpm monorepo: a Cargo workspace of domain crates
(skillkeeper-core, skillkeeper-config, skillkeeper-agents,
skillkeeper-cli) with a Tauri v2 + React desktop app, all over one shared
Rust core.
See the Development guide for setup, commands, and conventions.
Apache-2.0. See LICENSE.
