This release includes 3 breaking changes for platform teams planning a safe upgrade.
✓ No known CVEs patched in this version
Topics
+12 more
Affected surfaces
ReleasePort's take
Light signalv0.7.18 renames the CLI subcommand from `skilify` to `skillify` without a deprecation alias, breaking existing scripts. State directory migration runs automatically on first boot.
Why it matters: Breaking CLI rename requires script updates before upgrading. State directory migrates automatically. Review and update all CLI invocations in automation before deploying.
Summary
AI summaryThe CLI command, modules, and state directory have been renamed from skilify to skillify, breaking existing scripts.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Breaking | Medium |
CLI subcommand renamed from `skilify` to `skillify`; no deprecation alias. CLI subcommand renamed from `skilify` to `skillify`; no deprecation alias. Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Feature | Medium |
New auto-migration for state directory renaming from `~/.deeplake/state/skilify/` to `~/.deeplake/state/skillify/` on first boot. New auto-migration for state directory renaming from `~/.deeplake/state/skilify/` to `~/.deeplake/state/skillify/` on first boot. Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Feature | Medium |
Added test suite for legacy state migration, including idempotent behavior checks. Added test suite for legacy state migration, including idempotent behavior checks. Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Bugfix | Medium |
Removed stale `<agent>/bundle/skilify-worker.js` artifacts; regenerated to `skillify-worker.js` bundles. Removed stale `<agent>/bundle/skilify-worker.js` artifacts; regenerated to `skillify-worker.js` bundles. Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Refactor | Medium |
Tree-wide case-aware text replace renames files and imports from `skilify` to `skillify` across multiple directories. Tree-wide case-aware text replace renames files and imports from `skilify` to `skillify` across multiple directories. Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Refactor | Medium |
Inlined migration code into OpenClaw bundle for self-contained execution. Inlined migration code into OpenClaw bundle for self-contained execution. Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Refactor | Low |
Renamed files and imports tree-wide from `skilify` to `skillify` across source, tests, workflows, config, and documentation. Renamed files and imports tree-wide from `skilify` to `skillify` across source, tests, workflows, config, and documentation. Source: granite4.1:30b@2026-05-23-audit Confidence: low |
— |
Full changelog
Closes #114.
Summary
Hard switch from skilify to skillify across the tree. The CLI subcommand and module were named skilify but the natural derivation from skill is skillify. No deprecation alias — hivemind skilify ... now returns Unknown command: skilify.
Scope
src/skilify/->src/skillify/(incl.skilify-worker.ts,spawn-skilify-worker.ts)src/commands/skilify.ts->skillify.ts,runSkilifyCommand->runSkillifyCommand- 16
claude-code/tests/skilify-*.test.tsfiles renamed - Tree-wide case-aware text replace across
src/,openclaw/,pi/extension-source/,.github/workflows/, README, RELEASE_CHECKLIST,esbuild.config.mjs,vitest.config.ts, hook tests - Stale
<agent>/bundle/skilify-worker.jsartifacts removed; bundles regenerated to<agent>/bundle/skillify-worker.js
State directory auto-migration
New src/skillify/legacy-migration.ts: one-shot renameSync of ~/.deeplake/state/skilify/ -> ~/.deeplake/state/skillify/ on first boot of the renamed version. Wired into all four mkdirSync entry points (state.ts, scope-config.ts, manifest.ts, auto-pull.ts). EXDEV/EPERM falls back to leaving the legacy dir in place.
OpenClaw is a self-contained bundle that can't import from src/skillify/, so the migration is inlined into openclaw/src/index.ts and called before the existing fsMkdir on the state dir — once the new dir exists the migration becomes a no-op and any legacy data would be orphaned.
Tests
New claude-code/tests/skillify-legacy-migration.test.ts (5 tests): legacy-missing, current-already-exists (no clobber), happy-path rename preserving config.json/pulled.json/per-project state, idempotent re-call (module-level attempted flag), and renameSync EXDEV swallowed.
Audit
After the rename, the only skilify references in the tree are 4 intentional string literals (the migration helper's legacy-path target, the inlined openclaw copy, JSDoc, and a test fixture) plus their 18 esbuild compilations in bundle/. Zero filenames, zero camelCase/PascalCase identifiers.
Risk
Users with hivemind skilify aliases / scripts get a hard error after upgrade. State directory auto-migrates so installed-skill manifests, scope config, and per-project state survive without manual intervention. If renameSync fails (cross-device link, perms), the legacy dir stays put and the new dir starts fresh — pull repopulates pulled.json, but unpull of pre-rename installs may need manual cleanup.
Sequencing
Originally planned to wait for #112 to merge to avoid conflicts; #112 has since landed plus follow-ups (autopull throttle removal, maybeAutoPull -> autoPullSkills rename, README condensed into docs/SKILLIFY.md). Branch was based on the pre-merge tip of #112 and merged with origin/main afterward; conflicts in auto-pull.ts, the four session-start.ts files, the CLI USAGE block, two test files, README, and 6 bundle outputs are resolved in 148337d.
Test plan
- [ ]
npm testgreen (2184/2184 in CI) - [ ]
npm run buildproduces all 12 + 10 + 9 + 9 + 1 + 1 + 1 + 1 bundles - [ ] After upgrade on a machine with a populated
~/.deeplake/state/skilify/, the directory has been renamed in place to~/.deeplake/state/skillify/on the first SessionStart and installed pulled skills still resolve - [ ]
hivemind skilify(legacy spelling) returnsUnknown command: skilify - [ ]
hivemind skillifyworks as documented
Summary by CodeRabbit
-
Bug Fixes
- Corrected skill management command spelling from
skilifytoskillifythroughout the system. - Added automatic legacy state directory migration that renames older
~/.deeplake/state/skilifyto~/.deeplake/state/skillifyon first run. - Fixed module import paths and worker bundle references to use correct
skillifynaming.
- Corrected skill management command spelling from
-
Chores
- Updated build configuration and test files to reference corrected module paths and naming conventions.
Breaking Changes
- Removed CLI subcommand and module named `skilify`; new name is `skillify`.
- Renamed source directories/files from `skilify` to `skillify` (e.g., `src/skilify/` → `src/skillify/`).
- Changed state directory path from `~/.deeplake/state/skilify/` to `~/.deeplake/state/skillify/`; legacy path no longer recognized.
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
Track Hivemind turns agent traces into skills and shares with your team
Get notified when new releases ship.
Sign up freeAbout Hivemind turns agent traces into skills and shares with your team
All releases →Related context
Related tools
Earlier breaking changes
Beta — feedback welcome: [email protected]