app-store-metadatalisted
Install: claude install-skill josephbedminster/indie-marketing-skills
# App Store metadata
The listing text is code: one JSON file per App Store locale, committed, reviewed,
checked by a script, pushed by a script. Editing it by hand in App Store Connect
across 10+ languages drifts within a week and nobody can say what is live.
## Step 0: read the project config
Read `.claude/app-store-config.md` in the user's project. It holds the app id,
locales, where the JSON lives, how to run the push, the house copy rules, and
anything that overrides this skill. **The project config wins over this file.**
Missing? Ask the questions of `references/config-template.md` in one message
(propose defaults from what you see in the repo), write the file from that
template, then continue. If `.claude/posthog-funnel-map.md` exists, read its
**Business profile** (price, trial or not: never promise "free" if the app is
paid) and **Project conventions** (language, style bans like the em dash).
## Files: the source of truth
One file per locale in the metadata folder (default `./appstore-metadata/`):
```json
{
"locale": "en-US",
"name": "Acme: Habit Tracker & Goals",
"subtitle": "Daily Routine, Streaks, Focus",
"keywords": "planner,reminder,journal,mood,water,sleep,workout,todo,discipline,motivation,self care,calendar",
"description": "Build one habit at a time…",
"promotionalText": "…",
"whatsNew": "…",
"marketingUrl": "https://example.com/en/",
"supportUrl": "https://example.com/support",
"privacyPolicyUrl": "https://example.com/en/privacy"
}