{"skill":{"slug":"npm","displayName":"npm","summary":"Use npm for package install, version inspection, dist-tags, and safe publish flows. Use when working on OpenClaw or ClawHub package releases, validating publ...","description":"---\nname: npm\ndescription: Use npm for package install, version inspection, dist-tags, and safe publish flows. Use when working on OpenClaw or ClawHub package releases, validating published versions, or handling npm auth/OTP publishing.\nmetadata:\n  {\n    \"openclaw\":\n      {\n        \"emoji\": \"📦\",\n        \"requires\": { \"bins\": [\"npm\"] },\n        \"install\":\n          [\n            {\n              \"id\": \"brew\",\n              \"kind\": \"brew\",\n              \"formula\": \"node\",\n              \"bins\": [\"npm\"],\n              \"label\": \"Install Node.js + npm (brew)\",\n            },\n            {\n              \"id\": \"apt\",\n              \"kind\": \"apt\",\n              \"package\": \"npm\",\n              \"bins\": [\"npm\"],\n              \"label\": \"Install npm (apt)\",\n            },\n          ],\n      },\n  }\n---\n\n# npm\n\nUse this skill for npm package operations with release-safe defaults.\n\n## Scope\n\n- OpenClaw packages in this monorepo (core + plugins)\n- ClawHub CLI package/release checks when npm is involved\n- npm publish, dist-tag, and version verification\n\n## Guardrails\n\n- Never publish from repo root unless explicitly requested for `openclaw`.\n- For plugin-only releases, publish only changed plugins and keep `openclaw` untouched.\n- For beta tags, publish matching beta versions (for example `2026.2.15-beta.1`) with `--tag beta`.\n- Use `npm view <pkg> version --userconfig \"$(mktemp)\"` for read-only verification.\n- If OTP is required, fetch it through the `1password` skill in tmux before publish.\n\n## Quick Checks\n\n```bash\nnpm --version\nnpm whoami\nnpm view openclaw version --userconfig \"$(mktemp)\"\n```\n\n## OpenClaw Release-safe Flow\n\n1. Verify target package and local version:\n\n```bash\nnpm view <package-name> version --userconfig \"$(mktemp)\"\nnode -p \"require('./package.json').version\"\n```\n\n2. Publish from package directory only:\n\n```bash\ncd <package-dir>\nnpm publish --access public --otp=\"<otp>\"\n```\n\n3. Verify published version:\n\n```bash\nnpm view <package-name> version --userconfig \"$(mktemp)\"\n```\n\n4. For beta releases:\n\n```bash\nnpm publish --access public --tag beta --otp=\"<otp>\"\n```\n\n## ClawHub Interop\n\n- Use npm only for ClawHub package version/auth concerns.\n- Use `clawhub` CLI for skill search/install/update/publish workflows.\n- If both are needed: publish npm package first, then run `clawhub` publish/update commands.\n\n## Useful Commands\n\n```bash\n# Inspect package metadata\nnpm view <package-name> dist-tags --json --userconfig \"$(mktemp)\"\nnpm view <package-name> versions --json --userconfig \"$(mktemp)\"\n\n# Manage dist-tags\nnpm dist-tag add <package-name>@<version> beta\nnpm dist-tag add <package-name>@<version> latest\n\n# Verify current auth context\nnpm whoami\nnpm profile get --json\n```\n","tags":{"latest":"1.0.0"},"stats":{"comments":0,"downloads":903,"installsAllTime":4,"installsCurrent":4,"stars":0,"versions":1},"createdAt":1773497573411,"updatedAt":1778491905918},"latestVersion":{"version":"1.0.0","createdAt":1773497573411,"changelog":"- Initial release of the npm skill for package management and release workflows.\n- Supports npm package install, version inspection, dist-tag management, and publishing with OTP safety.\n- Provides guardrails for OpenClaw and plugin releases to prevent publishing errors.\n- Includes step-by-step flow for release-safe publishing, including beta tag handling.\n- Outlines integration points with ClawHub for seamless package management.","license":"MIT-0"},"metadata":{"setup":[],"os":null,"systems":null},"owner":{"handle":"jvy","userId":"s17drhqvqmrfz94tm5320kfgj983kf7m","displayName":"jvy","image":"https://avatars.githubusercontent.com/u/5337221?v=4"},"moderation":null}