← ClaudeAtlas

app-store-metadatalisted

Write, translate, check and publish the text of an iOS App Store listing (app name, subtitle, keywords field, description, promotional text, release notes / whatsNew, marketing, support and privacy URLs) for every locale, from one JSON file per locale kept in the repo, with a dependency-free script that checks Apple's limits and ASO rules offline, diffs against App Store Connect, pushes only after an explicit OK, and verifies. Use it whenever the user wants to change the App Store title or subtitle, rewrite the description, add or translate a store language, update promo text or release notes, "push the metadata", "sync the listing", prepare the listing for a new version, or asks why an App Store Connect edit is refused, even if they never say "metadata" or "App Store Connect API". Not for screenshots (app-store-screenshots), keyword research (aso-keywords), builds or submitting for review.
josephbedminster/indie-marketing-skills · ★ 1 · Data & Documents · score 74
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" }