CLI to manage skills, rules, and agents for AI IDEs — like a package manager.
Documentation: https://zortracks.github.io/skli/
Requires Node.js 20+. For GitHub sources, install and authenticate the gh CLI.
# One-off
npx @zortracks/skli <command> [options]
# Or install globally
npm install -g @zortracks/skli
skli <command> [options]# 1. Create a project manifest
npx @zortracks/skli init
# 2a. Reference a local package already in the repo
npx @zortracks/skli add cursor rule .cursor/rules/my-rule.mdc
# 2b. Install a package from GitHub into IDE folders
npx @zortracks/skli install cursor skill owner/repo@v1:skills/foo
# 2c. Link a remote project manifest and pick packages interactively
npx @zortracks/skli link cursor owner/repo
# Optional: ignore installed IDE paths in git
npx @zortracks/skli install cursor skill owner/repo:skills/foo --gitignore| Command | Purpose | Example |
|---|---|---|
init |
Create {project}/.skli/skli.json and register the project |
skli init -y |
add |
Reference a local skill/rule/agent in the project manifest (no copy) | skli add cursor rule .cursor/rules/foo.mdc |
install |
Install a skill/rule/agent from a local path or GitHub into IDE dirs | skli install cursor skill owner/repo:skills/foo |
link |
Link a remote ProjectManifest and deploy selected packages | skli link cursor owner/repo --all |
update |
Upgrade repos packages (and linked manifests) to a newer ref | skli update --all |
restore |
Re-fetch repos packages / links at the pinned version | skli restore cursor skill foo |
remove |
Uninstall packages from the manifest (and optionally disk) | skli remove cursor skill foo |
unlink |
Remove a whole link by owner/repo (or URL) |
skli unlink owner/repo |
Common options:
| Option | Commands | Meaning |
|---|---|---|
-g, --global |
install, update, restore, remove |
Use ~/.skli/skli.json and global IDE folders |
--gitignore |
install, link, update |
Append project install destinations under # Ignored AI IDE references in .gitignore |
--version <ref> |
update |
Pin a single package to an explicit ref |
--all |
link, update, restore, remove |
Select all matching items (required for broad update/restore/remove) |
--debug |
most commands | Diagnostic logs on stderr |
Run skli <command> --help for full signatures.
Shorthand: owner/repo[@ref][:path] or an HTTPS blob URL.
skli install cursor skill owner/repo@v1.2.0:skills/my-skill
skli install cursor rule https://github.com/owner/repo/blob/main/rules/foo.mdc
skli link cursor owner/repo@main- Project (default):
{cwd}/.skli/skli.json, copies under the project IDE folders (e.g..cursor/). - Global (
--global):~/.skli/skli.json, copies under the user IDE home (e.g.~/.cursor/).
link / unlink are project-scoped only.
| File | Path | Role |
|---|---|---|
| Project manifest | {project}/.skli/skli.json |
Packages and links for the project |
| Global manifest | ~/.skli/skli.json |
Packages for the user profile |
| Project index | ~/.skli/projects.json |
Projects touched by the CLI |
Published schema: schemas/skli.project.schema.json.
Product specs live under specs/ (index). Full user docs and mirrored specs: zortracks.github.io/skli.
| Feature | Status |
|---|---|
| domain-glossary | defined |
| cli-core | implemented |
| config-manifests | implemented |
| cmd-init | implemented |
| cmd-install | implemented |
| cmd-link | implemented |
| cmd-add | implemented |
| cmd-update | implemented |
| cmd-restore | implemented |
| cmd-remove | implemented |
| cmd-unlink | implemented |
| github-source | implemented |
| ide-targets | implemented |
npm install
npm run build
node dist/cli.js --helpDocs site (local): npm run docs:dev after install.
GitHub Pages is built by .github/workflows/publish.yml on push to main and after each release. One-time repo setting: Settings → Pages → Source = GitHub Actions.
- GitHub Actions → Publish → choose
patch/minor/major→ Run workflow. Usenoneto publish the currentpackage.jsonversion when the git tag already exists (e.g. after a failed release that bumped but did not publish). - The workflow bumps the version on
main(unlessnone), pushes tagvX.Y.Z, publishes to npm via Trusted Publishing (OIDC), deploys docs, and opens a sync PRmain→developif needed.
- Ensure the
@zortracks/sklipackage exists on npm (one manual publish if needed). - On npmjs.com → package @zortracks/skli → Trusted Publisher: GitHub org/user
zortracks, repositoryskli, workflow filenamepublish.yml, allownpm publish. - Later releases only need the Publish workflow.
MIT — see LICENSE.