[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6R63FVJPCDGVK2EQV9TAMZC":3,"skill-same:01M6R63FVJPCDGVK2EQV9TAMZC":118},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":35,"linkOnly":36,"markdownContent":37,"markdownBody":38,"frontMatter":39,"refName":40,"commitSha":41,"skillDirectory":42,"forksCount":13,"repositoryHtmlUrl":43,"repositoryHomepageUrl":6,"ownerHtmlUrl":44,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":45,"install":46,"resources":59},"01M6R63FVJPCDGVK2EQV9TAMZC","publish-semver",null,"Set up semantic or calendar versioning and package publishing across supported ecosystems. Use when configuring release automation or changelogs.","r3dlex\u002Fskills","r3dlex","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F291373160?v=4","01M6PEFNGGBVB7SHAPWXFFX933","01M6R5SDWFHT94734KJFMYE1SX",0,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fr3dlex\u002Fskills\u002Fblob\u002Fmain\u002F04-validate-handoff\u002Fpublish-semver\u002FSKILL.md",[],[18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34],"publish semver","semver","publish","up","when","release automation","semantic","ecosystems","across","calendar","publishing","automation","use","versioning","SET","package","release","2026-11-10 10:12:30",false,"---\nname: publish-semver\ndescription: \"Set up semantic or calendar versioning and package publishing across supported ecosystems. Use when configuring release automation or changelogs.\"\n---\n\n# publish-semver\n\n## Version Model\n\nEvery push to `main` creates a pre-release. A Release-Please PR merge or semantic-release stable tag promotes it to stable.\n\n```\n0.1.3-pre.1   ← push to main\n0.1.3-pre.2   ← push to main\n0.1.3         ← stable release\n```\n\nCommit type controls the next stable bump:\n- `fix:` → patch (0.1.2 → 0.1.3)\n- `feat:` → minor (0.1.2 → 0.2.0)\n- `feat!:` \u002F `BREAKING CHANGE:` → major (0.1.2 → 1.0.0)\n\n## Step 1: Pick Your Host\n\n| Host | CI system | Private registry |\n|---|---|---|\n| **GitHub** | GitHub Actions | GitHub Packages |\n| **Azure DevOps** | Azure Pipelines | Azure Artifacts |\n\nRead the host file first. It contains the full CI job scaffold, auth patterns, visibility checks, and floating tag steps.\n\n- GitHub → [host-github.md](host-github.md)\n- Azure DevOps → [host-ado.md](host-ado.md)\n\n## Step 2: Pick Your Strategy\n\n| Strategy | How it works | Best for |\n|---|---|---|\n| **Release-Please** | Accumulates commits into a release PR. Stable publish on PR merge. | Teams that want a review gate. |\n| **semantic-release** | Tags and publishes on every qualifying push to `main`. | Fully automated pipelines. |\n\nBoth produce pre-releases on every push to `main`.\n\n## Step 3: Pick Your Ecosystem\n\n| Ecosystem | File |\n|---|---|\n| JS\u002FTS + npm | [js-npm.md](js-npm.md) |\n| Python + PyPI | [python-pypi.md](python-pypi.md) |\n| Elixir + Hex | [elixir-hex.md](elixir-hex.md) |\n| Elixir + Burrito binaries | [elixir-burrito.md](elixir-burrito.md) |\n| Rust + crates.io | [rust-crates.md](rust-crates.md) |\n| C# + NuGet | [csharp-nuget.md](csharp-nuget.md) |\n| Dart \u002F Flutter + pub.dev | [dart-pub.md](dart-pub.md) |\n| Java + Maven Central | [java-maven.md](java-maven.md) |\n| Kotlin + Gradle + Maven Central | [kotlin-gradle.md](kotlin-gradle.md) |\n| Erlang + Hex | [erlang-hex.md](erlang-hex.md) |\n\n## Step 4: Compose the Workflow\n\nEcosystem files provide publish commands and version bump logic only.\nThe host file provides the full CI job scaffold. Combine them:\n\n1. Copy the job scaffold from the host file.\n2. Replace the `# ECOSYSTEM PUBLISH STEPS` placeholder with commands from the ecosystem file.\n3. Add required secrets from the ecosystem file to your CI secret store.\n\n## Supporting References\n\n| Need | File |\n|---|---|\n| Floating major version tags | [floating-tags.md](floating-tags.md) |\n| CHANGELOG and release file conventions | [release-files.md](release-files.md) |\n","# publish-semver\n\n## Version Model\n\nEvery push to `main` creates a pre-release. A Release-Please PR merge or semantic-release stable tag promotes it to stable.\n\n```\n0.1.3-pre.1   ← push to main\n0.1.3-pre.2   ← push to main\n0.1.3         ← stable release\n```\n\nCommit type controls the next stable bump:\n- `fix:` → patch (0.1.2 → 0.1.3)\n- `feat:` → minor (0.1.2 → 0.2.0)\n- `feat!:` \u002F `BREAKING CHANGE:` → major (0.1.2 → 1.0.0)\n\n## Step 1: Pick Your Host\n\n| Host | CI system | Private registry |\n|---|---|---|\n| **GitHub** | GitHub Actions | GitHub Packages |\n| **Azure DevOps** | Azure Pipelines | Azure Artifacts |\n\nRead the host file first. It contains the full CI job scaffold, auth patterns, visibility checks, and floating tag steps.\n\n- GitHub → [host-github.md](host-github.md)\n- Azure DevOps → [host-ado.md](host-ado.md)\n\n## Step 2: Pick Your Strategy\n\n| Strategy | How it works | Best for |\n|---|---|---|\n| **Release-Please** | Accumulates commits into a release PR. Stable publish on PR merge. | Teams that want a review gate. |\n| **semantic-release** | Tags and publishes on every qualifying push to `main`. | Fully automated pipelines. |\n\nBoth produce pre-releases on every push to `main`.\n\n## Step 3: Pick Your Ecosystem\n\n| Ecosystem | File |\n|---|---|\n| JS\u002FTS + npm | [js-npm.md](js-npm.md) |\n| Python + PyPI | [python-pypi.md](python-pypi.md) |\n| Elixir + Hex | [elixir-hex.md](elixir-hex.md) |\n| Elixir + Burrito binaries | [elixir-burrito.md](elixir-burrito.md) |\n| Rust + crates.io | [rust-crates.md](rust-crates.md) |\n| C# + NuGet | [csharp-nuget.md](csharp-nuget.md) |\n| Dart \u002F Flutter + pub.dev | [dart-pub.md](dart-pub.md) |\n| Java + Maven Central | [java-maven.md](java-maven.md) |\n| Kotlin + Gradle + Maven Central | [kotlin-gradle.md](kotlin-gradle.md) |\n| Erlang + Hex | [erlang-hex.md](erlang-hex.md) |\n\n## Step 4: Compose the Workflow\n\nEcosystem files provide publish commands and version bump logic only.\nThe host file provides the full CI job scaffold. Combine them:\n\n1. Copy the job scaffold from the host file.\n2. Replace the `# ECOSYSTEM PUBLISH STEPS` placeholder with commands from the ecosystem file.\n3. Add required secrets from the ecosystem file to your CI secret store.\n\n## Supporting References\n\n| Need | File |\n|---|---|\n| Floating major version tags | [floating-tags.md](floating-tags.md) |\n| CHANGELOG and release file conventions | [release-files.md](release-files.md) |\n",{"name":5,"description":7},"main","037fe34299eb9c4a30b51f1a6bd101eae1c469b1","04-validate-handoff\u002Fpublish-semver","https:\u002F\u002Fgithub.com\u002Fr3dlex\u002Fskills","https:\u002F\u002Fgithub.com\u002Fr3dlex","2026-10-29 16:22:54",{"source":8,"skillName":5,"commands":47,"prompt":57,"zipAvailable":58},[48,51,54],{"tool":49,"command":50},"npx","npx skills add r3dlex\u002Fskills --skill publish-semver",{"tool":52,"command":53},"bunx","bunx skills add r3dlex\u002Fskills --skill publish-semver",{"tool":55,"command":56},"pnpm","pnpm dlx skills add r3dlex\u002Fskills --skill publish-semver","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fr3dlex\u002Fskills\u002Fblob\u002Fmain\u002F04-validate-handoff\u002Fpublish-semver\u002FSKILL.md",true,[60,66,70,74,78,82,86,90,94,98,102,106,110,114],{"path":61,"resourceType":62,"resourceTypeDesc":63,"sizeBytes":64,"sourceHtmlUrl":65},"csharp-nuget.md","REFERENCE","参考文档",3283,"https:\u002F\u002Fgithub.com\u002Fr3dlex\u002Fskills\u002Fblob\u002Fmain\u002F04-validate-handoff\u002Fpublish-semver\u002Fcsharp-nuget.md",{"path":67,"resourceType":62,"resourceTypeDesc":63,"sizeBytes":68,"sourceHtmlUrl":69},"dart-pub.md",2913,"https:\u002F\u002Fgithub.com\u002Fr3dlex\u002Fskills\u002Fblob\u002Fmain\u002F04-validate-handoff\u002Fpublish-semver\u002Fdart-pub.md",{"path":71,"resourceType":62,"resourceTypeDesc":63,"sizeBytes":72,"sourceHtmlUrl":73},"elixir-burrito.md",2621,"https:\u002F\u002Fgithub.com\u002Fr3dlex\u002Fskills\u002Fblob\u002Fmain\u002F04-validate-handoff\u002Fpublish-semver\u002Felixir-burrito.md",{"path":75,"resourceType":62,"resourceTypeDesc":63,"sizeBytes":76,"sourceHtmlUrl":77},"elixir-hex.md",2594,"https:\u002F\u002Fgithub.com\u002Fr3dlex\u002Fskills\u002Fblob\u002Fmain\u002F04-validate-handoff\u002Fpublish-semver\u002Felixir-hex.md",{"path":79,"resourceType":62,"resourceTypeDesc":63,"sizeBytes":80,"sourceHtmlUrl":81},"erlang-hex.md",3089,"https:\u002F\u002Fgithub.com\u002Fr3dlex\u002Fskills\u002Fblob\u002Fmain\u002F04-validate-handoff\u002Fpublish-semver\u002Ferlang-hex.md",{"path":83,"resourceType":62,"resourceTypeDesc":63,"sizeBytes":84,"sourceHtmlUrl":85},"floating-tags.md",2070,"https:\u002F\u002Fgithub.com\u002Fr3dlex\u002Fskills\u002Fblob\u002Fmain\u002F04-validate-handoff\u002Fpublish-semver\u002Ffloating-tags.md",{"path":87,"resourceType":62,"resourceTypeDesc":63,"sizeBytes":88,"sourceHtmlUrl":89},"host-ado.md",6720,"https:\u002F\u002Fgithub.com\u002Fr3dlex\u002Fskills\u002Fblob\u002Fmain\u002F04-validate-handoff\u002Fpublish-semver\u002Fhost-ado.md",{"path":91,"resourceType":62,"resourceTypeDesc":63,"sizeBytes":92,"sourceHtmlUrl":93},"host-github.md",5177,"https:\u002F\u002Fgithub.com\u002Fr3dlex\u002Fskills\u002Fblob\u002Fmain\u002F04-validate-handoff\u002Fpublish-semver\u002Fhost-github.md",{"path":95,"resourceType":62,"resourceTypeDesc":63,"sizeBytes":96,"sourceHtmlUrl":97},"java-maven.md",3966,"https:\u002F\u002Fgithub.com\u002Fr3dlex\u002Fskills\u002Fblob\u002Fmain\u002F04-validate-handoff\u002Fpublish-semver\u002Fjava-maven.md",{"path":99,"resourceType":62,"resourceTypeDesc":63,"sizeBytes":100,"sourceHtmlUrl":101},"js-npm.md",2367,"https:\u002F\u002Fgithub.com\u002Fr3dlex\u002Fskills\u002Fblob\u002Fmain\u002F04-validate-handoff\u002Fpublish-semver\u002Fjs-npm.md",{"path":103,"resourceType":62,"resourceTypeDesc":63,"sizeBytes":104,"sourceHtmlUrl":105},"kotlin-gradle.md",4272,"https:\u002F\u002Fgithub.com\u002Fr3dlex\u002Fskills\u002Fblob\u002Fmain\u002F04-validate-handoff\u002Fpublish-semver\u002Fkotlin-gradle.md",{"path":107,"resourceType":62,"resourceTypeDesc":63,"sizeBytes":108,"sourceHtmlUrl":109},"python-pypi.md",2567,"https:\u002F\u002Fgithub.com\u002Fr3dlex\u002Fskills\u002Fblob\u002Fmain\u002F04-validate-handoff\u002Fpublish-semver\u002Fpython-pypi.md",{"path":111,"resourceType":62,"resourceTypeDesc":63,"sizeBytes":112,"sourceHtmlUrl":113},"release-files.md",2703,"https:\u002F\u002Fgithub.com\u002Fr3dlex\u002Fskills\u002Fblob\u002Fmain\u002F04-validate-handoff\u002Fpublish-semver\u002Frelease-files.md",{"path":115,"resourceType":62,"resourceTypeDesc":63,"sizeBytes":116,"sourceHtmlUrl":117},"rust-crates.md",2631,"https:\u002F\u002Fgithub.com\u002Fr3dlex\u002Fskills\u002Fblob\u002Fmain\u002F04-validate-handoff\u002Fpublish-semver\u002Frust-crates.md",[119,127,140,149,159,182],{"skillNo":120,"name":121,"nameZh":6,"description":122,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":123,"categories":124,"keywords":125,"publishedAt":35},"01M6R652E42RZT7M2V3RWW991Z","skill","Fixture.","https:\u002F\u002Fgithub.com\u002Fr3dlex\u002Fskills\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fcatalog-malformed\u002Fskill\u002FSKILL.md",[],[126],"fixture",{"skillNo":128,"name":129,"nameZh":6,"description":130,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":131,"categories":132,"keywords":138,"publishedAt":35},"01M6R64MTPF0FGWHFS4DWP40GR","stable-skill","Fixture stable-skill.","https:\u002F\u002Fgithub.com\u002Fr3dlex\u002Fskills\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fcatalog-lifecycle\u002Fstable-skill\u002FSKILL.md",[133],{"categoryNo":134,"categoryName":135,"taxonomyType":136,"taxonomyTypeDesc":137},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[139,126],"stable skill",{"skillNo":141,"name":142,"nameZh":6,"description":143,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":144,"categories":145,"keywords":147,"publishedAt":35},"01M6R64HD4QVAYM2R0JSYNVDJW","experimental-skill","Fixture experimental-skill.","https:\u002F\u002Fgithub.com\u002Fr3dlex\u002Fskills\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fcatalog-lifecycle\u002Fexperimental-skill\u002FSKILL.md",[146],{"categoryNo":134,"categoryName":135,"taxonomyType":136,"taxonomyTypeDesc":137},[148,126],"experimental skill",{"skillNo":150,"name":151,"nameZh":6,"description":152,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":153,"categories":154,"keywords":156,"publishedAt":35},"01M6R64FZH05TEJQW75QX1E5XD","deprecated-skill","Fixture deprecated-skill.","https:\u002F\u002Fgithub.com\u002Fr3dlex\u002Fskills\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fcatalog-lifecycle\u002Fdeprecated-skill\u002FSKILL.md",[155],{"categoryNo":134,"categoryName":135,"taxonomyType":136,"taxonomyTypeDesc":137},[157,158,126],"deprecated skill","deprecated",{"skillNo":160,"name":161,"nameZh":6,"description":162,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":163,"categories":164,"keywords":165,"publishedAt":35},"01M6R64D13X5DC980GREWFSSFQ","karpathy-guidelines","Apply think-before-coding, simplicity, surgical-change, and goal-driven engineering rules. Use when planning, implementing, or reviewing code.","https:\u002F\u002Fgithub.com\u002Fr3dlex\u002Fskills\u002Fblob\u002Fmain\u002Freference\u002Fgolden-skills\u002F.agents\u002Fskills\u002Fkarpathy-guidelines\u002FSKILL.md",[],[166,167,168,169,30,170,171,172,173,174,175,176,22,177,178,179,180,181],"karpathy guidelines","karpathy","guidelines","Rules","simplicity","goal","think","driven","reviewing code","implementing","apply","coding","change","code","planning","engineering",{"skillNo":183,"name":161,"nameZh":6,"description":162,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":184,"categories":185,"keywords":186,"publishedAt":35},"01M6R640ZS60BRV9P49FT46ZJX","https:\u002F\u002Fgithub.com\u002Fr3dlex\u002Fskills\u002Fblob\u002Fmain\u002Freference\u002Fgolden-root\u002F.agents\u002Fskills\u002Fkarpathy-guidelines\u002FSKILL.md",[],[168,166,167,178,173,179,180,181,177,169,30,170,171,172,174,175,176,22]]