This release includes 4 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 signalThe CLI command `skilify` has been removed and renamed to `skillify`; all imports and artifacts now use the new name.
Why it matters: Update any scripts or configurations that invoke the skilify CLI command or import the skilify module before next deployment; state migration handles existing data gracefully.
Summary
AI summaryThe CLI command, source directory, and related artifacts renamed from skilify to skillify, breaking existing usage.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Breaking | Medium |
Module name skilify replaced with skillify; affects all imports Module name skilify replaced with skillify; affects all imports Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Breaking | Medium |
CLI command skilify removed; renamed to skillify without deprecation alias CLI command skilify removed; renamed to skillify without deprecation alias Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Feature | Medium |
State directory automatically migrates from skilify to skillify path on first boot State directory automatically migrates from skilify to skillify path on first boot Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Feature | Medium |
State migration fails gracefully on cross-filesystem and permission errors State migration fails gracefully on cross-filesystem and permission errors Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Bugfix | Low |
Auto‑migration handles EXDEV/EPERM errors gracefully, leaving legacy dir if rename fails Auto‑migration handles EXDEV/EPERM errors gracefully, leaving legacy dir if rename fails Source: granite4.1:30b@2026-05-23-audit Confidence: low |
— |
| Refactor | Medium |
Bundle artifacts regenerated to use skillify naming convention Bundle artifacts regenerated to use skillify naming convention Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Refactor | Medium |
Source directory renamed from `src/skilify/` to `src/skillify/` Source directory renamed from `src/skilify/` to `src/skillify/` Source: granite4.1:30b@2026-05-23-audit Confidence: low |
— |
| Refactor | Medium |
Module and worker files renamed (e.g., `skilify-worker.ts` → `skillify-worker.ts`) Module and worker files renamed (e.g., `skilify-worker.ts` → `skillify-worker.ts`) 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 `skilify`; use `skillify` instead (causes `Unknown command: skilify`).
- Renamed source directory `src/skilify/` to `src/skillify/` and all related files.
- Changed module import paths from `skilify` to `skillify` throughout the codebase.
- Updated bundle artifact name from `/bundle/skilify-worker.js` to `/bundle/skillify-worker.js`.
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
Beta — feedback welcome: [email protected]