{"id":48096844,"url":"https://github.com/sooniter/skills-package-manager","last_synced_at":"2026-04-09T21:09:33.414Z","repository":{"id":348455160,"uuid":"1196149599","full_name":"SoonIter/skills-package-manager","owner":"SoonIter","description":"A package manager for agent skills — manage, install, and link skills","archived":false,"fork":false,"pushed_at":"2026-04-04T10:51:06.000Z","size":576,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-04T16:27:26.158Z","etag":null,"topics":["agents","pnpm","skills"],"latest_commit_sha":null,"homepage":"https://skills-package-manager.site","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SoonIter.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-03-30T12:22:34.000Z","updated_at":"2026-04-04T10:51:11.000Z","dependencies_parsed_at":null,"dependency_job_id":"72002b9c-8b30-40a3-a257-17a27429d5b7","html_url":"https://github.com/SoonIter/skills-package-manager","commit_stats":null,"previous_names":["sooniter/skills-package-manager"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/SoonIter/skills-package-manager","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SoonIter%2Fskills-package-manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SoonIter%2Fskills-package-manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SoonIter%2Fskills-package-manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SoonIter%2Fskills-package-manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SoonIter","download_url":"https://codeload.github.com/SoonIter/skills-package-manager/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SoonIter%2Fskills-package-manager/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31441057,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-05T15:22:31.103Z","status":"ssl_error","status_checked_at":"2026-04-05T15:22:00.205Z","response_time":75,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agents","pnpm","skills"],"created_at":"2026-04-04T15:36:48.480Z","updated_at":"2026-04-09T21:09:33.406Z","avatar_url":"https://github.com/SoonIter.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n\u003cpicture\u003e\n  \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"./website/docs/public/logo-dark.svg\"\u003e\n  \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"./website/docs/public/logo-light.svg\"\u003e\n  \u003cimg alt=\"skills-package-manager logo\" src=\"./website/docs/public/logo-light.svg\" width=\"200\"\u003e\n\u003c/picture\u003e\n\n\u003ch1\u003eskills-package-manager\u003c/h1\u003e\n\n\u003cp\u003e\n  \u003cstrong\u003eA package manager for \u003ca href=\"https://skills.sh\"\u003eagent skills\u003c/a\u003e\u003c/strong\u003e\u003cbr\u003e\n  Manage, install, and link SKILL.md-based skills into your AI coding agents\n\u003c/p\u003e\n\n\u003cp\u003e\n  \u003ca href=\"https://www.npmjs.com/package/skills-package-manager\"\u003e\n    \u003cimg src=\"https://img.shields.io/npm/v/skills-package-manager.svg?style=flat-square\u0026color=blue\" alt=\"npm version\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://www.npmjs.com/package/skills-package-manager\"\u003e\n    \u003cimg src=\"https://img.shields.io/npm/dm/skills-package-manager.svg?style=flat-square\u0026color=success\" alt=\"npm downloads\"\u003e\n  \u003c/a\u003e\n  \u003cimg src=\"https://img.shields.io/badge/TypeScript-strict-blue?style=flat-square\u0026logo=typescript\" alt=\"TypeScript\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/pnpm-supported-orange?style=flat-square\u0026logo=pnpm\" alt=\"pnpm\"\u003e\n  \u003ca href=\"./LICENSE\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/license-ISC-blueviolet?style=flat-square\" alt=\"license\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"#-quick-start\"\u003eQuick Start\u003c/a\u003e •\n  \u003ca href=\"#-features\"\u003eFeatures\u003c/a\u003e •\n  \u003ca href=\"#-how-it-works\"\u003eHow It Works\u003c/a\u003e •\n  \u003ca href=\"#-specifier-format\"\u003eSpecifier Format\u003c/a\u003e •\n  \u003ca href=\"#-documentation\"\u003eDocumentation\u003c/a\u003e\n\u003c/p\u003e\n\n---\n\n\u003c/div\u003e\n\n## ✨ Features\n\n- 🚀 **Zero-config setup** — Get started with a single command\n- 🔗 **Git-based versioning** — Lock to specific commits, tags, or branches\n- 📦 **pnpm integration** — Auto-install skills during `pnpm install`\n- 🎯 **Multiple sources** — GitHub repos, local files, or npm packages\n- 🔒 **Reproducible installs** — Lockfile ensures consistent environments\n- ⚡ **Parallel resolution** — Fast dependency resolution\n- 🧩 **AI agent ready** — Seamless integration with Claude and other agents\n\n## 🚀 Quick Start\n\n### Initialize a project\n\n```bash\n# Create a new skills.json manifest\nnpx skills-package-manager init\n\n# Or skip the prompts\nnpx skills-package-manager init --yes\n```\n\n### Add skills\n\n```bash\n# 🔍 Interactive — browse and select from a repo\nnpx skills-package-manager add vercel-labs/skills\n\n# 🎯 Direct — specify skill by name\nnpx skills-package-manager add vercel-labs/skills --skill find-skills\n\n# 🔗 Full GitHub URL\nnpx skills-package-manager add https://github.com/rstackjs/agent-skills --skill rspress-custom-theme\n\n# 📁 Local skill directory\nnpx skills-package-manager add link:./my-skills/my-skill\n```\n\n### Install all skills\n\n```bash\nnpx skills-package-manager install\n```\n\n\u003e 💡 **Tip:** Use `--frozen-lockfile` in CI/CD to ensure reproducible installs without modifying the lockfile.\n\n### Update skills\n\n```bash\n# Update all skills\nnpx skills-package-manager update\n\n# Update specific skills only\nnpx skills-package-manager update find-skills rspress-custom-theme\n```\n\n## 📋 Usage Scenarios\n\n| Scenario | Command | Why |\n|:---------|:--------|:----|\n| 🏠 First time setup | `npx skills-package-manager install` | Creates lockfile if missing |\n| 🔄 After `git pull` | `npx skills-package-manager install` | Updates skills if manifest changed |\n| 🏭 CI/CD pipeline | `npx skills-package-manager install --frozen-lockfile` | Ensures exact versions, fails on misconfig |\n| ⬆️ Version updates | `npx skills-package-manager update` | Updates lockfile with latest versions |\n\n## 🏗️ How It Works\n\nskills-package-manager uses two files to manage your skills:\n\n### `skills.json` — Manifest\n\nDeclares which skills to install and where to put them:\n\n```jsonc\n{\n  \"installDir\": \".agents/skills\",\n  \"linkTargets\": [\".claude/skills\"],\n  \"selfSkill\": false,\n  \"skills\": {\n    // GitHub skill with path\n    \"find-skills\": \"https://github.com/vercel-labs/skills.git#path:/skills/find-skills\",\n    // Local skill directory\n    \"my-local-skill\": \"link:./local-source/skills/my-local-skill\",\n    // Short form — uses repo root\n    \"create-ex\": \"https://github.com/therealXiaomanChu/ex-skill.git\"\n  }\n}\n```\n\nWhen `selfSkill` is `true`, skills-package-manager also installs its bundled `skills-package-manager-cli` skill so users get guidance for `skills.json`, `skills-lock.yaml`, and the `spm` workflow. This helper skill is not written to `skills-lock.yaml`.\n\n### `skills-lock.yaml` — Lockfile\n\nLocks resolved versions for reproducible installs:\n\n```yaml\nlockfileVersion: \"0.1\"\ninstallDir: .agents/skills\nlinkTargets:\n  - .claude/skills\nskills:\n  find-skills:\n    specifier: https://github.com/vercel-labs/skills.git#path:/skills/find-skills\n    resolution:\n      type: git\n      url: https://github.com/vercel-labs/skills.git\n      commit: abc1234...\n      path: /skills/find-skills\n    digest: sha256-...\n```\n\n## 📝 Specifier Format\n\n| Type | Format | Example |\n|:-----|:-------|:--------|\n| GitHub shorthand | `owner/repo` | `vercel-labs/skills` |\n| GitHub URL | `https://github.com/owner/repo` | `https://github.com/vercel-labs/skills` |\n| Git + path | `url.git#path:/skills/name` | `https://github.com/owner/repo.git#path:/skills/my-skill` |\n| Git + ref + path | `url.git#ref\u0026path:/skills/name` | `https://github.com/owner/repo.git#main\u0026path:/skills/my-skill` |\n| Local link | `link:./path/to/skill-dir` | `link:./local-source/skills/my-skill` |\n| Local tarball | `file:./skills-package.tgz#path:/skills/name` | `file:./skills-package.tgz#path:/skills/my-skill` |\n\n## 🔌 pnpm Integration\n\nInstall `pnpm-plugin-skills` as a config dependency for auto-install on every `pnpm install`:\n\n```bash\npnpm add pnpm-plugin-skills --config\n```\n\nThis automatically adds it to `configDependencies` in `pnpm-workspace.yaml`.\n\n## 📚 Documentation\n\n- 📖 [Getting Started Guide](https://skills-package-manager.dev/getting-started)\n- 📘 [API Reference](https://skills-package-manager.dev/api/)\n- 🏗️ [Architecture](https://skills-package-manager.dev/architecture/how-it-works)\n\n## 🛠️ Development\n\n```bash\n# Install dependencies\npnpm install\n\n# Build all packages\npnpm build\n\n# Run the test suite\npnpm test\n\n# Start docs dev server\npnpm --filter website dev\n```\n\n### Project Structure\n\n```\nskills-package-manager/\n├── packages/\n│   ├── skills-package-manager/  # Core library and spm CLI\n│   └── pnpm-plugin-skills/      # pnpm plugin (auto-install on pnpm install)\n├── website/                     # Documentation site (Rspress)\n├── skills.json                  # Example manifest\n├── skills-lock.yaml             # Example lockfile\n└── pnpm-workspace.yaml\n```\n\n## 🧰 Tech Stack\n\n| Technology | Purpose |\n|:-----------|:--------|\n| ![TypeScript](https://img.shields.io/badge/-TypeScript-3178C6?style=flat\u0026logo=typescript\u0026logoColor=white) | Strict type checking |\n| ![Rslib](https://img.shields.io/badge/-Rslib-000000?style=flat) | Modern build tool (bundle mode) |\n| ![Rstest](https://img.shields.io/badge/-Rstest-000000?style=flat) | Fast test runner |\n| ![pnpm](https://img.shields.io/badge/-pnpm-F69220?style=flat\u0026logo=pnpm\u0026logoColor=white) | Package manager with workspace support |\n| ![Rspress](https://img.shields.io/badge/-Rspress-000000?style=flat) | Documentation site generator |\n\n## 🤝 Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n1. Fork the repository\n2. Create your feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit your changes (`git commit -m 'feat: add amazing feature'`)\n4. Push to the branch (`git push origin feature/amazing-feature`)\n5. Open a Pull Request\n\n## 📄 License\n\n[ISC](./LICENSE) © [skills.sh](https://skills.sh)\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n**[⬆ Back to Top](#skills-package-manager)**\n\nMade with ❤️ for AI coding agents\n\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsooniter%2Fskills-package-manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsooniter%2Fskills-package-manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsooniter%2Fskills-package-manager/lists"}