storebound/skills/whats-new/SKILL.md
CRT 25bc761a53 Skills: release management, preflight, rejections, originality, compliance, ASO, release notes
- New: review-rejections, portfolio-originality, release-management, store-preflight,
  privacy-manifest, export-compliance, aso-basics, whats-new
- Updated: explicit build numbers, first availability UI fallback, phased + manual release by
  default, IAP versions in review submissions (API 4.4.1, reported, verify), IAP description 45,
  privacy manifest cross-links, tool-neutral CLI instructions
- docs/agents-core.md: shared rules for every agent
2026-10-10 21:03:10 +08:00

33 lines
2.4 KiB
Markdown

---
name: whats-new
description: Write player-facing release notes ("What's new") for a mobile game update from the git log since the last tag - hook in the first line, plain player language, localized into every listing language, within store limits (Google Play 500, App Store 4000 characters). Use when preparing an update, when the user asks for release notes / changelog for the stores, or before play release / apple listing for a new version.
---
# What's new (release notes)
CLI: `storebound whats-new [--since v1.2.0] [--dry]`. It reads `git log <tag>..HEAD`, drops housekeeping commits
(chore, ci, docs, refactor, test, merges, version bumps), turns `feat:` / `fix:` / `perf:` subjects into bullets and
writes a draft into the default language of `store/listing.md` (Play "What's new") and `store/appstore.md`
(`whatsNew`). Nothing is sent to a store. `--all` writes the draft into every language as a starting point for
translation; `storebound check` warns while a translation is still identical to the source.
## Write it for players
1. Run `storebound whats-new --dry`, read the draft with the owner.
2. Rewrite:
- **First line = hook** (the stores show roughly the first 170 characters before "more"): the most exciting
change in player words ("New: 20 desert levels and a daily challenge!").
- Then 2-5 bullets, most visible first. Player words, not code words: "Levels load faster" not "refactor asset
loader"; never internal ids, branch names or ticket numbers.
- Fixes in one line unless a fix was a known player complaint.
- No promises of future features, no prices, no other platforms.
3. Translate into **every listing language** (natural tone, the game's own terms, same meaning; not word by word).
Arabic stays RTL; keep numbers and product names as they are.
4. Limits: Google Play **500** characters per language, App Store **4000**; `storebound check` enforces both. A first
App Store version has no "What's new" (storebound leaves it empty there).
5. Push: `storebound play release ...` uses the Play notes; `storebound apple listing --version x --build N` the
App Store ones.
## Gotchas
- Squash-merged repos: the PR titles are the subjects; keep them in conventional form (`feat: ...`) to get clean drafts.
- Commits marked `[skip notes]` or `[internal]` are left out.
- Release notes are public: nothing about cheats, exploits, unreleased content or private names.