Agent Skills › maxrave-dev/SimpMusic › simpmusic-release-changelog

simpmusic-release-changelog

GitHub

用于 SimpMusic 版本发布前的变更日志整理与编写。通过同步 GitHub 项目状态、核对已合并的 PR 和修复项,生成符合规范的发布说明、应用商店描述及 GitHub Release 文本,确保发布内容准确完整。

.claude/skills/simpmusic-release-changelog/SKILL.md maxrave-dev/SimpMusic

Trigger Scenarios

准备应用新版本发布 编写或更新发布说明(Changelog) 核对已上线功能与 GitHub 项目板的状态差异

Install

npx skills add maxrave-dev/SimpMusic --skill simpmusic-release-changelog -g -y
More Options

Non-standard path

npx skills add https://github.com/maxrave-dev/SimpMusic/tree/dev/.claude/skills/simpmusic-release-changelog -g -y

Use without installing

npx skills use maxrave-dev/SimpMusic@simpmusic-release-changelog

指定 Agent (Claude Code)

npx skills add maxrave-dev/SimpMusic --skill simpmusic-release-changelog -a claude-code -g -y

安装 repo 全部 skill

npx skills add maxrave-dev/SimpMusic --all -g -y

预览 repo 内 skill

npx skills add maxrave-dev/SimpMusic --list

SKILL.md

Frontmatter
{
    "name": "simpmusic-release-changelog",
    "description": "Use when preparing a SimpMusic release, writing release notes or changelogs (changelogs\/<version>, fastlane changelogs, GitHub release text), or checking which shipped fixes and features are missing from the GitHub Project board before a release."
}

SimpMusic Release Changelog

A release changelog lists only work that has shipped, and every line links the issue or PR that tracks it. Reconcile the board first: the changelog's links point at what the board holds.

Files

What Where Notes
Full changelog changelogs/<version>/en-US.md, changelogs/<version>/vi-VN.md No length limit
Store text (F-Droid / Play) fastlane/metadata/android/<locale>/changelogs/<versionCode>.txt ≤ 500 characters, written by the owner. Never cut the owner's items to make room; anything that does not fit goes into changelogs/
GitHub release Release body New / Improved / Fixed, plus a link to the full changelog

Step 1: reconcile Project #2

  1. git fetch both repos and make sure neither branch is behind origin.

  2. Inventory everything since the last release tag:

    • app: git log <lastTag>..origin/dev --no-merges
    • core: git -C core log $(git ls-tree <lastTag> core | awk '{print $3}')..HEAD
    • merged PRs in maxrave-dev/SimpMusic and maxrave-dev/core
    • board: gh project item-list 2 --owner maxrave-dev --limit 500 --format json
  3. Report only done work the board is missing:

    • issues fixed by a shipped commit but still open
    • shipped changes that have no issue
    • merged PRs that are not on the board
    • board items whose shipped part is not reflected

    Leave new and untriaged issues out of this report.

  4. Before calling an issue fixed, read its timeline (commit refs, linked PRs, owner comments) and the code. A fix that names the issue only in a code comment leaves no timeline link, so match the stack trace against the commit.

  5. After the owner approves:

    • Fixed issue:

      1. gh issue comment N --body "Fixed in <version> (<sha>)"
      2. gh issue edit N --milestone v<version>
      3. gh project item-add to Project #2
      4. Set Status to Done

      Done closes the issue by itself. A gh issue close --comment run after that prints "already closed" and drops the comment, which is why the comment comes first.

    • Shipped changes with no issue: create ONE task per release, titled Polish for <version>: …. Give it the labels Improvement plus the topical ones, the milestone and Status Done, then close it. List each change with its commit.

Project IDs:

  • project: PVT_kwHOBsekuM4AoHIU
  • Status field: PVTSSF_lAHOBsekuM4AoHIUzgfvIvs
  • Done option: 98236657

Always pass --repo maxrave-dev/SimpMusic, because origin may point at a fork.

Step 2: write changelogs/<version>/

Each file has this shape:

# SimpMusic <version>

## New
- **<Feature>**: <what the user can do now>. ([#N](https://github.com/maxrave-dev/SimpMusic/issues/N))

## Improved
- **<Area>**: <what got better>. ([#N](https://github.com/maxrave-dev/SimpMusic/issues/N))

## Fixed
- <The symptom the user saw>. ([#N](https://github.com/maxrave-dev/SimpMusic/issues/N))

In vi-VN.md the headings are ## Mới, ## Cải thiện and ## Sửa lỗi.

  • Every line ends with at least one link.

    • issue: https://github.com/maxrave-dev/SimpMusic/issues/N
    • PR: https://github.com/maxrave-dev/SimpMusic/pull/N
    • core PR: [core#N](https://github.com/maxrave-dev/core/pull/N)
    • a change with no issue of its own: the release's Polish task
    • a new app language: [Crowdin](https://crowdin.com/project/simpmusic)

    Use full URLs. GitHub does not autolink #N inside repository files.

  • Order: follow the owner's fastlane <versionCode>.txt first, then add the remaining items grouped by area.

  • Wording: describe what changed for the user, not the code. Use one line per item and no hard wraps.

  • Language: vi-VN.md addresses the reader as "bạn". Reserve "anh" for talking to the owner.

  • Parity: both files carry the same items and the same links. Check with grep -c '^- ' and a sorted diff of the link targets.

Common mistakes

Mistake Fix
Listing new, untriaged issues in the "missing from the board" report List done work only
One task per small shipped change One Polish task per release
Changelog lines without a link Link the issue or PR, or the Polish task when there is none
gh issue close --comment after setting Done Comment first, then set Done
#N shorthand in the .md files Full URLs
"anh" in vi-VN.md "bạn"
Trimming the owner's fastlane items to fit new ones under 500 characters Leave the fastlane text as written; the full list is changelogs/

Version History

  • 244ffc9 Current 2026-09-27 12:46

Same Skill Collection

.claude/skills/android-accessibility/SKILL.md
.claude/skills/android-architecture/SKILL.md
.claude/skills/android-coroutines/SKILL.md
.claude/skills/android-data-layer/SKILL.md
.claude/skills/android-emulator-skill/SKILL.md
.claude/skills/android-gradle-logic/SKILL.md
.claude/skills/android-retrofit/SKILL.md
.claude/skills/android-testing/SKILL.md
.claude/skills/android-viewmodel/SKILL.md
.claude/skills/coil-compose/SKILL.md
.claude/skills/compose-navigation/SKILL.md
.claude/skills/compose-performance-audit/SKILL.md
.claude/skills/compose-ui/SKILL.md
.claude/skills/gradle-build-performance/SKILL.md
.claude/skills/jetpack-compose/SKILL.md
.claude/skills/kotlin-concurrency-expert/SKILL.md
.claude/skills/marketing-ideas/SKILL.md
.claude/skills/mobile-android-design/SKILL.md
.claude/skills/simpmusic-icons/SKILL.md
.claude/skills/xml-to-compose-migration/SKILL.md
.claude/skills/find-skills/SKILL.md
.claude/skills/kmp/SKILL.md
.claude/skills/ui-ux-pro-max/SKILL.md

Metadata

Files
0
Version
244ffc9
Hash
1b08c6df
Indexed
2026-09-27 12:46

홈 - 위키
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-09-28 19:18
浙ICP备14020137号-1