App Store Metadata Sync
SkillDocs & knowledgeApp Store metadata JSON: edit, validate, push, or sync canonical `./metadata`, plus legacy fastlane migration via `asc migrate`. Excludes translation-first work, standalone release notes, and IAP/subscription names.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the App Store Metadata Sync skill
What this skill tells your AI
The instructions your AI receives, as published by xopoko/build-swift-apps in skills/appstore-metadata-sync/SKILL.md and read by ahel’s review.
Prefer canonical asc metadata JSON for app-info and version fields. Use .strings or fastlane flows only when specifically needed.
Use appstore-metadata-localizer when the main work is translation/adaptation across locales. Use appstore-release-notes-writer for What's New copy. Use appstore-subscription-localizer for subscription, group, or IAP display-name localizations.
Command Plan Helper
For a deterministic dry-run command plan, run the helper from the plugin root:
python3 "$PLUGIN_ROOT/skills/appstore-metadata-sync/scripts/metadata_sync_plan.py" \
--app "APP_ID" --version "1.2.3" --platform IOS --dir "./metadata" \
--app-info "APP_INFO_ID" --version-id "VERSION_ID" \
--include-keywords --keywords-csv "./keywords.csv"
The helper prints commands only; it does not call ASC, mutate metadata, or read credentials. Pass --json for machine-readable output. Pass --confirming-actions only after manually verifying generated --confirm commands.
Workflow
- Pull canonical metadata JSON into
./metadatabefore editing unless the user already provided a fresh metadata tree. - Resolve
APP_INFO_IDwhen multiple app-info records exist. - Edit the owning JSON fields: app-info fields for name/subtitle/privacy text and version fields for description, keywords, marketing URL, promotional text, support URL, and What's New.
- Validate locally, then run
push --dry-run; apply/push without dry-run only after the diff and target app/version are confirmed. - Use alternate
.stringsor fastlane migration flows only for legacy repos or explicit user requests.
Limits: name/subtitle 30, keywords 100, description/What's New 4000, promotional text 170. Use table output for human verification and JSON for automation.
References
references/appstore-metadata-sync.mdfor detailed canonical JSON, keyword, quick-edit,.strings, and fastlane commands.
Signals
- GitHub stars
- 45
- Forks
- 4
- Last commit
- Aug 2026
Advanced
- Catalog kind
- skill
- Gateway key
appstore-metadata-sync- Source
- github.com/xopoko/build-swift-apps