Skip to content

Migrate legacy skills manifests on first read - #24

Closed
git-hulk wants to merge 1 commit into
skills-versioned-manifest-clifrom
skills-legacy-migration
Closed

Migrate legacy skills manifests on first read#24
git-hulk wants to merge 1 commit into
skills-versioned-manifest-clifrom
skills-legacy-migration

Conversation

@git-hulk

@git-hulk git-hulk commented Aug 31, 2026

Copy link
Copy Markdown
Owner

Convert the pre-versioning manifest (top-level skills/sources fields)
to the repository-keyed format automatically the first time it is
read.

The migrator groups legacy skills by canonical repository and locks
each one to the HEAD commit of its existing ~/.clime/sources checkout
rather than pulling the remote, because the remote's current HEAD
cannot prove which content was installed locally. That checkout is
snapshotted into the immutable cache, so the migrated state syncs
offline. The migrated manifest, cached content, catalogs, and
conflicts are validated before the original file — preserved as
skills.yaml.bak — is replaced by rename.

A local directory source, a missing checkout, an unresolvable HEAD, or
a post-migration name conflict aborts the whole migration, leaving the
legacy manifest and agent targets unchanged with an error that directs
the user to move local content to a Git repository or resolve the
conflict. The legacy mutable source cache is not deleted; a later
clime skills purge removes unreferenced data.

🤖 Generated with Claude Code

@git-hulk
git-hulk force-pushed the skills-legacy-migration branch from 5e2ceda to 7996a17 Compare August 31, 2026 13:50
Convert the pre-versioning manifest (top-level skills/sources fields)
to the repository-keyed format automatically the first time it is
read.

The migrator groups legacy skills by canonical repository and locks
each one to the HEAD commit of its existing ~/.clime/sources checkout
rather than pulling the remote, because the remote's current HEAD
cannot prove which content was installed locally. That checkout is
snapshotted into the immutable cache, so the migrated state syncs
offline. The migrated manifest, cached content, catalogs, and
conflicts are validated before the original file — preserved as
skills.yaml.bak — is replaced by rename.

A local directory source, a missing checkout, an unresolvable HEAD, or
a post-migration name conflict aborts the whole migration, leaving the
legacy manifest and agent targets unchanged with an error that directs
the user to move local content to a Git repository or resolve the
conflict. The legacy mutable source cache is not deleted; a later
clime skills purge removes unreferenced data.

Assistant By Fable 5
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@git-hulk
git-hulk force-pushed the skills-legacy-migration branch from 7996a17 to 7f36799 Compare September 1, 2026 02:18
@git-hulk git-hulk closed this Sep 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant