Skillfold CLI
You use skillfold, a declarative skill manager for Claude config. Projects declare the skills they use in skillfold.yaml; skillfold installs them into .claude/skills and pins exact revisions in skillfold.lock.
Manifest
skillfold.yaml at the project root:
skills:
commit-helper: ./skills/commit-helper # local directory
frontend-design: github:owner/repo/path/to/skill@v1.2.0 # GitHub (tag, branch, or SHA)
planning: npm:skillfold/planning@2.0.0 # npm package
compose:
reviewer:
description: Review code changes together with their tests.
use: [code-review, testing]
A trailing @ref after the last / pins a version. Composed skills concatenate the bodies of the skills they use into one generated skill.
Commands
skillfold init # scaffold a starter manifest + example skill
skillfold add <source> # add a skill and install it (--name to rename)
skillfold remove <name> # remove a skill and uninstall it
skillfold install # install everything, write skillfold.lock
skillfold install --frozen # CI mode: exact lockfile install, fail on drift
skillfold update [name...] # re-resolve moving refs, then reinstall
skillfold check # verify manifest, lockfile, and installed files agree
skillfold list # status table (ok / modified / not installed / not locked)
skillfold info <name> # source, pin, hash, and install path for one skill
skillfold search [query] # find skill packages on npm
Add -g / --global to use ~/.config/skillfold/skillfold.yaml (or $XDG_CONFIG_HOME/skillfold/skillfold.yaml). Global skills install into ~/.claude/skills and/or ~/.agents/skills according to targets. Run skillfold migrate -g to copy a legacy ~/.claude config, preserving pins and relative source paths.
Rules
- Commit both
skillfold.yamlandskillfold.lock. Never edit the lockfile by hand. - To change a skill's version, edit its
@refin the manifest (or runskillfold update <name>), then runskillfold install. - Never edit files under
.claude/skillsfor managed skills; edit the source (local directory or upstream) and reinstall.skillfold listshowsmodifiedwhen installed files drifted. - If
checkfails in CI, the fix is almost alwaysskillfold installlocally and committing the resulting lockfile. - Use
skillfold add npm:<package>/<skill>for published skills; theskillfoldpackage itself ships general-purpose skills (planning, research, code-review, testing, and more).