[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6BYCTJM3ER0Q3K42SHGN0DB":3,"skill-same:01M6BYCTJM3ER0Q3K42SHGN0DB":60},{"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":33,"linkOnly":34,"markdownContent":35,"markdownBody":36,"frontMatter":37,"refName":39,"commitSha":40,"skillDirectory":41,"forksCount":42,"repositoryHtmlUrl":43,"repositoryHomepageUrl":44,"ownerHtmlUrl":45,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":46,"install":47,"resources":59},"01M6BYCTJM3ER0Q3K42SHGN0DB","release-notes",null,"Draft the next CHANGELOG.md section for a Cyberismo CLI release by reading merged PRs since the previous tag. Use when cutting a release of @cyberismo\u002Fcli.","CyberismoCom\u002Fcyberismo","CyberismoCom","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F132778434?v=4","01M6BYCMX6W9AYRNMB3XVR2AKQ","Cyberismo","01M6BYCN1HVJGT6EHFF6HT7BBZ",13,"AGPL-3.0","https:\u002F\u002Fgithub.com\u002FCyberismoCom\u002Fcyberismo\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Frelease-notes\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32],"notes","release notes","release","cli","changelog","use","next","draft","reading","true","for","prs","section","when","2026-11-10 10:12:30",false,"---\nname: release-notes\ndescription: Draft the next CHANGELOG.md section for a Cyberismo CLI release by reading merged PRs since the previous tag. Use when cutting a release of @cyberismo\u002Fcli.\ndisable-model-invocation: true\n---\n\n# Draft release notes\n\nRun this skill to produce the new `## [VERSION]` section for `CHANGELOG.md` ahead\nof the version-bump PR. Reads only — never commits, never bumps `package.json`,\nnever touches the live GitHub Release.\n\n## 1. Inputs\n\nThe version comes from `tools\u002Fcli\u002Fpackage.json` — read it directly. The\ncanonical entry point is `node scripts\u002Frelease.mjs \u003Cbump-type>`, which bumps\nthe working-tree `package.json` files first, then prompts the maintainer to\nrun this skill, so by the time you're invoked the file already holds the\nintended new version.\n\nIf the user passes an explicit version as an argument and it differs from the\nvalue in `tools\u002Fcli\u002Fpackage.json`, stop and surface the mismatch — don't guess\nwhich is right.\n\n## 2. Determine the previous tag\n\n```bash\ngit fetch --tags --force\ngit describe --tags --match 'cyberismo-*' --abbrev=0\n```\n\nIf no tag exists yet, use the first commit on `main` as the range start.\n\n## 3. List merged PRs since the previous tag\n\nPrefer the GitHub API view (gives labels, author, body) over `git log`:\n\n```bash\nPREV_DATE=$(git log -1 --format=%cI \u003Cprev-tag>)\ngh pr list --base main --state merged --limit 200 \\\n  --search \"merged:>=${PREV_DATE}\" \\\n  --json number,title,labels,author,url\n```\n\nFor PRs whose title alone is opaque, fetch the body on demand:\n\n```bash\ngh pr view \u003Cnum> --json title,body,labels,files\n```\n\nDon't fetch every PR — only the ones where the title doesn't make the user-facing\nintent clear.\n\n## 4. Categorise\n\nSix buckets, in this order:\n\n- **Highlights** — one or two sentences a user scanning the release tab will read.\n  Lead with the most user-visible change. This is the part that matters; spend\n  effort here.\n- **Breaking changes** — anything that requires the user to change code, config,\n  or invocation. Each entry must include a migration hint.\n- **Features** — new user-visible capabilities.\n- **Fixes** — bug fixes the user would notice.\n- **Dependencies** — Dependabot and other dependency bumps. Collapse to a single\n  summary line if there are more than 5 (e.g. `- 12 dependency updates`).\n- **Internal** — refactors, tests, CI, build, docs that don't affect users.\n\nRouting rules:\n\n- **Dependabot:** author login `dependabot` (or `dependabot[bot]`) or PR title\n  starting with `bump ` \u002F `Bump ` → **Dependencies**.\n- **CI \u002F build \u002F docker \u002F workflow \u002F dockerfile** in the title or `ci` \u002F\n  `build` label → **Internal** unless the change is user-visible (e.g. a\n  published image getting a new arch).\n- Strip the `INTDEV-\\d+\\s*` prefix from PR titles when rendering — internal\n  ticket IDs don't belong in user-facing notes.\n\nWhen unsure between Features and Internal, peek at the PR body and the files\nchanged (`gh pr view --json files`). If only `tools\u002F\u003Cpkg>\u002Ftest\u002F`, `.github\u002F`,\nor pure refactor paths are touched, it's Internal.\n\n## 5. Write the new section\n\nPrepend the new section to `CHANGELOG.md` (create the file if it doesn't exist).\nUse this exact shape:\n\n```markdown\n## [VERSION] — YYYY-MM-DD\n\n### Highlights\n\n\u003Cone or two sentences — replace before merging>\n\n\u003C!-- REVIEW: edit Highlights and skim every section before merging -->\n\n### Breaking changes\n\n- ...\n\n### Features\n\n- ...\n\n### Fixes\n\n- ...\n\n### Dependencies\n\n- ...\n\n### Internal\n\n- ...\n```\n\nNotes on shape:\n\n- Skip empty sections rather than emitting `_None_`.\n- The `\u003C!-- REVIEW: -->` marker is required. The release workflow refuses to\n  publish while it's still in the file, so a forgotten edit can't ship.\n- Use today's date in `YYYY-MM-DD`. Don't guess the future release date.\n- Each entry should be one line, user-facing language, with a `(#NNN)` PR\n  reference. No commit hashes.\n\n## 6. Sanity-check and stop\n\nAfter writing, print a short summary:\n\n- Number of PRs found per bucket.\n- Anything ambiguous the human should re-classify.\n- Any merged PR since the previous tag that didn't make it into the draft (an\n  explicit count of PRs you fetched vs. PRs you placed). This catches the case\n  where the search query missed something.\n\nDo **not**:\n\n- Commit anything (`git commit`, `git push`, `git tag`).\n- Bump `tools\u002Fcli\u002Fpackage.json` — semver is the human's call.\n- Run any mutating `gh` command (`gh release create`, `gh release edit`,\n  `gh pr edit`, `gh pr comment`).\n- Open a PR.\n","# Draft release notes\n\nRun this skill to produce the new `## [VERSION]` section for `CHANGELOG.md` ahead\nof the version-bump PR. Reads only — never commits, never bumps `package.json`,\nnever touches the live GitHub Release.\n\n## 1. Inputs\n\nThe version comes from `tools\u002Fcli\u002Fpackage.json` — read it directly. The\ncanonical entry point is `node scripts\u002Frelease.mjs \u003Cbump-type>`, which bumps\nthe working-tree `package.json` files first, then prompts the maintainer to\nrun this skill, so by the time you're invoked the file already holds the\nintended new version.\n\nIf the user passes an explicit version as an argument and it differs from the\nvalue in `tools\u002Fcli\u002Fpackage.json`, stop and surface the mismatch — don't guess\nwhich is right.\n\n## 2. Determine the previous tag\n\n```bash\ngit fetch --tags --force\ngit describe --tags --match 'cyberismo-*' --abbrev=0\n```\n\nIf no tag exists yet, use the first commit on `main` as the range start.\n\n## 3. List merged PRs since the previous tag\n\nPrefer the GitHub API view (gives labels, author, body) over `git log`:\n\n```bash\nPREV_DATE=$(git log -1 --format=%cI \u003Cprev-tag>)\ngh pr list --base main --state merged --limit 200 \\\n  --search \"merged:>=${PREV_DATE}\" \\\n  --json number,title,labels,author,url\n```\n\nFor PRs whose title alone is opaque, fetch the body on demand:\n\n```bash\ngh pr view \u003Cnum> --json title,body,labels,files\n```\n\nDon't fetch every PR — only the ones where the title doesn't make the user-facing\nintent clear.\n\n## 4. Categorise\n\nSix buckets, in this order:\n\n- **Highlights** — one or two sentences a user scanning the release tab will read.\n  Lead with the most user-visible change. This is the part that matters; spend\n  effort here.\n- **Breaking changes** — anything that requires the user to change code, config,\n  or invocation. Each entry must include a migration hint.\n- **Features** — new user-visible capabilities.\n- **Fixes** — bug fixes the user would notice.\n- **Dependencies** — Dependabot and other dependency bumps. Collapse to a single\n  summary line if there are more than 5 (e.g. `- 12 dependency updates`).\n- **Internal** — refactors, tests, CI, build, docs that don't affect users.\n\nRouting rules:\n\n- **Dependabot:** author login `dependabot` (or `dependabot[bot]`) or PR title\n  starting with `bump ` \u002F `Bump ` → **Dependencies**.\n- **CI \u002F build \u002F docker \u002F workflow \u002F dockerfile** in the title or `ci` \u002F\n  `build` label → **Internal** unless the change is user-visible (e.g. a\n  published image getting a new arch).\n- Strip the `INTDEV-\\d+\\s*` prefix from PR titles when rendering — internal\n  ticket IDs don't belong in user-facing notes.\n\nWhen unsure between Features and Internal, peek at the PR body and the files\nchanged (`gh pr view --json files`). If only `tools\u002F\u003Cpkg>\u002Ftest\u002F`, `.github\u002F`,\nor pure refactor paths are touched, it's Internal.\n\n## 5. Write the new section\n\nPrepend the new section to `CHANGELOG.md` (create the file if it doesn't exist).\nUse this exact shape:\n\n```markdown\n## [VERSION] — YYYY-MM-DD\n\n### Highlights\n\n\u003Cone or two sentences — replace before merging>\n\n\u003C!-- REVIEW: edit Highlights and skim every section before merging -->\n\n### Breaking changes\n\n- ...\n\n### Features\n\n- ...\n\n### Fixes\n\n- ...\n\n### Dependencies\n\n- ...\n\n### Internal\n\n- ...\n```\n\nNotes on shape:\n\n- Skip empty sections rather than emitting `_None_`.\n- The `\u003C!-- REVIEW: -->` marker is required. The release workflow refuses to\n  publish while it's still in the file, so a forgotten edit can't ship.\n- Use today's date in `YYYY-MM-DD`. Don't guess the future release date.\n- Each entry should be one line, user-facing language, with a `(#NNN)` PR\n  reference. No commit hashes.\n\n## 6. Sanity-check and stop\n\nAfter writing, print a short summary:\n\n- Number of PRs found per bucket.\n- Anything ambiguous the human should re-classify.\n- Any merged PR since the previous tag that didn't make it into the draft (an\n  explicit count of PRs you fetched vs. PRs you placed). This catches the case\n  where the search query missed something.\n\nDo **not**:\n\n- Commit anything (`git commit`, `git push`, `git tag`).\n- Bump `tools\u002Fcli\u002Fpackage.json` — semver is the human's call.\n- Run any mutating `gh` command (`gh release create`, `gh release edit`,\n  `gh pr edit`, `gh pr comment`).\n- Open a PR.\n",{"name":5,"description":7,"disable-model-invocation":38},true,"main","5d604cb37505475e9a674f4e7c1e2a08be468271",".claude\u002Fskills\u002Frelease-notes",1,"https:\u002F\u002Fgithub.com\u002FCyberismoCom\u002Fcyberismo","https:\u002F\u002Fcyberismo.com\u002Fsolution\u002F","https:\u002F\u002Fgithub.com\u002FCyberismoCom","2026-11-11 21:18:11",{"source":8,"skillName":5,"commands":48,"prompt":58,"zipAvailable":38},[49,52,55],{"tool":50,"command":51},"npx","npx skills add CyberismoCom\u002Fcyberismo --skill release-notes",{"tool":53,"command":54},"bunx","bunx skills add CyberismoCom\u002Fcyberismo --skill release-notes",{"tool":56,"command":57},"pnpm","pnpm dlx skills add CyberismoCom\u002Fcyberismo --skill release-notes","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FCyberismoCom\u002Fcyberismo\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Frelease-notes\u002FSKILL.md",[],[61,67,90],{"skillNo":62,"name":63,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":64,"categories":65,"keywords":66,"publishedAt":33},"01M6BYCZ3JSG6XNEZMMAJXQP1P","defaultSkill","https:\u002F\u002Fgithub.com\u002FCyberismoCom\u002Fcyberismo\u002Fblob\u002Fmain\u002Ftools\u002Fassets\u002Fsrc\u002Fstatic\u002FdefaultSkill\u002Fskill.md",[],[63],{"skillNo":68,"name":69,"nameZh":6,"description":70,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":71,"categories":72,"keywords":78,"publishedAt":33},"01M6BYCWRWK48WW2TB77V37CF3","dynamic-skill-discovery","Discover and apply Cyberismo project skills via the MCP server. Use before acting on any task in a Cyberismo project.","https:\u002F\u002Fgithub.com\u002FCyberismoCom\u002Fcyberismo\u002Fblob\u002Fmain\u002Ftools\u002Fassets\u002Fsrc\u002Fstatic\u002FagentSkills\u002Fdynamic-skill-discovery\u002FSKILL.md",[73],{"categoryNo":74,"categoryName":75,"taxonomyType":76,"taxonomyTypeDesc":77},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[79,80,81,82,83,84,85,86,24,87,88,89],"skill discovery","dynamic skill discovery","discovery","apply","via","discover","project","task","server","mcp server","MCP",{"skillNo":91,"name":92,"nameZh":6,"description":93,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":94,"categories":95,"keywords":99,"publishedAt":33},"01M6BYCQZNS31K0F2PK2H7F3D1","fix-e2e","Fix failing Cypress e2e tests. Use when e2e tests are failing and need to be fixed.","https:\u002F\u002Fgithub.com\u002FCyberismoCom\u002Fcyberismo\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Ffix-e2e\u002FSKILL.md",[96],{"categoryNo":97,"categoryName":98,"taxonomyType":76,"taxonomyTypeDesc":77},"01JBSEEDCAT000000000000008","测试与质量",[100,101,102,103,104,24,105,32,28,106],"e2e","fix e2e","fix","e2e tests","tests","failing","cypress"]