[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71TPXD0GHYR04SCZZ3988V3":3,"skill-same:01M71TPXD0GHYR04SCZZ3988V3":63},{"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":28,"linkOnly":29,"markdownContent":30,"markdownBody":31,"frontMatter":32,"refName":33,"commitSha":34,"skillDirectory":35,"forksCount":36,"repositoryHtmlUrl":37,"repositoryHomepageUrl":38,"ownerHtmlUrl":39,"ownerBlogUrl":40,"ownerDescription":41,"updatedAt":42,"install":43,"resources":56},"01M71TPXD0GHYR04SCZZ3988V3","cut-release",null,"Use to ship a new version (tag and GitHub Release)","Chemaclass\u002Fagnostic-ai","Chemaclass","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F5256287?v=4","01M71TPD2XMBHAF2EVENMQ17YB","Jose M. Valera Reales","01M71TPD3Z8Q56NDPTEPGQ2JC7",27,"MIT","https:\u002F\u002Fgithub.com\u002FChemaclass\u002Fagnostic-ai\u002Fblob\u002Fmain\u002F.agnostic-ai\u002Fskills\u002Fcut-release\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27],"cut release","release","cut","github","github release","ship","use","version","new","2026-11-10 13:02:02",false,"---\nname: cut-release\ndescription: \"Use to ship a new version (tag and GitHub Release)\"\n---\n\n# cut-release\n\nCuts a new release of agnostic-ai. The release commit carries the version,\nexact changelog, and one public release briefing. GoReleaser publishes\nartifacts and the GitHub Release once the tag is pushed. Pages publishes the\nbriefing from the same commit on `main`.\n\n## Scope\n\nUse this workflow when the user asks to publish a new version. A request to prepare release material stops before pushing or tagging; preserve any narrower scope from the user. On later release authorization, inspect the prepared version, changelog, briefing, and working changes, then resume at the first incomplete step. Preserve recognized release edits; do not repeat the changelog rollover. Reuse checks only while their inputs remain unchanged.\n\n## Steps\n\n1. Confirm `main` and a clean working tree for a new release, then `git pull --ff-only`. For resumed preparation with uncommitted release edits, fetch and inspect remote changes without discarding that work; reconcile an advanced base before validation.\n2. Use the requested version, or select the next version from the changes since\n   the last tag (`git log --oneline \u003Clast-tag>..HEAD`). Check diffs and migration\n   notices as well as commit types; the changelog groups by scope, not kind:\n   - patch: bug fixes only\n   - minor: additive features\n   - major: breaking changes after v1.0; while on 0.x, use a minor release\n     with explicit breaking notes, as required by `spec-migration`\n3. Update `CHANGELOG.md`: drop empty `### ` and `#### ` headings from `## [Unreleased]`, then move the remaining lines into a new dated `## vX.Y.Z - YYYY-MM-DD` section (no brackets). The released section must never carry a heading with no entries. Reset `## [Unreleased]` to empty.\n\n   Curate the section first with the layout, entry rules, and length check in\n   `.agnostic-ai\u002Fagents\u002Fchangelog-curator.md`. Condensing keeps every `#NNN`.\n   A path, flag, or case it drops must already be on the docs page or in the\n   PR; if it is not, add it to the docs, not back to the bullet.\n\n   `CHANGELOG.md` keeps the current group of ten minor versions. When you\n   release v0.81.0, v0.91.0, and so on, move every dated section older than\n   v0.80.0, v0.90.0, and so on to the top of `docs\u002FCHANGELOG-archive.md`.\n   Update the \"Releases before\" line at the end of `CHANGELOG.md` and at the\n   top of the archive. `scripts\u002Frelease-notes.sh` and\n   `scripts\u002Fsignals-shipped.sh` read both files.\n\n   Then run `scripts\u002Fsignals-shipped.sh`. It sets `shipped-date` in\n   `scripts\u002Ftarget-audit\u002Fsignals.tsv` to the release date on every signal\n   whose issue the new section cites, and never moves a date already set.\n   Review the changed rows in `git diff -- scripts\u002Ftarget-audit\u002Fsignals.tsv`.\n   A line that only mentions the issue, without delivering support, does not\n   ship the signal, so clear only the date newly set for that row.\n4. Bump `version` in `cmd\u002Fagnostic-ai\u002Fmain.go`, `extra.version` in\n   `docs\u002Fsite\u002Fconfig.toml`, and both release values in the root\n   `agnostic-ai.yaml`: the minimum `requires: \">=X.Y.Z\"` and the `$schema`\n   URL's `vX.Y.Z` tag. Keep\n   them in the release commit. `make site-test` fails when these values\n   disagree with the latest dated changelog section.\n5. After finalizing the changelog, create exactly one\n   `docs\u002Fsite\u002Fcontent\u002Fupdates\u002FYYYY-MM-DD-vX.Y.Z.md` release briefing. Read and\n   follow [references\u002Frelease-briefing.md](references\u002Frelease-briefing.md):\n   a short title that names the user value, Highlights first, required\n   upgrade actions only, at most four \"What changed\" groups, one target line\n   per tool with the verification method stated once, and about 600 words.\n6. Validate the completed release tree before committing. Follow the generation\n   checks for project source specs in repository-root `docs\u002Finternal\u002Fcontributing.md`,\n   section \"Choose checks for your change\", then run `make ci-local` and\n   `make site-build site-test`. Check each command's own exit code, never\n   through a pipe, and refuse to proceed on any failure.\n\n   `preflight` covers formatting, lint (including govet), and Go tests. A\n   release also needs race tests, the WASM build, schema drift, spec lint, shell\n   tests, binary size, and editor checks. `ci-local` runs those checks with the\n   JetBrains condition below. Inspect skipped site tests; a successful exit\n   with missing required coverage does not satisfy the gate.\n\n   The JetBrains plugin runs only when `editors\u002Fjetbrains\u002F` changed since\n   `origin\u002Fmain`; `FORCE_JETBRAINS=1` runs it anyway. `SKIP_JETBRAINS=1`\n   exists for machines without Java or access to the Gradle distribution. If\n   you use it, say so in the release report: that job was not gated locally.\n\n   `ci-local` tests on this machine's OS alone. Step 8 checks the exact\n   release commit across all three OSes. The plugin version-bump job is\n   PR-only; if the plugin changed since the last release, confirm that its\n   PR check passed.\n7. Confirm the version file, site version, project config pins, dated\n   changelog section, briefing, archive changes, and any `signals.tsv` or\n   tracked generated output changes are all staged for the same commit. Review the staged diff for\n   unrelated edits and record the tested tree. If release inputs changed after\n   validation, rerun the affected checks before committing. Commit `chore(release): vX.Y.Z`, GPG-signed.\n8. Push `main`, then dispatch `gh workflow run ci.yml --ref main`\n   and wait for that run on the exact release commit. Confirm Linux,\n   macOS, the Windows smoke check, and every other job that ran passed.\n   The full Windows Go race suite is optional and manual only: add\n   `-f full_windows=true` when needed. Each of its shards stops after ten minutes.\n9. Record the release SHA and confirm the remote tag does not already exist.\n   Tag that exact green commit with `git tag -s vX.Y.Z \u003Crelease-SHA> -m \"vX.Y.Z\"`,\n   then push the tag with `git push origin vX.Y.Z`. Never infer the tagged commit\n   from a branch that may have advanced during CI.\n10. Watch the `Release` workflow for the tag and the `Pages` workflow for the\n    release commit on `main`, including package verification jobs. If a run\n    fails, inspect its logs and published state before retrying. Keep a published\n    tag fixed; stop and report any recovery that requires replacing a release.\n    If the automatic Pages run is absent, dispatch `playground.yml` on `main`,\n    then watch that run and record its SHA.\n11. Verify the published release: download the archive for this machine and\n    `checksums.txt` to a temporary directory, verify its checksum, and run the\n    extracted binary with `--version`. Confirm the version, release notes, and\n    published briefing match the release. Report the tag, commit, release URL,\n    briefing URL, check results, and any unresolved publication failure.\n\n## Conventions\n\n- `scripts\u002Frelease-notes.sh vX.Y.Z` selects that version's dated section from `CHANGELOG.md` or its archive. Preview its output after step 3; a missing section fails the release workflow.\n- A release briefing is release material, not a follow-up docs change. It must\n  be created after the changelog is finalized and included in the tagged\n  release commit.\n- The briefing orders breaking behavior, default changes, removals, and\n  deprecations before additions. It never presents upstream news as shipped\n  agnostic-ai support.\n- Every required migration appears in the briefing's actions section. Smaller\n  fixes stay in the linked release notes; the briefing is a summary, not a\n  second changelog.\n- Tag format `vX.Y.Z` (lowercase `v`). GoReleaser matches this prefix.\n- Commit message follows Conventional Commits. Never mention AI in the message.\n","# cut-release\n\nCuts a new release of agnostic-ai. The release commit carries the version,\nexact changelog, and one public release briefing. GoReleaser publishes\nartifacts and the GitHub Release once the tag is pushed. Pages publishes the\nbriefing from the same commit on `main`.\n\n## Scope\n\nUse this workflow when the user asks to publish a new version. A request to prepare release material stops before pushing or tagging; preserve any narrower scope from the user. On later release authorization, inspect the prepared version, changelog, briefing, and working changes, then resume at the first incomplete step. Preserve recognized release edits; do not repeat the changelog rollover. Reuse checks only while their inputs remain unchanged.\n\n## Steps\n\n1. Confirm `main` and a clean working tree for a new release, then `git pull --ff-only`. For resumed preparation with uncommitted release edits, fetch and inspect remote changes without discarding that work; reconcile an advanced base before validation.\n2. Use the requested version, or select the next version from the changes since\n   the last tag (`git log --oneline \u003Clast-tag>..HEAD`). Check diffs and migration\n   notices as well as commit types; the changelog groups by scope, not kind:\n   - patch: bug fixes only\n   - minor: additive features\n   - major: breaking changes after v1.0; while on 0.x, use a minor release\n     with explicit breaking notes, as required by `spec-migration`\n3. Update `CHANGELOG.md`: drop empty `### ` and `#### ` headings from `## [Unreleased]`, then move the remaining lines into a new dated `## vX.Y.Z - YYYY-MM-DD` section (no brackets). The released section must never carry a heading with no entries. Reset `## [Unreleased]` to empty.\n\n   Curate the section first with the layout, entry rules, and length check in\n   `.agnostic-ai\u002Fagents\u002Fchangelog-curator.md`. Condensing keeps every `#NNN`.\n   A path, flag, or case it drops must already be on the docs page or in the\n   PR; if it is not, add it to the docs, not back to the bullet.\n\n   `CHANGELOG.md` keeps the current group of ten minor versions. When you\n   release v0.81.0, v0.91.0, and so on, move every dated section older than\n   v0.80.0, v0.90.0, and so on to the top of `docs\u002FCHANGELOG-archive.md`.\n   Update the \"Releases before\" line at the end of `CHANGELOG.md` and at the\n   top of the archive. `scripts\u002Frelease-notes.sh` and\n   `scripts\u002Fsignals-shipped.sh` read both files.\n\n   Then run `scripts\u002Fsignals-shipped.sh`. It sets `shipped-date` in\n   `scripts\u002Ftarget-audit\u002Fsignals.tsv` to the release date on every signal\n   whose issue the new section cites, and never moves a date already set.\n   Review the changed rows in `git diff -- scripts\u002Ftarget-audit\u002Fsignals.tsv`.\n   A line that only mentions the issue, without delivering support, does not\n   ship the signal, so clear only the date newly set for that row.\n4. Bump `version` in `cmd\u002Fagnostic-ai\u002Fmain.go`, `extra.version` in\n   `docs\u002Fsite\u002Fconfig.toml`, and both release values in the root\n   `agnostic-ai.yaml`: the minimum `requires: \">=X.Y.Z\"` and the `$schema`\n   URL's `vX.Y.Z` tag. Keep\n   them in the release commit. `make site-test` fails when these values\n   disagree with the latest dated changelog section.\n5. After finalizing the changelog, create exactly one\n   `docs\u002Fsite\u002Fcontent\u002Fupdates\u002FYYYY-MM-DD-vX.Y.Z.md` release briefing. Read and\n   follow [references\u002Frelease-briefing.md](references\u002Frelease-briefing.md):\n   a short title that names the user value, Highlights first, required\n   upgrade actions only, at most four \"What changed\" groups, one target line\n   per tool with the verification method stated once, and about 600 words.\n6. Validate the completed release tree before committing. Follow the generation\n   checks for project source specs in repository-root `docs\u002Finternal\u002Fcontributing.md`,\n   section \"Choose checks for your change\", then run `make ci-local` and\n   `make site-build site-test`. Check each command's own exit code, never\n   through a pipe, and refuse to proceed on any failure.\n\n   `preflight` covers formatting, lint (including govet), and Go tests. A\n   release also needs race tests, the WASM build, schema drift, spec lint, shell\n   tests, binary size, and editor checks. `ci-local` runs those checks with the\n   JetBrains condition below. Inspect skipped site tests; a successful exit\n   with missing required coverage does not satisfy the gate.\n\n   The JetBrains plugin runs only when `editors\u002Fjetbrains\u002F` changed since\n   `origin\u002Fmain`; `FORCE_JETBRAINS=1` runs it anyway. `SKIP_JETBRAINS=1`\n   exists for machines without Java or access to the Gradle distribution. If\n   you use it, say so in the release report: that job was not gated locally.\n\n   `ci-local` tests on this machine's OS alone. Step 8 checks the exact\n   release commit across all three OSes. The plugin version-bump job is\n   PR-only; if the plugin changed since the last release, confirm that its\n   PR check passed.\n7. Confirm the version file, site version, project config pins, dated\n   changelog section, briefing, archive changes, and any `signals.tsv` or\n   tracked generated output changes are all staged for the same commit. Review the staged diff for\n   unrelated edits and record the tested tree. If release inputs changed after\n   validation, rerun the affected checks before committing. Commit `chore(release): vX.Y.Z`, GPG-signed.\n8. Push `main`, then dispatch `gh workflow run ci.yml --ref main`\n   and wait for that run on the exact release commit. Confirm Linux,\n   macOS, the Windows smoke check, and every other job that ran passed.\n   The full Windows Go race suite is optional and manual only: add\n   `-f full_windows=true` when needed. Each of its shards stops after ten minutes.\n9. Record the release SHA and confirm the remote tag does not already exist.\n   Tag that exact green commit with `git tag -s vX.Y.Z \u003Crelease-SHA> -m \"vX.Y.Z\"`,\n   then push the tag with `git push origin vX.Y.Z`. Never infer the tagged commit\n   from a branch that may have advanced during CI.\n10. Watch the `Release` workflow for the tag and the `Pages` workflow for the\n    release commit on `main`, including package verification jobs. If a run\n    fails, inspect its logs and published state before retrying. Keep a published\n    tag fixed; stop and report any recovery that requires replacing a release.\n    If the automatic Pages run is absent, dispatch `playground.yml` on `main`,\n    then watch that run and record its SHA.\n11. Verify the published release: download the archive for this machine and\n    `checksums.txt` to a temporary directory, verify its checksum, and run the\n    extracted binary with `--version`. Confirm the version, release notes, and\n    published briefing match the release. Report the tag, commit, release URL,\n    briefing URL, check results, and any unresolved publication failure.\n\n## Conventions\n\n- `scripts\u002Frelease-notes.sh vX.Y.Z` selects that version's dated section from `CHANGELOG.md` or its archive. Preview its output after step 3; a missing section fails the release workflow.\n- A release briefing is release material, not a follow-up docs change. It must\n  be created after the changelog is finalized and included in the tagged\n  release commit.\n- The briefing orders breaking behavior, default changes, removals, and\n  deprecations before additions. It never presents upstream news as shipped\n  agnostic-ai support.\n- Every required migration appears in the briefing's actions section. Smaller\n  fixes stay in the linked release notes; the briefing is a summary, not a\n  second changelog.\n- Tag format `vX.Y.Z` (lowercase `v`). GoReleaser matches this prefix.\n- Commit message follows Conventional Commits. Never mention AI in the message.\n",{"name":5,"description":7},"main","6cbd42008f8c9b6999909e832a288e3910eabe2f",".agnostic-ai\u002Fskills\u002Fcut-release",6,"https:\u002F\u002Fgithub.com\u002FChemaclass\u002Fagnostic-ai","https:\u002F\u002Fagnostic-ai.org","https:\u002F\u002Fgithub.com\u002FChemaclass","https:\u002F\u002Fchemaclass.com","Software is the art of simplifying.","2026-11-14 00:33:42",{"source":8,"skillName":5,"commands":44,"prompt":54,"zipAvailable":55},[45,48,51],{"tool":46,"command":47},"npx","npx skills add Chemaclass\u002Fagnostic-ai --skill cut-release",{"tool":49,"command":50},"bunx","bunx skills add Chemaclass\u002Fagnostic-ai --skill cut-release",{"tool":52,"command":53},"pnpm","pnpm dlx skills add Chemaclass\u002Fagnostic-ai --skill cut-release","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FChemaclass\u002Fagnostic-ai\u002Fblob\u002Fmain\u002F.agnostic-ai\u002Fskills\u002Fcut-release\u002FSKILL.md",true,[57],{"path":58,"resourceType":59,"resourceTypeDesc":60,"sizeBytes":61,"sourceHtmlUrl":62},"references\u002Frelease-briefing.md","REFERENCE","参考文档",6497,"https:\u002F\u002Fgithub.com\u002FChemaclass\u002Fagnostic-ai\u002Fblob\u002Fmain\u002F.agnostic-ai\u002Fskills\u002Fcut-release\u002Freferences\u002Frelease-briefing.md",[64,72,83,101,110,116],{"skillNo":65,"name":66,"nameZh":6,"description":67,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":68,"categories":69,"keywords":70,"publishedAt":71},"01M768BJX9TZJ3JNN7G3WMX4MC","side-conversation","Start a side conversation in a new terminal tab, linked to this one. Use when asked to spin a task off, or to follow something up in its own conversation.","https:\u002F\u002Fgithub.com\u002FChemaclass\u002Fagnostic-ai\u002Fblob\u002Fmain\u002Finternal\u002Fbuiltins\u002Fdata\u002Fside-conversation\u002Fskills\u002Fside-conversation\u002FSKILL.md",[],[],"2026-11-12 13:55:43",{"skillNo":73,"name":20,"nameZh":6,"description":74,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":75,"categories":76,"keywords":77,"publishedAt":28},"01M71TXNTSSFJQPQS2YECQKSEF","Cut a release and verify it. Use only when asked to release.","https:\u002F\u002Fgithub.com\u002FChemaclass\u002Fagnostic-ai\u002Fblob\u002Fmain\u002Ftests\u002Fintegration\u002Ffixtures\u002Flanding\u002F.agnostic-ai\u002Fskills\u002Frelease\u002FSKILL.md",[],[20,78,21,79,80,25,81,82],"true","verify","only","when","it",{"skillNo":84,"name":85,"nameZh":6,"description":86,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":87,"categories":88,"keywords":94,"publishedAt":28},"01M71TXMMC0K8GDJ41WB6KKMD2","sample-skill","A sample skill for golden snapshot tests.","https:\u002F\u002Fgithub.com\u002FChemaclass\u002Fagnostic-ai\u002Fblob\u002Fmain\u002Ftests\u002Fintegration\u002Ffixtures\u002Fgolden\u002Fzed\u002F.agents\u002Fskills\u002Fsample-skill\u002FSKILL.md",[89],{"categoryNo":90,"categoryName":91,"taxonomyType":92,"taxonomyTypeDesc":93},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[95,96,97,98,99,100],"sample skill","sample","golden","tests","snapshot","for",{"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":28},"01M71TXJF8SXR0F3G4X7KS39S9","sample-command","A sample command for golden snapshot tests.","https:\u002F\u002Fgithub.com\u002FChemaclass\u002Fagnostic-ai\u002Fblob\u002Fmain\u002Ftests\u002Fintegration\u002Ffixtures\u002Fgolden\u002Fzed\u002F.agents\u002Fskills\u002Fsample-command\u002FSKILL.md",[],[108,109,96,97,98,78,99,100],"sample command","command",{"skillNo":111,"name":85,"nameZh":6,"description":86,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":112,"categories":113,"keywords":115,"publishedAt":28},"01M71TXG6T752XQA54KRFB932B","https:\u002F\u002Fgithub.com\u002FChemaclass\u002Fagnostic-ai\u002Fblob\u002Fmain\u002Ftests\u002Fintegration\u002Ffixtures\u002Fgolden\u002Fwindsurf\u002F.agents\u002Fskills\u002Fsample-skill\u002FSKILL.md",[114],{"categoryNo":90,"categoryName":91,"taxonomyType":92,"taxonomyTypeDesc":93},[96,95,97,98,99,100],{"skillNo":117,"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":118,"categories":119,"keywords":120,"publishedAt":28},"01M71TXESX9F95W35E22W7J538","https:\u002F\u002Fgithub.com\u002FChemaclass\u002Fagnostic-ai\u002Fblob\u002Fmain\u002Ftests\u002Fintegration\u002Ffixtures\u002Fgolden\u002Fwindsurf\u002F.agents\u002Fskills\u002Fsample-command\u002FSKILL.md",[],[109,96,108,121,97,98,99,100],"user"]