Release changelog
Qiankun releases are commit-driven: CI auto-derives changesets from Conventional Commits, changesets writes each sub-package's own CHANGELOG.md (so npm shows a per-package changelog), and on publish scripts/generate-release-notes.mjs aggregates those into one GitHub Release per version.
That aggregated Release is mechanical (raw per-package changelog lines). This skill polishes it into a human-readable, bilingual write-up — an English version on top, a Chinese version below — after the fact, directly on the GitHub Release, without touching any committed changelog. Read .changeset/README.md for the surrounding flow.
When to run
After a release has been published (the "Version Packages" PR was merged and CI created the GitHub Release). Typically: "polish the latest release notes".
Steps
Find the release to polish (default: the most recent one):
gh release list --limit 5 gh release view <tag> --json tagName,name,bodyConfirm the target tag with the user if it's not obviously the latest.
Read the mechanical notes from the release
body. This is the raw material — the aggregated per-package changelog. Do not invent anything not present in it (cross-check againstgit log <prev-tag>..<tag>only to understand, not to add unlisted changes).Polish the notes, keeping the per-package structure so consumers still see each sub-package and its version. Polishing means:
- Lead with a short Highlights list (2–5 bullets) when the release has notable user-facing changes; skip it for small patch releases.
- Rewrite terse lines into clear, user-facing wording; keep the
(#PR)reference at the end of each line. - De-duplicate: a change that touched many packages is often better stated once under the facade
qiankunsection than repeated under every package. - Drop noise (pure "Updated dependencies" internal bumps).
Produce a bilingual document — the full English version first, then the full 简体中文 version, separated by a
---rule. Keep the identical per-package structure and(#PR)references in both halves; translate the prose (highlights, descriptions), never the package names, versions, or PR numbers. Template:<!-- English --> ## Highlights - ... ## qiankun `<version>` - ... --- <!-- 简体中文 --> ## 更新亮点 - ... ## qiankun `<version>` - ...Show the user the proposed notes and get approval.
Update the release (does not re-tag or re-publish npm):
gh release edit <tag> --notes-file <polished.md>
Do not
- Do not run
gh release create, re-tag, or re-publish to npm — only edit the notes of an existing release. - Do not edit any
CHANGELOG.mdor.changeset/*— the per-package changelogs are the committed record; this skill only refines the GitHub Release prose. - Do not add changes that aren't in the mechanical notes / commit history.