
Asc Whats New Writer
Turn git commits, bullets, or free text into localized App Store What's New copy using canonical metadata under ./metadata.
Overview
asc-whats-new-writer is an agent skill for the Launch phase that generates localized App Store What's New release notes from git log, bullets, or free text using ./metadata.
Install
npx skills add https://github.com/rudrankriyam/app-store-connect-cli-skills --skill asc-whats-new-writerWhat is this skill?
- Three input modes: git log since last tag, user bullet list, or free-text notes with noise filtering
- Reads highest semver under metadata/version/ and enumerates locale JSON for localization
- Pre-read release_notes_guidelines.md for Apple-appropriate tone and structure
- Primary locale en-US unless overridden; optional promotional text updates alongside What's New
- Requires asc metadata pull or manual keywords plus asc auth for upload paths
- 3 auto-detected input modes: git log, bullet points, free text
- Default primary locale en-US
Adoption & trust: 1.2k installs on skills.sh; 845 GitHub stars; 3/3 security scanners passed (skills.sh audits).
What problem does it solve?
You shipped features but dread rewriting store release notes and syncing every locale from scratch.
Who is it for?
Solo mobile devs on a semver cadence who already use asc metadata pull and want commit-driven release notes.
Skip if: Android Play Console listings, web-only changelogs, or teams without asc auth or pulled metadata.
When should I use this skill?
Drafting or updating What's New for an asc-managed version with local metadata and auth configured.
What do I get? / Deliverables
You get guideline-aligned, locale-aware What's New drafts ready to paste or upload via asc, optionally paired with promotional text.
- Per-locale What's New strings aligned to release_notes_guidelines.md
- Optional promotional text variants for the same version
Recommended Skills
Journey fit
How it compares
Skill-driven asc workflow for store copy, not a separate SaaS release-notes product or MCP server.
Common Questions / FAQ
Who is asc-whats-new-writer for?
Indie and small-team Apple platform developers who manage App Store metadata locally with the asc CLI and need fast, localized What's New drafts.
When should I use asc-whats-new-writer?
At Launch/ASO when a version is ready to ship—after metadata pull and auth—especially right before submission or phased release.
Is asc-whats-new-writer safe to install?
Check this page's Security Audits panel before installing; the skill assumes git access, asc credentials, and optional upload permissions you configure.
SKILL.md
READMESKILL.md - Asc Whats New Writer
# asc What's New Writer Generate engaging, localized release notes from flexible input. Optionally pair with promotional text updates. ## Preconditions - Metadata pulled locally into canonical files via `asc metadata pull --app "APP_ID" --version "1.2.3" --dir "./metadata"`. OR: user provides keywords manually. - Auth configured for upload (`asc auth login` or `ASC_*` env vars). - The **primary locale** is `en-US` unless the user specifies otherwise. ## Before You Start 1. Read `references/release_notes_guidelines.md` for tone, structure, and examples. 2. Identify the **latest version directory** under `metadata/version/` (highest semver). Use this for all metadata reads. 3. Enumerate **existing locales** by listing the JSON files in that version directory. ## Phase 1: Gather Input Accept one of three input modes (auto-detect): ### Git Log Parse commits since the last tag: ```bash # Find latest tag git describe --tags --abbrev=0 # List commits since that tag git log $(git describe --tags --abbrev=0)..HEAD --oneline --no-merges ``` Filter out noise: merge commits, dependency bumps, CI changes, formatting-only commits. Extract user-facing changes. ### Bullet Points User provides rough bullets like: - "improved search" - "fixed crash on launch" - "added sleep timer" ### Free Text User describes changes conversationally: > "We made search faster, fixed that annoying crash when you open the app, and added a sleep timer feature" The skill extracts and structures the changes from the text. ### No Input Provided Prompt the user: "What changed in this release? You can paste git log output, bullet points, or just describe the changes." ## Phase 2: Draft Notes (Primary Locale) ### Step 1: Classify Changes Group changes into sections per the guidelines: - **New** — new features or capabilities - **Improved** — enhancements to existing features - **Fixed** — bug fixes users would notice Omit empty sections. If all changes are fixes, only show "Fixed." ### Step 2: Write Benefit-Focused Copy Follow the tone rules from `references/release_notes_guidelines.md`: - Describe user impact, not implementation details - Use direct address ("you") and action verbs - Be specific — mention concrete improvements ### Step 3: Front-Load the Hook The first ~170 characters are the only visible part before "more." Lead with the single most impactful change in a complete, compelling sentence. ### Step 4: Echo Keywords for Conversion 1. Read `keywords` from `metadata/version/{latest}/{primary-locale}.json` - These canonical files are also what `asc metadata keywords ...` reads and writes. 2. If the field is empty or missing, skip this step 3. Identify keywords relevant to the changes being described 4. Weave them naturally into the notes — never force or stuff ### Step 5: Respect Character Limits - Keep total length between 500-1500 characters in the primary locale - This leaves room for localized expansions (some languages expand 30-40%) - Hard limit: 4,000 characters ### Step 6: Optionally Draft Promotional Text If the user wants it, draft a 170-char promotional text that: - Summarizes the update's theme in one punchy line - Can reference seasonal events - Is updatable without a new submission ### Present Draft Show the draft to the user with character count. Wait for approval before localizing. ## Phase 3: Localize Translate the approved notes to all existing locales. ### Translation Rules - Use formal register and formal "you" forms (Russian: вы, German: Sie, French: vous, Spanish: usted, Dutch: u, Italian: Lei) - Adapt tone to local market — playful English may need adjustment for formal markets (ja, de-DE) - Do NOT literally translate idioms — adapt them to local equiv