[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M77XRXMSVAPMSCP3SD7WR2AT":3,"skill-same:01M77XRXMSVAPMSCP3SD7WR2AT":65},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":19,"linkOnly":20,"markdownContent":21,"markdownBody":22,"frontMatter":23,"refName":25,"commitSha":26,"skillDirectory":27,"forksCount":28,"repositoryHtmlUrl":29,"repositoryHomepageUrl":30,"ownerHtmlUrl":31,"ownerBlogUrl":30,"ownerDescription":32,"updatedAt":33,"install":34,"resources":46},"01M77XRXMSVAPMSCP3SD7WR2AT","automate-npm-release",null,"Automate npm package publishing via GitHub Actions for single-package repos and independent monorepo packages, including bumpp version tags, GitHub release notes, trusted publishing, provenance, and package-scoped release tags. Use when setting up or modifying npm publish workflows, npm release pipelines, version bumping, package-scoped monorepo releases, changelogithub release notes, trusted publishing, provenance badges, NPM_TOKEN, or OIDC publishing.","synmux\u002Fclaude-commit","synmux","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F66192?v=4","01M77XNT1GDNA1H74K0RYJ4FBM","syn","01M77XNT2BD5GEXVJ5HP24GTG8",1,"MIT","https:\u002F\u002Fgithub.com\u002Fsynmux\u002Fclaude-commit\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fautomate-npm-release\u002FSKILL.md",[],[],"2026-11-15 14:19:17",false,"---\nname: automate-npm-release\ndescription: Automate npm package publishing via GitHub Actions for single-package repos and independent monorepo packages, including bumpp version tags, GitHub release notes, trusted publishing, provenance, and package-scoped release tags. Use when setting up or modifying npm publish workflows, npm release pipelines, version bumping, package-scoped monorepo releases, changelogithub release notes, trusted publishing, provenance badges, NPM_TOKEN, or OIDC publishing.\ndisable-model-invocation: true\n---\n\n# Automate npm Release\n\nUse this skill to set up npm release automation. First identify the repository shape, then load the matching reference:\n\n- Single publishable package: see [SINGLE_PACKAGE.md](SINGLE_PACKAGE.md).\n- Workspace monorepo with independently published packages: see [MONOREPO.md](MONOREPO.md).\n\n## Shared rules\n\n- npm requires the first publish to be done manually for each public package:\n\n```bash\nnpm publish --access public\n```\n\n- Prefer npm trusted publishing\u002FOIDC when the project asks for it. Configure the package on npmjs.com after the first manual publish, then use `id-token: write` in GitHub Actions. Ensure `package.json` has `repository.url` exactly matching the GitHub repo URL (case-sensitive) — required for provenance validation.\n- If using token-based publishing, configure `actions\u002Fsetup-node` with `registry-url: https:\u002F\u002Fregistry.npmjs.org` so `NODE_AUTH_TOKEN` can authenticate `npm publish`.\n- In pnpm workspaces, publish via `pnpm pack` followed by `npm publish \u003Ctarball> --access public`. This lets pnpm rewrite `workspace:*` dependencies while npm handles trusted publishing\u002FOIDC. Use changelogithub only for GitHub release notes\u002Freleases.\n- Always run checks, tests, and package builds before publishing.\n- Keep the private workspace root unpublished; publish from the actual package directory.\n\n## Quick choice\n\nUse single-package release automation when one `package.json` owns the npm artifact and one `v*` tag maps to one package.\n\nUse monorepo release automation when multiple workspace packages publish independently. In that flow, tags must encode the package, such as `cli-v0.1.0`, and GitHub release-note generation must use explicit previous same-package tag ranges.\n\n## Workflow examples\n\n- [EXAMPLE_WORKFLOW.yml](EXAMPLE_WORKFLOW.yml) — single-package token\u002Fprovenance workflow.\n- [MONOREPO_WORKFLOW.yml](MONOREPO_WORKFLOW.yml) — package-scoped monorepo workflow using trusted publishing and changelogithub.\n","# Automate npm Release\n\nUse this skill to set up npm release automation. First identify the repository shape, then load the matching reference:\n\n- Single publishable package: see [SINGLE_PACKAGE.md](SINGLE_PACKAGE.md).\n- Workspace monorepo with independently published packages: see [MONOREPO.md](MONOREPO.md).\n\n## Shared rules\n\n- npm requires the first publish to be done manually for each public package:\n\n```bash\nnpm publish --access public\n```\n\n- Prefer npm trusted publishing\u002FOIDC when the project asks for it. Configure the package on npmjs.com after the first manual publish, then use `id-token: write` in GitHub Actions. Ensure `package.json` has `repository.url` exactly matching the GitHub repo URL (case-sensitive) — required for provenance validation.\n- If using token-based publishing, configure `actions\u002Fsetup-node` with `registry-url: https:\u002F\u002Fregistry.npmjs.org` so `NODE_AUTH_TOKEN` can authenticate `npm publish`.\n- In pnpm workspaces, publish via `pnpm pack` followed by `npm publish \u003Ctarball> --access public`. This lets pnpm rewrite `workspace:*` dependencies while npm handles trusted publishing\u002FOIDC. Use changelogithub only for GitHub release notes\u002Freleases.\n- Always run checks, tests, and package builds before publishing.\n- Keep the private workspace root unpublished; publish from the actual package directory.\n\n## Quick choice\n\nUse single-package release automation when one `package.json` owns the npm artifact and one `v*` tag maps to one package.\n\nUse monorepo release automation when multiple workspace packages publish independently. In that flow, tags must encode the package, such as `cli-v0.1.0`, and GitHub release-note generation must use explicit previous same-package tag ranges.\n\n## Workflow examples\n\n- [EXAMPLE_WORKFLOW.yml](EXAMPLE_WORKFLOW.yml) — single-package token\u002Fprovenance workflow.\n- [MONOREPO_WORKFLOW.yml](MONOREPO_WORKFLOW.yml) — package-scoped monorepo workflow using trusted publishing and changelogithub.\n",{"name":5,"description":7,"disable-model-invocation":24},true,"main","23304ae178bfb875579dfdaa2dc851ac66d9a5e9",".github\u002Fskills\u002Fautomate-npm-release",0,"https:\u002F\u002Fgithub.com\u002Fsynmux\u002Fclaude-commit","https:\u002F\u002Fsyn.horse","https:\u002F\u002Fgithub.com\u002Fsynmux","Want code from one of my retired repositories? See the README in daveio\u002Fboneyard for instructions.","2026-11-12 20:07:00",{"source":8,"skillName":5,"commands":35,"prompt":45,"zipAvailable":24},[36,39,42],{"tool":37,"command":38},"npx","npx skills add synmux\u002Fclaude-commit --skill automate-npm-release",{"tool":40,"command":41},"bunx","bunx skills add synmux\u002Fclaude-commit --skill automate-npm-release",{"tool":43,"command":44},"pnpm","pnpm dlx skills add synmux\u002Fclaude-commit --skill automate-npm-release","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fsynmux\u002Fclaude-commit\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fautomate-npm-release\u002FSKILL.md",[47,53,57,61],{"path":48,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":51,"sourceHtmlUrl":52},"EXAMPLE_WORKFLOW.yml","REFERENCE","参考文档",923,"https:\u002F\u002Fgithub.com\u002Fsynmux\u002Fclaude-commit\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fautomate-npm-release\u002FEXAMPLE_WORKFLOW.yml",{"path":54,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":55,"sourceHtmlUrl":56},"MONOREPO_WORKFLOW.yml",4644,"https:\u002F\u002Fgithub.com\u002Fsynmux\u002Fclaude-commit\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fautomate-npm-release\u002FMONOREPO_WORKFLOW.yml",{"path":58,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":59,"sourceHtmlUrl":60},"MONOREPO.md",3251,"https:\u002F\u002Fgithub.com\u002Fsynmux\u002Fclaude-commit\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fautomate-npm-release\u002FMONOREPO.md",{"path":62,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":63,"sourceHtmlUrl":64},"SINGLE_PACKAGE.md",1091,"https:\u002F\u002Fgithub.com\u002Fsynmux\u002Fclaude-commit\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fautomate-npm-release\u002FSINGLE_PACKAGE.md",[66,73,80,87,94,101],{"skillNo":67,"name":68,"nameZh":6,"description":69,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":70,"categories":71,"keywords":72,"publishedAt":19},"01M77XWGBE1WRTHTF82HND0Z8F","writing-for-humans","How to write a short document a person has to read and act on - a ticket, a pull request body, a commit message, a handover note. Covers the title, a shape people skim, evidence that survives a refactor, and stripping the AI phrasing out. Call it before drafting any of those.","https:\u002F\u002Fgithub.com\u002Fsynmux\u002Fclaude-commit\u002Fblob\u002Fmain\u002F.skills\u002Fwriting-for-humans\u002FSKILL.md",[],[],{"skillNo":74,"name":75,"nameZh":6,"description":76,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":77,"categories":78,"keywords":79,"publishedAt":19},"01M77XWEMJVMH16P0Y7Y4YJ293","writing-for-agents","Writing documents for agents. Use when creating or editing skills, or modifying AGENTS.md or CLAUDE.md.","https:\u002F\u002Fgithub.com\u002Fsynmux\u002Fclaude-commit\u002Fblob\u002Fmain\u002F.skills\u002Fwriting-for-agents\u002FSKILL.md",[],[],{"skillNo":81,"name":82,"nameZh":6,"description":83,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":84,"categories":85,"keywords":86,"publishedAt":19},"01M77XWAWFFNCMRH2CM36N5FBF","node-cli","Patterns and conventions for building Node.js CLI tools — src structure, entry point setup, Commander wiring, and update notifications. Use when creating or modifying a Node.js CLI, adding Commander commands, wiring update-notifier, or asking how to structure a CLI entry point or src directory.","https:\u002F\u002Fgithub.com\u002Fsynmux\u002Fclaude-commit\u002Fblob\u002Fmain\u002F.skills\u002Fnode-cli\u002FSKILL.md",[],[],{"skillNo":88,"name":89,"nameZh":6,"description":90,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":91,"categories":92,"keywords":93,"publishedAt":19},"01M77XW4VB02TTKC7WF4KN1P0B","humanizer","Removes traces of AI-generated text. Suitable for editing or reviewing text to make it sound more natural and human-written. Based on the comprehensive Wikipedia guide on \"AI writing characteristics.\" Detects and fixes patterns such as: exaggerated symbolism, promotional language, superficial analysis ending in \"-ing,\" vague attribution, overuse of dashes, the rule of three, AI-typical vocabulary, negative parallelism, and excessive transitional phrases.","https:\u002F\u002Fgithub.com\u002Fsynmux\u002Fclaude-commit\u002Fblob\u002Fmain\u002F.skills\u002Fhumanizer\u002FSKILL.md",[],[],{"skillNo":95,"name":96,"nameZh":6,"description":97,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":98,"categories":99,"keywords":100,"publishedAt":19},"01M77XW2AZEFV3VQ08H10Q0B8J","create-ticket","Draft one small, plain ticket as a markdown file, then file it on the project's tracker once the user approves.","https:\u002F\u002Fgithub.com\u002Fsynmux\u002Fclaude-commit\u002Fblob\u002Fmain\u002F.skills\u002Fcreate-ticket\u002FSKILL.md",[],[],{"skillNo":102,"name":103,"nameZh":6,"description":104,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":105,"categories":106,"keywords":107,"publishedAt":19},"01M77XVZBJZGKMC1YZKVB5WGCQ","create-pr","Open one pull request as a draft, with a body the reviewer can act on.","https:\u002F\u002Fgithub.com\u002Fsynmux\u002Fclaude-commit\u002Fblob\u002Fmain\u002F.skills\u002Fcreate-pr\u002FSKILL.md",[],[]]