# App Release Notes

> Set or update the App Store "What's New" (release notes) text for an app version across all its localized locales, using the `asc` CLI. Auto-resolves the editable version, translates the source notes into each active store language, applies per locale, and verifies by reading back — without touching the marketing Description. Use when updating What's New / release notes for an App Store version,…

- **Type:** Skill
- **Install:** `agentstack add skill-vicoa-ai-app-business-skills-app-release-notes`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [vicoa-ai](https://agentstack.voostack.com/s/vicoa-ai)
- **Installs:** 0
- **Category:** [Agent Skills](https://agentstack.voostack.com/c/agent-skills)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [vicoa-ai](https://github.com/vicoa-ai)
- **Source:** https://github.com/vicoa-ai/app-business-skills/tree/main/skills/app-release-notes

## Install

```sh
agentstack add skill-vicoa-ai-app-business-skills-app-release-notes
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# app-release-notes

Set the App Store **What's New** (release notes) field for a version, across
every active locale. Release notes render in each store's own language, so the
default flow **translates the source notes per locale** before applying. Only
the version's `whatsNew` is touched — the marketing Description, keywords, and
URLs are left untouched. Works for any App Store app you can reach with `asc`;
auth is whatever your `asc` CLI is configured with.

> **What's New ≠ Description.** "What's New" (`whatsNew`) is the short
> per-version changelog. The App Store **Description** is the long marketing
> copy — this skill never writes it. If the user's text reads like a changelog
> ("Fixed…", "Improved…", "Added…") they almost always mean What's New; confirm
> before writing anything else.

## Workflow (auto-translate — the default)

1. **List the active locales** and the version it will target:
   ```bash
   cd skills/app-release-notes/scripts
   python3 set_release_notes.py list --app  --emit-json
   ```
   This auto-resolves the single editable version (state in
   `PREPARE_FOR_SUBMISSION` etc.) and prints each locale's current What's New,
   plus a `{locale: text}` scaffold.

2. **Translate the source notes into every active locale.** You (the agent) do
   this — write natural release notes in each store's language (e.g. `es-ES` →
   Spanish, `zh-Hans` → Simplified Chinese, `ja` → Japanese). Keep the source
   text's bullet style. Save as a JSON map:
   ```json
   {
     "en-US":  "• Improve user experience and UI\n• Improve Chinese translation",
     "es-ES":  "• Mejoras en la experiencia de usuario y la interfaz\n• Mejor traducción al chino",
     "zh-Hans": "• 优化用户体验和界面\n• 改进中文翻译"
   }
   ```

3. **Preview, then apply** (the script verifies by reading every value back):
   ```bash
   python3 set_release_notes.py set --app  --notes-file notes.json --dry-run
   python3 set_release_notes.py set --app  --notes-file notes.json
   ```

That's it — the version stays in its editable state, ready to submit.

## Other modes

- **One locale only:** `set --app  --notes "…" --locale en-US`
- **Same text everywhere** (rarely right — reads oddly on non-English stores):
  `set --app  --notes "…" --all`
- **Explicit version** (skip auto-resolution, or when several are editable):
  add `--version ` to any command.
- **Multiple ASC credentials:** add `--profile ` (global, before the
  subcommand internally — the script handles ordering).

## Rules & gotchas

- **Version must be editable.** Only `PREPARE_FOR_SUBMISSION`,
  `DEVELOPER_REJECTED`, `REJECTED`, `METADATA_REJECTED`, `INVALID_BINARY` accept
  metadata edits. If none exist, create a new version first; if several do, the
  script asks you to pass `--version`.
- **Locale strings must match ASC exactly:** `zh-Hans` (not `zh-Hans-CN`),
  `de-DE` (not `de`), `ar-SA` (not `ar`). Unknown locales are rejected with the
  active list. Add a missing one with
  `asc localizations create --version  --locale `.
- **This is version localizations, not TestFlight.** Build/beta release notes
  are a different resource (`asc build-localizations`); this skill sets the
  public App Store "What's New in this version".
- **Verify is built in.** `set` re-reads each locale after writing and exits
  non-zero on any mismatch, so a green run means it actually stuck.

## Script reference

`scripts/set_release_notes.py`
- `list --app  [--version ] [--platform IOS] [--emit-json]`
- `set  --app  [--version ] [--platform IOS] (--notes-file  | --notes "…" --all | --notes "…" --locale ) [--dry-run]`

Prereqs: the [`asc` CLI](https://github.com/rorkai/App-Store-Connect-CLI) installed and
authenticated (`asc auth …`), and `python3` (stdlib only). The script shells out
to `asc`; it never handles credentials or translates text itself.

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [vicoa-ai](https://github.com/vicoa-ai)
- **Source:** [vicoa-ai/app-business-skills](https://github.com/vicoa-ai/app-business-skills)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-vicoa-ai-app-business-skills-app-release-notes
- Seller: https://agentstack.voostack.com/s/vicoa-ai
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
