{"_id":"@bbhxwl/skills","_rev":"5-fb85e0fc4dd0aa6025bcc97d19172c12","name":"@bbhxwl/skills","dist-tags":{"latest":"0.1.3"},"versions":{"0.1.2":{"name":"@bbhxwl/skills","version":"0.1.2","keywords":["skills","claude","codex","hermes","opencode","antigravity","cli","agent","ai"],"author":{"name":"bbhxwl"},"license":"MIT","_id":"@bbhxwl/skills@0.1.2","maintainers":[{"name":"bbhxwl","email":"470138890@qq.com"}],"bin":{"skills":"bin/bin-skills.js","bin-skills":"bin/bin-skills.js"},"dist":{"shasum":"4e4e82c27b6ba9e7f2f5ae277d6634db482218c9","tarball":"https://registry.npmjs.org/@bbhxwl/skills/-/skills-0.1.2.tgz","fileCount":14,"integrity":"sha512-YyVxhOEqpe8NSGRcccaJ9KDnr/NtwrQdQmLwNCHy7kUYf2rh3cV0jk39KeXlpihp0ZsDbnlBxY94J8RIg0smzg==","signatures":[{"sig":"MEUCIQCRySWG7aDvFr/TgIllWCO3K1sIX8bz6Szkc/+jjNKg6wIgVD/VWvdp8piuT11qW4AHSV7GIfsZPoq490daoFWNDkM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36582},"main":"src/cli.js","type":"module","engines":{"node":">=18"},"gitHead":"2999b3ff93e1fdc48568268d2f9e67d9dc43a2d0","scripts":{"test":"node --test 'test/**/*.test.js'","start":"node bin/bin-skills.js","fixtures:build":"node scripts/build-test-zips.js","fixtures:serve":"node scripts/serve-fixtures.js","prepublishOnly":"npm test"},"_npmUser":{"name":"bbhxwl","email":"470138890@qq.com"},"_npmVersion":"11.11.0","description":"A CLI to install / update / uninstall skills for Claude Code, Codex, Hermes, OpenCode and Antigravity from a zip registry.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"chalk":"^5.3.0","inquirer":"^9.3.0","commander":"^12.1.0","@zip.js/zip.js":"^2.8.26"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/skills_0.1.2_1778769556234_0.6480456788743134","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@bbhxwl/skills","version":"0.1.3","publishConfig":{"access":"public"},"description":"A CLI to install / update / uninstall skills for Claude Code, Codex, Hermes, OpenCode and Antigravity from a zip registry.","bin":{"skills":"bin/bin-skills.js","bin-skills":"bin/bin-skills.js"},"type":"module","main":"src/cli.js","scripts":{"start":"node bin/bin-skills.js","test":"node --test 'test/**/*.test.js'","fixtures:build":"node scripts/build-test-zips.js","fixtures:serve":"node scripts/serve-fixtures.js","prepublishOnly":"npm test"},"keywords":["skills","claude","codex","hermes","opencode","antigravity","cli","agent","ai"],"author":{"name":"bbhxwl"},"license":"MIT","engines":{"node":">=18"},"dependencies":{"@zip.js/zip.js":"^2.8.26","chalk":"^5.3.0","commander":"^12.1.0","inquirer":"^9.3.0"},"gitHead":"d33785b61f666096af4f3361351d75f9a27bc7a0","_id":"@bbhxwl/skills@0.1.3","_nodeVersion":"24.14.1","_npmVersion":"11.11.0","dist":{"integrity":"sha512-kvtgZI8EItRiF0hbcraoegfV2wYUVZ9gaGyOc+HehpuqgMaCt1r9hzuwqNqaa60H/WofI/QCktmNDUokj/QneQ==","shasum":"13c8855930322415f73958467020a0e21b187c12","tarball":"https://registry.npmjs.org/@bbhxwl/skills/-/skills-0.1.3.tgz","fileCount":14,"unpackedSize":38860,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIDId6Pn910zD6X6CO/d1PllyUtrOSpV2r7mF39QWjPijAiEA/C8iVI3d/omlq+NhhjY4lc9Q+Mi6jwYNi0Isx/ZcSwQ="}]},"_npmUser":{"name":"bbhxwl","email":"470138890@qq.com"},"directories":{},"maintainers":[{"name":"bbhxwl","email":"470138890@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/skills_0.1.3_1778772951088_0.04198709633795339"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-14T14:39:16.156Z","modified":"2026-05-14T15:35:51.347Z","0.1.1":"2026-05-14T14:15:49.253Z","0.1.2":"2026-05-14T14:39:16.401Z","0.1.3":"2026-05-14T15:35:51.249Z"},"author":{"name":"bbhxwl"},"license":"MIT","keywords":["skills","claude","codex","hermes","opencode","antigravity","cli","agent","ai"],"description":"A CLI to install / update / uninstall skills for Claude Code, Codex, Hermes, OpenCode and Antigravity from a zip registry.","maintainers":[{"name":"bbhxwl","email":"470138890@qq.com"}],"readme":"# @bbhxwl/skills\n\nA CLI to install / update / uninstall skills for **Claude Code**, **Codex**, **Hermes**, **OpenCode**, and **Antigravity**.\n\nEach skill is a `<name>.zip` hosted at a registry URL. `skills install <name>`\ndownloads `<url>/<name>.zip`, unpacks it (transparently handling\npassword-protected zips and wrapper folders), and drops the result into the\nchosen tool's `skills/` directory.\n\n```bash\nnpx @bbhxwl/skills install hello-world --target claude\nnpx @bbhxwl/skills update  hello-world --target claude\nnpx @bbhxwl/skills uninstall hello-world --target claude\n```\n\n(`bin-skills` is also registered as an alias, so `npx -p @bbhxwl/skills bin-skills`\nworks too.)\n\n## Commands\n\n| Command | Description |\n| ------- | ----------- |\n| `install [skill]` | Download `<skill>.zip` from the registry and install it into one or more tools. |\n| `update [skill]` | Re-download and replace an installed skill. `--all` updates every tool that has it. |\n| `uninstall [skill]` | Remove a skill from one or more tools (local only, no download). |\n| `list` | Show detected tools and which skills are currently installed in each. |\n\n## Flags\n\nAll commands accept short aliases (use whichever is faster to type):\n\n| Long | Short | Applies to | Meaning |\n| --- | --- | --- | --- |\n| `--target <id>` | `-t` | install / update / uninstall / list | Pick a specific tool. If omitted, you'll be prompted. |\n| `--all-targets` | — | install / update / uninstall | Show all known targets in the prompt, not just detected ones. |\n| `--force` | `-f` | install | Overwrite an existing installation. |\n| `--all` | `-a` | update | Update across every tool that has this skill installed. |\n| `--zip-password <pwd>` | `-z` | install / update | Provide a password for an encrypted zip. |\n| `--version` | `-V` | (top-level) | Print CLI version. |\n| `--help` | `-h` | any | Show help. |\n\nExamples:\n\n```bash\n# install + short flags\nnpx @bbhxwl/skills install hello-world -t claude\nnpx @bbhxwl/skills install hello-world -t claude -f\n\n# update everywhere it's already installed\nnpx @bbhxwl/skills update hello-world -a\n\n# install with an encrypted zip\nnpx @bbhxwl/skills install secret -t claude -z 'my-zip-password'\n\n# interactive — no skill name, no target → CLI prompts both\nnpx @bbhxwl/skills install\n```\n\n## Targets\n\n| Target id | Tool | Default install path |\n| --------- | ---- | -------------------- |\n| `claude` | Claude Code | `~/.claude/skills/` |\n| `codex` | Codex | `~/.codex/skills/` |\n| `hermes` | Hermes | `~/.hermes/skills/` |\n| `opencode` | OpenCode | `~/.config/opencode/skills/` |\n| `antigravity` | Antigravity | `~/.antigravity/skills/` |\n\nWhen `-t` is omitted, the CLI lists detected tools and prompts. \"All detected\ntools\" is offered as a one-shot fan-out option.\n\n## Caching\n\nEvery download appends a cache-busting query string and sends\n`Cache-Control: no-cache`, so CDN/edge caches won't serve a stale copy.\n\n## Encrypted zips\n\nThe CLI detects whether a zip is encrypted. Behaviour:\n\n1. **Not encrypted** → extract directly.\n2. **Encrypted**:\n   - try `-z <password>` if you provided one\n   - try the bundled default\n   - prompt you interactively up to 3 times\n\nAES-256 and ZipCrypto are both supported.\n\nIf a skill should be restricted, encrypt the zip with a non-default password\non the server side and distribute the password out-of-band to authorised\nusers — they pass it via `-z <password>`.\n\n## Zip layout — what's accepted\n\nThe CLI auto-detects two common layouts and walks down nested wrappers (up to\n5 levels):\n\n```\nflat.zip                wrapped.zip               nested.zip\n├── SKILL.md            └── my-skill/             └── outer/\n└── (other files)           ├── SKILL.md              └── inner/\n                            └── (other files)             ├── SKILL.md\n                                                          └── (other files)\n```\n\nThe directory installed at the destination is named after the **`<name>` you\ntyped** (not whatever is inside the zip or `SKILL.md`).\n\n## Skill validation\n\nAfter download the CLI checks the extracted zip and surfaces issues before\ninstalling:\n\n- ✖ **error**: aborts (e.g. zip is empty)\n- ⚠ **warning**: installs but flags (e.g. no `SKILL.md` at root, missing\n  `name:` or `description:` in frontmatter)\n- ℹ **info**: just informational (e.g. `SKILL.md` declares a different name\n  than the one you typed)\n\n## License\n\nMIT\n","readmeFilename":"README.md"}