Skip to content

Add the repository-keyed versioned skills manifest - #27

Closed
git-hulk wants to merge 1 commit into
skills-catalog-refactorfrom
skills-versioned-manifest
Closed

Add the repository-keyed versioned skills manifest#27
git-hulk wants to merge 1 commit into
skills-catalog-refactorfrom
skills-versioned-manifest

Conversation

@git-hulk

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

Copy link
Copy Markdown
Owner

Introduce the desired-state model of repository-versioned skill
management: ~/.clime/skills.yaml keyed by repository, each entry
locking a version (tag or full commit SHA) and the skills selected
from that repository. The legacy manifest remains in use by the CLI
until the switch lands.

  • Mutations (SetVersion, AddSkills, AddRepo, RemoveSkill) edit YAML
    nodes rather than remarshal structs, so user comments, entry
    order, and key spelling survive round trips; skills insert in
    sorted positions, and removing a repository's final skill removes
    the entry.

  • Keys normalize before lookup, so acme/agent-skills and
    github.com/acme/agent-skills identify the same repository, while
    the existing spelling is never rewritten.

  • Validate checks the complete manifest and reports every problem
    at once: alias duplicates, missing versions, empty or duplicate
    skill selections, and skill names claimed by two repositories
    (both agent targets install into /).

  • Save writes through a temporary file and rename so a failed write
    never truncates the previous manifest. A legacy-format file is
    rejected with a clear error here; automatic migration lands at the
    top of this stack.

🤖 Generated with Claude Code

Introduce the desired-state model of repository-versioned skill
management: ~/.clime/skills.yaml keyed by repository, each entry
locking a version (tag or full commit SHA) and the skills selected
from that repository. The legacy manifest remains in use by the CLI
until the switch lands.

  - Mutations (SetVersion, AddSkills, AddRepo, RemoveSkill) edit YAML
    nodes rather than remarshal structs, so user comments, entry
    order, and key spelling survive round trips; skills insert in
    sorted positions, and removing a repository's final skill removes
    the entry.

  - Keys normalize before lookup, so acme/agent-skills and
    github.com/acme/agent-skills identify the same repository, while
    the existing spelling is never rewritten.

  - Validate checks the complete manifest and reports every problem
    at once: alias duplicates, missing versions, empty or duplicate
    skill selections, and skill names claimed by two repositories
    (both agent targets install into <skills-root>/<skill-name>).

  - Save writes through a temporary file and rename so a failed write
    never truncates the previous manifest. A legacy-format file is
    rejected with a clear error here; automatic migration lands at the
    top of this stack.

Assistant By Fable 5
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@git-hulk
git-hulk force-pushed the skills-versioned-manifest branch from 1263ab6 to 69fb907 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