[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CXFQ8B48HMZRJYQS0ZQRM7":3,"skill-same:01M6CXFQ8B48HMZRJYQS0ZQRM7":77},{"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":32,"linkOnly":33,"markdownContent":34,"markdownBody":35,"frontMatter":36,"refName":39,"commitSha":40,"skillDirectory":41,"forksCount":13,"repositoryHtmlUrl":42,"repositoryHomepageUrl":6,"ownerHtmlUrl":43,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":44,"install":45,"resources":58},"01M6CXFQ8B48HMZRJYQS0ZQRM7","release-notes",null,"Generate release notes from commit messages since the last beta tag. Use when preparing notes for an upcoming beta or production release.","t-animal\u002FOpen-Source-Body-Tracker","t-animal","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F1775745?v=4","01M6CXFJ473TVJJGA8PPC4WJ9Q","01M6CXFJ84058RCGD7E38YMTY3",0,"GPL-3.0","https:\u002F\u002Fgithub.com\u002Ft-animal\u002FOpen-Source-Body-Tracker\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Frelease-notes\u002FSKILL.md",[],[18,19,20,21,22,23,24,25,26,27,28,29,30,31],"notes","release notes","release","commit","generate","beta","messages","Production","Bash","commit messages","read","use","diff","base","2026-11-10 10:12:30",false,"---\nname: release-notes\ndescription: Generate release notes from commit messages since the last beta tag. Use when preparing notes for an upcoming beta or production release.\nallowed-tools: Bash, Read\nargument-hint: \"[optional: base tag for diff, e.g. v2026.04-01beta]\"\n---\n\nGenerate release notes for the upcoming release.\nFollow every step exactly — do not invent, assume, or embellish anything not present in the git output.\n\n## Step 1: Find the baseline tag\n\nIf `$ARGUMENTS` is non-empty, use it as the baseline tag. Otherwise run:\n\n```bash\ngit tag -l \"*beta\" --sort=-version:refname | head -1\n```\n\nRecord the result as LAST_BETA_TAG. If nothing is returned, use the first commit as the baseline:\n\n```bash\ngit rev-list --max-parents=0 HEAD\n```\n\nTell the user which baseline you are using before continuing.\n\n## Step 2: Collect all commits since that tag\n\nRun **exactly** this command, substituting LAST_BETA_TAG with the actual value:\n\n```bash\ngit log --pretty=format:\"COMMIT %H%nSUBJECT: %s%nBODY:%n%b%n\u003C\u003C\u003CEND>>>\" LAST_BETA_TAG..HEAD\n```\n\nRead every line of the output. Do not skip any commit. If the output is empty, tell the user there are no commits since the baseline and stop.\n\n## Step 3: Filter out non-user-facing commits\n\nExclude any commit whose subject line matches any of these patterns:\n- Starts with `Release ` — version bump commits\n- Contains only tooling\u002FCI changes with no user impact (e.g. changes only to `.github\u002F`, `scripts\u002F`, `gradle\u002F`, `*.yml` files) — only exclude these if the subject line itself makes the scope clear\n\nWhen in doubt, **keep the commit** and let Step 4 decide.\n\n## Step 4: Derive user-facing change descriptions\n\nFor each remaining commit, derive one change description:\n- Base it on the **subject line** and any **body text** from the commit.\n- Write it in plain language an end user would understand (not developer jargon).\n- If the commit is purely internal refactoring with no visible user effect and that is clear from the message, **omit it** — do not guess at impact.\n- **Never add detail that is not stated in the commit message.** If something is unclear, describe it at the level of abstraction the commit message uses, no more.\n\n## Step 5: Write the release notes\n\nRead the template from @template.md. Fill it in:\n\n- **Intro line**: one to three honest sentences summarizing the theme of the changes and how the user is affected or how the app was improved **for them**.\n  Use the actual changes to derive the theme. Do not use marketing language.\n  If there is no clear unifying theme, write: \"This release includes several improvements and fixes.\"\n\n- **Change list**: one entry per user-facing change derived in Step 4, in the same order as the git log (newest first).\n\nOutput the completed release notes in a code block so they can be copied directly.\n","Generate release notes for the upcoming release.\nFollow every step exactly — do not invent, assume, or embellish anything not present in the git output.\n\n## Step 1: Find the baseline tag\n\nIf `$ARGUMENTS` is non-empty, use it as the baseline tag. Otherwise run:\n\n```bash\ngit tag -l \"*beta\" --sort=-version:refname | head -1\n```\n\nRecord the result as LAST_BETA_TAG. If nothing is returned, use the first commit as the baseline:\n\n```bash\ngit rev-list --max-parents=0 HEAD\n```\n\nTell the user which baseline you are using before continuing.\n\n## Step 2: Collect all commits since that tag\n\nRun **exactly** this command, substituting LAST_BETA_TAG with the actual value:\n\n```bash\ngit log --pretty=format:\"COMMIT %H%nSUBJECT: %s%nBODY:%n%b%n\u003C\u003C\u003CEND>>>\" LAST_BETA_TAG..HEAD\n```\n\nRead every line of the output. Do not skip any commit. If the output is empty, tell the user there are no commits since the baseline and stop.\n\n## Step 3: Filter out non-user-facing commits\n\nExclude any commit whose subject line matches any of these patterns:\n- Starts with `Release ` — version bump commits\n- Contains only tooling\u002FCI changes with no user impact (e.g. changes only to `.github\u002F`, `scripts\u002F`, `gradle\u002F`, `*.yml` files) — only exclude these if the subject line itself makes the scope clear\n\nWhen in doubt, **keep the commit** and let Step 4 decide.\n\n## Step 4: Derive user-facing change descriptions\n\nFor each remaining commit, derive one change description:\n- Base it on the **subject line** and any **body text** from the commit.\n- Write it in plain language an end user would understand (not developer jargon).\n- If the commit is purely internal refactoring with no visible user effect and that is clear from the message, **omit it** — do not guess at impact.\n- **Never add detail that is not stated in the commit message.** If something is unclear, describe it at the level of abstraction the commit message uses, no more.\n\n## Step 5: Write the release notes\n\nRead the template from @template.md. Fill it in:\n\n- **Intro line**: one to three honest sentences summarizing the theme of the changes and how the user is affected or how the app was improved **for them**.\n  Use the actual changes to derive the theme. Do not use marketing language.\n  If there is no clear unifying theme, write: \"This release includes several improvements and fixes.\"\n\n- **Change list**: one entry per user-facing change derived in Step 4, in the same order as the git log (newest first).\n\nOutput the completed release notes in a code block so they can be copied directly.\n",{"name":5,"description":7,"allowed-tools":37,"argument-hint":38},"Bash, Read","[optional: base tag for diff, e.g. v2026.04-01beta]","main","2c91ea7c1d550c295d1c05dd471a4ace0caa9c34",".claude\u002Fskills\u002Frelease-notes","https:\u002F\u002Fgithub.com\u002Ft-animal\u002FOpen-Source-Body-Tracker","https:\u002F\u002Fgithub.com\u002Ft-animal","2026-04-30 21:36:49",{"source":8,"skillName":5,"commands":46,"prompt":56,"zipAvailable":57},[47,50,53],{"tool":48,"command":49},"npx","npx skills add t-animal\u002FOpen-Source-Body-Tracker --skill release-notes",{"tool":51,"command":52},"bunx","bunx skills add t-animal\u002FOpen-Source-Body-Tracker --skill release-notes",{"tool":54,"command":55},"pnpm","pnpm dlx skills add t-animal\u002FOpen-Source-Body-Tracker --skill release-notes","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Ft-animal\u002FOpen-Source-Body-Tracker\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Frelease-notes\u002FSKILL.md",true,[59,65,69,73],{"path":60,"resourceType":61,"resourceTypeDesc":62,"sizeBytes":63,"sourceHtmlUrl":64},"references\u002Fcodex-tools.md","REFERENCE","参考文档",4070,"https:\u002F\u002Fgithub.com\u002Fendman100\u002Fskill-router-nexus\u002Fblob\u002Fmain\u002FSkill-Util\u002Fusing-superpowers\u002Freferences\u002Fcodex-tools.md",{"path":66,"resourceType":61,"resourceTypeDesc":62,"sizeBytes":67,"sourceHtmlUrl":68},"references\u002Fcopilot-tools.md",2193,"https:\u002F\u002Fgithub.com\u002Fendman100\u002Fskill-router-nexus\u002Fblob\u002Fmain\u002FSkill-Util\u002Fusing-superpowers\u002Freferences\u002Fcopilot-tools.md",{"path":70,"resourceType":61,"resourceTypeDesc":62,"sizeBytes":71,"sourceHtmlUrl":72},"references\u002Fgemini-tools.md",1494,"https:\u002F\u002Fgithub.com\u002Fendman100\u002Fskill-router-nexus\u002Fblob\u002Fmain\u002FSkill-Util\u002Fusing-superpowers\u002Freferences\u002Fgemini-tools.md",{"path":74,"resourceType":61,"resourceTypeDesc":62,"sizeBytes":75,"sourceHtmlUrl":76},"template.md",289,"https:\u002F\u002Fgithub.com\u002Ft-animal\u002FOpen-Source-Body-Tracker\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Frelease-notes\u002Ftemplate.md",[78,91],{"skillNo":79,"name":80,"nameZh":6,"description":81,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":82,"categories":83,"keywords":84,"publishedAt":32},"01M6CXFNCM9135J9PD03GJNYDY","feature-to-requirements","Runs the full feature pipeline - discovers the feature concept with the user, saves it to a file, then runs requirements elicitation based on that concept.","https:\u002F\u002Fgithub.com\u002Ft-animal\u002FOpen-Source-Body-Tracker\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Ffeature-to-requirements\u002FSKILL.md",[],[85,86,87,88,89,90],"requirements","feature to requirements","file","pipeline","user","full",{"skillNo":92,"name":21,"nameZh":6,"description":93,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":94,"categories":95,"keywords":96,"publishedAt":32},"01M6CXFKS6MCKMQDQ2DKYVG03K","Commit changes with a concise and meaningful message","https:\u002F\u002Fgithub.com\u002Ft-animal\u002FOpen-Source-Body-Tracker\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fcommit\u002FSKILL.md",[],[21,97,98],"commit changes","message"]