Every mobile release drags the same writing chores behind it: release notes from a pile of merged PRs, store metadata in a dozen locales, and a rollout-health story someone has to assemble from three dashboards. Automate the drafting with AI inside a fastlane-shaped pipeline, and keep humans on the two judgment calls: what to claim, and whether to expand the rollout.
Tier: Core · Workflow area: Mobile engineering & release
This playbook builds the copilot around your existing release train — generation is cheap; the discipline is in the source data, the translation gates, and the go/no-go evidence.
Skip the localization half if you genuinely ship one locale; keep the notes and health halves — they pay at any scale.
git log v4.11.0..HEAD --merges or the GitHub API). Garbage titles in, garbage notes out — a release-notes label convention fixes this cheaply.deliver/supply for metadata, so generated text drops into fastlane/metadata/<locale>/ files rather than a web form.Generate release notes from the real changelog, in two registers. Feed the merged-PR list between tags, tagged by label:
Here are merged PRs between v4.11.0 and v4.12.0 with labels.
Produce: 1) user-facing release notes - max 500 chars, benefits not
implementation, no ticket numbers, skip internal/infra PRs entirely;
2) internal notes for support and QA - every user-visible change,
known risks, and which flags gate what.
Do not mention anything not present in the input list.
The last line matters: models pad thin releases with invented polish ("bug fixes and performance improvements" is fine; "faster sync" when nothing touched sync is a support incident).
Draft store metadata as structured files, not prose in a chat. Have the assistant write directly into the fastlane layout — release_notes.txt per locale, and when the listing itself changes, description.txt/promotional_text.txt — respecting hard limits (Play: 500 chars for what's new; App Store: 4000-char description). Character limits go in the prompt and get validated by a script, not by trust.
Localize with translation discipline, not vibes. For each target locale:
Translate this release-notes text to de-DE, fr-FR, ja-JP, hi-IN.
Rules: keep product names and feature names untranslated per this
glossary; match the register of the existing store listing (pasted);
stay under 500 characters AFTER translation; flag any line that is
culturally awkward or unclear rather than translating it literally.
Then gate: machine-translated notes for minor releases can ship after a fluent-speaker skim; listing copy and top-revenue locales get real native review. Track which locales got which gate.
Assemble the rollout-health brief from numbers you paste, not numbers it remembers. At each stage gate (day 1 at 10%, day 3 at 25%...), collect crash-free users, ANR rate, top new crash clusters, key funnel metric, and store rating delta — then:
Compare v4.12.0 at 10% rollout vs v4.11.0 full rollout on the pasted
metrics. Output: verdict (expand / hold / halt) with reasoning,
the three most concerning signals, and what to check before the next
gate. Flag any metric where the comparison is statistically dubious
because of small cohort size.
The AI formats and flags; the release owner makes the call and records it. Wire the halt path to fastlane or the Play Developer API so "halt" is one command, not a scramble.
Template the whole thing into the release ritual. Put steps 1–4 in a runbook (or a fastlane lane calling a script) so the copilot runs identically for every release, and archive each release's notes, metadata diff and health briefs in one folder — that archive is your audit trail when a rollout question comes back a month later.
Constrain generation to real inputs — the PR list, the glossary, the pasted metrics — and route human attention to the two decisions that matter: what the release claims publicly, and whether the cohort numbers justify the next rollout stage.
fastlane/metadata/ for human review.git log, read labels, write locale files and run the char-limit validator in one loop.deliver/supply runs.PR titles and store copy are usually shareable; metrics dashboards may not be. If policy restricts external AI: run generation through your enterprise tenancy, or split the work — notes and translations via the approved cloud tool (public-facing text anyway), health briefs via a local model or a plain script that just formats the comparison table without narrative.
Store metadata is public the moment it ships, but pre-release notes reveal roadmap. Treat unshipped notes as confidential and keep them out of consumer-tier chat tools.