You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Phase 3] Personal kits, installer, lockfile and multi-device sync #35
Production D1 has 0019 and 0020 applied, each after a Time Travel bookmark. The worker is now at version 7d29ff0a (main 79f98fb).
Smoke A → B (production registry, CLI built from main)
Isolation. Two machines with fresh temp roots. Every home, config and cache variable the CLI reads was set to the machine's root: HOME, USERPROFILE, APPDATA, LOCALAPPDATA, XDG_*, SKILLX_HOME, CLAUDE_CONFIG_DIR, CODEX_HOME, TEMP. No real user state was touched.
Signing key. The registry key was trusted via trusted-keys.json. Key id 993cd14a011f7b76 was cross-checked against /api/v1/keys.
Machine A.
Created an unlisted collection smoke-2610200943 with @bestagentkits/plan@0.1.0 (API).
Installed it for Claude Code: exit 0, receipt written.
Lockfile check: 0 absolute paths and 0 secret matches.
Machine B.
Copied only the lockfile and ran sync --locked: exit 0.
23/23 installed file hashes are identical to A's.
lockDigest sha256:07c9fe3c… is equal on both machines, and the lock file is byte-identical.
Update and uninstall (A).
update was a no-op: lock and receipt unchanged.
uninstall removed 22 files, kept the locally modified file (keptModified) and the unknown file (keptUnknown), and left owners empty.
Cleanup. The smoke collection was deleted (200, then 404).
Full receipts (secrets redacted) are in plans/reports/smoke-261020-prod-personal-kits-install.md in the delivery workspace.
Open
The CLI ships to npm when the next release-please PR merges.
Follow-up: skillx update in human mode prints nothing when nothing is installed. It is low priority and tracked separately.
Activity
zuey-cloud-harness commentedon Oct 11, 2026
Child slices: #55 personal-kit lineage, structured overlays and conflict-safe B0/U0/B1 rebase; #56 reviewed private patches from local sessions. AgentKit local counterparts https://github.com/bestagentkits/agentkit/issues/2278 (composer and atomic apply), https://github.com/bestagentkits/agentkit/issues/2281 (consented evolution), https://github.com/bestagentkits/agentkit/issues/2276 (owned projections). Require digest-pinned lock/revisions, CAS, permissions/dependency/semantic conflict blocking, rollback, no secret or absolute path sync, and paid/private foundation license preservation. Keep SkillX generic installer separately from AgentKit Go lifecycle. Umbrella https://github.com/bestagentkits/agentkit/issues/2274.
feat(collections): collections API with immutable revisions, clone an…
feat: collections API and verified CLI installer with lockfile, sync …
mrgoonie commentedon Oct 20, 2026
Production receipt (2026-10-20)
Delivered by
skillx.lock.json, atomic install/update/uninstall with receipts and per-runtime owners (ref-countrequiredBy), preservation of locally modified files,sync --locked, local stdio MCP (skillx mcp;applyrequiresconfirm+planDigest), Claude Code adapter then Codex adapter, and interruption tests (apps/web/tests/install/install-recovery.test.ts: 5 crash points × update/first install, rerun converges).SKILLX_COLLECTIONS_APIset to"1". Rollback: set"0"and redeploy; routes answer 404.Smoke A → B (production registry, CLI built from main)
trusted-keys.json. Key id993cd14a011f7b76was cross-checked against/api/v1/keys.smoke-2610200943with@bestagentkits/plan@0.1.0(API).sync --locked: exit 0.sha256:07c9fe3c…is equal on both machines, and the lock file is byte-identical.updatewas a no-op: lock and receipt unchanged.uninstallremoved 22 files, kept the locally modified file (keptModified) and the unknown file (keptUnknown), and left owners empty.Full receipts (secrets redacted) are in
plans/reports/smoke-261020-prod-personal-kits-install.mdin the delivery workspace.Open
skillx updatein human mode prints nothing when nothing is installed. It is low priority and tracked separately.