Skip to content

feat: support installing skills from specific git branches and keep updates pinned#80

Open
boyfeiyu wants to merge 1 commit intonumman-ali:mainfrom
boyfeiyu:main
Open

feat: support installing skills from specific git branches and keep updates pinned#80
boyfeiyu wants to merge 1 commit intonumman-ali:mainfrom
boyfeiyu:main

Conversation

@boyfeiyu
Copy link

@boyfeiyu boyfeiyu commented Mar 4, 2026

Background

openskills install currently clones the default branch only.
This makes it hard to test/use skills from develop, release/*, or tagged branches.
Also, openskills update always re-clones default branch, so a skill originally installed from a non-default branch cannot stay pinned to that branch.

What this PR changes

  1. Add branch selection for install:
  • New flag: -b, --branch <name>
  • Inline syntax: <source>#<branch>
  1. Keep branch information in metadata:
  • Persist branch in .openskills.json for git-based installs
  1. Make update branch-aware:
  • openskills update now uses recorded branch (if present) when cloning
  1. Input validation:
  • Reject empty inline branch (source#)
  • Reject duplicate branch input (--branch + source#branch)
  • Reject --branch for local path installs (git-only option)
  1. Docs:
  • Added branch/tag install examples and the new CLI flag in README
  1. Test reliability improvement:
  • e2e tests now auto-run npm run build if dist/cli.js is missing, so npm test works in a clean environment.

User-facing examples

npx openskills install your-org/your-skills --branch develop
npx openskills install your-org/your-skills#develop

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