Official CLI for the getskillpack skill registry: list, search, install, publish, config.
Who it’s for
- Maintainers and skill authors — versioned skills, trusted sources, optional self-hosted registry.
- Platform / DevOps — one predictable flow for skill artifacts next to your existing supply chain.
- Teams already using npm, PyPI, or Packagist — same search → install → lockfile muscle memory, applied to agent/IDE skills.
Positioning — Skill manager and registry that fit the developer workflow you already have: open, predictable installs and a clear HTTP contract — not a replacement for language package managers.
Try it in one command (Node 18+):
npm install -g @getskillpack/cli && skillget searchnpm install -g @getskillpack/cli
skillget config
skillget list -limit 10
skillget install para-memory-files- Default registry API:
https://registry.skpkg.org/api/v1— browse registry.skpkg.org; contract: registry-api.md. - Product narrative (hero + funnel): getskillpack.github.io/landing.
- If
para-memory-filesis not on the catalog you see, runskillget list(no query) andskillget install <name>for any listed skill — see Example skill catalog.
Build from Go source instead? See Install below (go build + skillget config) or Quick start.
Docs (start here)
- Zero → first skill — end-to-end tutorial, copy-paste, common failures.
- Quick start — env vars,
search/install/config. - Registry contract: registry-api.md · Publish a skill.
Короткие указатели для сопровождения экосистемы (детали только в целевых документах):
- Матрица совместимости (CLI / skillget-manager / registry): COMPATIBILITY_MATRIX_RU.md
- Ops / runbook публичного registry (
getskillpack/registry): PUBLIC_REGISTRY_RUNBOOK.md - Traceability (ENGINEERING_REQUIREMENTS ↔ тикеты ↔ репозитории): ENGINEERING_REQUIREMENTS_TRACEABILITY_RU.md
Полный индекс каталога docs/: docs/README.md.
| npm · PyPI · Packagist | skillget / getskillpack | |
|---|---|---|
| Unit of install | Language package | Skill tarball + manifest |
| Discover + pin | registry + lockfile | skillget search / install + skills.lock |
| On-disk tree | node_modules / site-packages / vendor |
.skillget/skills/<name>/<version>/ |
Expanded positioning and growth framing (maintainers): docs/MARKETING_LANDING_AND_GROWTH.md. Hands-on discovery: Example skill catalog.
If this is useful: starring getskillpack/cli, getskillpack/registry, and getskillpack/skillget-manager helps discovery — no bots or reciprocal schemes; see docs/MARKETING_LANDING_AND_GROWTH.md.
Public landing: getskillpack.github.io/landing/ · source mirror in this repo: docs/landing/.
- Zero → first skill (tutorial) — install through first
skillget installand verification; copy-paste blocks; common failures. - Quick start — build, env vars,
search/install/config. - Example skill catalog — CLI discovery plus five example packs under
examples/. - Publish your own skill — tarball layout, manifest, and
skillget publish. - Release process — semver, tags, changelog, alignment with the registry API.
- Changelog — version history (Keep a Changelog).
- Documentation index — maintainer- and growth-oriented material (optional read).
- Public site (GitHub Pages):
getskillpack/landing— canonical URL https://getskillpack.github.io/landing/. Pages are built from thedocs/folder onmain. Source mirror in this repo: docs/landing/. Optional workflow: .github/workflows/deploy-landing.yml.
Terminal session preview:
With asciinema locally:
asciinema play docs/asciinema/skillget-quickstart.castRecording source: docs/asciinema/skillget-quickstart.cast.
| Repository | Role |
|---|---|
| registry | Registry API and implementation |
| skillget-manager | Lockfile, HTTP client, install path, publish |
| cli | skillget binary (Go) and optional npm package |
Package @getskillpack/cli, binary on PATH: skillget.
npm install -g @getskillpack/cli
skillget --helpFormula template: packaging/homebrew/skillget.rb. After the org tap is published:
brew tap getskillpack/tap
brew install skillgetFrom a local clone:
brew install --build-from-source ./packaging/homebrew/skillget.rbSources: cmd/skillget. Dependency: getskillpack/skillget-manager, pinned in go.mod (semver). For local development this repo may use a replace directive — see the comment in go.mod. If you vendor private module paths, set GOPRIVATE accordingly.
go build -o skillget ./cmd/skillget
./skillget --help
./skillget configgit clone https://github.com/getskillpack/cli.git && cd cli
go build -o skillget ./cmd/skillget
./skillget config
# Public default registry: https://registry.skpkg.org/api/v1
export SKILLGET_REGISTRY_URL=http://localhost:8080/api/v1 # local registry
./skillget list
./skillget install <skill-name>After install you get skills.lock and .skillget/skills/<name>/<version>/.
| Command | Purpose |
|---|---|
skillget list [query] |
List / search registry (GET /skills, optional -author) |
skillget search [query] |
Same as list |
skillget install <name|name@version> |
Fetch archive, update skills.lock |
skillget publish … <archive.tar.gz> |
Upload version (POST /skills, token required) |
skillget config |
Show registry base URL and write-token presence |
export SKILLGET_REGISTRY_URL=http://localhost:3000/api/v1
skillget list
skillget search para -limit 10
skillget install alpha-test-skillPublish (token matches REGISTRY_WRITE_TOKEN on the registry):
export SKILLGET_REGISTRY_URL=http://localhost:3000/api/v1
export SKILLGET_REGISTRY_TOKEN=your-write-token
skillget publish --name my-skill --skill-version 1.0.0 --description "..." --author team ./bundle.tar.gz
# or full manifest JSON:
skillget publish --manifest ./manifest.json ./bundle.tar.gz| Variable | Purpose |
|---|---|
SKILLGET_REGISTRY_URL |
Registry API base (default https://registry.skpkg.org/api/v1) |
SKPKG_REGISTRY_URL |
Legacy URL fallback |
SKILLGET_REGISTRY_TOKEN |
Bearer for publish (preferred) |
SKILLGET_TOKEN |
Short alias for the same |
On HTTP errors the CLI prints short hints (401 / 404 / 410 / 409 / 503).
npm install
npm run build
node dist/cli.js --helpThe shipped client for the ecosystem is the compiled Go skillget; npm remains optional.
Org: getskillpack. Canonical repo name: cli (getskillpack/cli). If your local folder is still named skpkg-cli for historical reasons, the remote is unchanged.
cd cli # or your clone directory, e.g. skpkg-cli
git init
git add .
git commit -m "Initial skillget CLI scaffold"
git remote add origin git@github.com:getskillpack/cli.git
git push -u origin mainMIT — see LICENSE.
Coordinated disclosure: SECURITY.md.
- Registry API: docs/registry-api.md; on a deployed registry:
GET /docs/registry-api(Markdown). Short pointer: API.md. - Organization: github.com/getskillpack.