Why
The CLI subcommand and module are named skilify but the natural derivation from skill is skillify (double-l). The current name reads as a typo. Fixing while the user base is small avoids cementing it further.
Strategy
Hard switch — no CLI alias. After the rename, hivemind skilify ... returns "unknown subcommand". Users with shell history or scripts hardcoded to skilify need to relearn. Keeps the diff smaller and the surface unambiguous.
State directory auto-migrates. On first boot of the renamed version, if ~/.deeplake/state/skilify/ exists and ~/.deeplake/state/skillify/ does not, rename the directory in place. Preserves config.json, pulled.json (manifest), autopull-last-run.json, and per-project state files so installed skills aren't stranded and unpull keeps working.
Sequencing
Do this after PR #112 merges. Doing it earlier means the rename PR conflicts with #112's introduction of auto-pull.ts, agent-roots.ts, and the new manifest helpers. Once #112 is on main, branch off main and one-shot the rename across the post-#112 tree.
Scope
From a tree-wide grep: 49 files, 563 occurrences.
| Touchpoint |
Action |
src/skilify/ directory |
rename to src/skillify/ (also import paths in 30+ files) |
src/commands/skilify.ts + bundle entrypoint |
rename file + the runSkilifyCommand export |
hivemind skilify CLI subcommand |
dispatcher matches only \"skillify\"; \"skilify\" falls through to "unknown subcommand" |
claude-code/tests/skilify-*.test.ts (17 files) |
rename files + update import paths |
~/.deeplake/state/skilify/ |
one-time auto-migrate on first boot if ~/.deeplake/state/skillify/ doesn't yet exist |
pulled.json installRoot field |
unaffected — stores absolute paths to <root>/.claude/skills/, no skilify substring |
| README.md, RELEASE_CHECKLIST.md |
global text replace |
.github/workflows/{ci,release}.yml |
global text replace |
pi/extension-source/hivemind.ts |
rename any ~/.deeplake/state/skilify/ literal paths |
openclaw/skills/SKILL.md |
global text replace |
vitest.config.ts coverage thresholds |
rename keys |
esbuild.config.mjs |
rename bundle entrypoints if any |
Risk
Users with hivemind skilify aliases / scripts get a hard error after upgrade. Mentioned in the rename PR's release notes.
State dir auto-migration is a one-time renameSync; if it fails (cross-device link, permission), fall back to leaving the old directory in place and starting fresh — pull will repopulate pulled.json, but unpull of pre-rename installs will need a manual cleanup step.
Out of scope
- Keeping
skilify as a deprecated alias (rejected — chose hard switch).
- Renaming the
~/.deeplake/state/skillify/skilify-worker.ts log tag references in older session memory dumps (read-only history).
Why
The CLI subcommand and module are named
skilifybut the natural derivation fromskillisskillify(double-l). The current name reads as a typo. Fixing while the user base is small avoids cementing it further.Strategy
Hard switch — no CLI alias. After the rename,
hivemind skilify ...returns "unknown subcommand". Users with shell history or scripts hardcoded toskilifyneed to relearn. Keeps the diff smaller and the surface unambiguous.State directory auto-migrates. On first boot of the renamed version, if
~/.deeplake/state/skilify/exists and~/.deeplake/state/skillify/does not, rename the directory in place. Preservesconfig.json,pulled.json(manifest),autopull-last-run.json, and per-project state files so installed skills aren't stranded andunpullkeeps working.Sequencing
Do this after PR #112 merges. Doing it earlier means the rename PR conflicts with #112's introduction of
auto-pull.ts,agent-roots.ts, and the new manifest helpers. Once #112 is on main, branch off main and one-shot the rename across the post-#112 tree.Scope
From a tree-wide grep: 49 files, 563 occurrences.
src/skilify/directorysrc/skillify/(also import paths in 30+ files)src/commands/skilify.ts+ bundle entrypointrunSkilifyCommandexporthivemind skilifyCLI subcommand\"skillify\";\"skilify\"falls through to "unknown subcommand"claude-code/tests/skilify-*.test.ts(17 files)~/.deeplake/state/skilify/~/.deeplake/state/skillify/doesn't yet existpulled.jsoninstallRootfield<root>/.claude/skills/, noskilifysubstring.github/workflows/{ci,release}.ymlpi/extension-source/hivemind.ts~/.deeplake/state/skilify/literal pathsopenclaw/skills/SKILL.mdvitest.config.tscoverage thresholdsesbuild.config.mjsRisk
Users with
hivemind skilifyaliases / scripts get a hard error after upgrade. Mentioned in the rename PR's release notes.State dir auto-migration is a one-time
renameSync; if it fails (cross-device link, permission), fall back to leaving the old directory in place and starting fresh —pullwill repopulatepulled.json, but unpull of pre-rename installs will need a manual cleanup step.Out of scope
skilifyas a deprecated alias (rejected — chose hard switch).~/.deeplake/state/skillify/skilify-worker.tslog tag references in older session memory dumps (read-only history).