skills/apple-aso/SKILL.md
Optimize Apple App Store metadata in store.config.json for ASO (App Store Optimization). Use when working with store.config.json, App Store keywords, titles, subtitles, descriptions, or localizing app metadata. Helps maximize app visibility and downloads.
npx skillsauth add vabole/apple-skills apple-asoInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Optimize App Store metadata following Apple's guidelines and ASO best practices to maximize visibility and downloads.
store.config.json| Field | Limit | Ranking Weight | Indexed | |-------|-------|----------------|---------| | Title | 30 chars | Highest | Yes | | Subtitle | 30 chars | 2nd highest | Yes | | Keywords | 100 chars | 3rd (same as subtitle) | Yes | | Description | 4,000 chars | None | No | | Promo Text | 170 chars | None | No | | Release Notes | 4,000 chars | None | No |
keyword1,keyword2,multi word phrase,keyword3
Critical formatting:
@, #, - are replaced with spaces| Language | Code | | Language | Code |
|----------|------|-|----------|------|
| English (US) | en-US | | German | de-DE |
| English (UK) | en-GB | | French (France) | fr-FR |
| English (AU) | en-AU | | French (Canada) | fr-CA |
| Spanish (Spain) | es-ES | | Portuguese (Brazil) | pt-BR |
| Spanish (Mexico) | es-MX | | Portuguese (Portugal) | pt-PT |
| Italian | it | | Dutch | nl-NL |
| Japanese | ja | | Russian | ru |
| Korean | ko | | Chinese Simplified | zh-Hans |
| Arabic | ar-SA | | Chinese Traditional | zh-Hant |
Apple indexes keywords from multiple locales per territory:
This effectively gives you 200 characters in some markets.
Check for these issues:
Consider:
{
"title": "Call Santa Claus Now",
"subtitle": "Magical Santa Voice Calls",
"keywords": ["santa", "call santa", "santa claus", "voice call", "kids", "children"]
}
Issues:
{
"title": "Call Santa Claus Now",
"subtitle": "Magical Santa Voice Calls",
"keywords": "christmas,xmas,holiday,north pole,father christmas,talk,phone,festive,rudolph,elves,family"
}
Improvements:
{
"configVersion": 0,
"apple": {
"info": {
"en-US": {
"title": "App Name (max 30 chars)",
"subtitle": "Value proposition (max 30 chars)",
"description": "Full description (max 4000 chars)",
"keywords": "comma,separated,no spaces,after commas",
"releaseNotes": "What's new in this version",
"promoText": "Short promotional text (max 170 chars)",
"privacyPolicyUrl": "https://example.com/privacy",
"supportUrl": "https://example.com/support",
"marketingUrl": "https://example.com"
}
},
"categories": ["PRIMARY_CATEGORY", "SECONDARY_CATEGORY"]
}
}
docs/aso-guidelines.md# Push metadata to App Store
eas metadata:push
# Pull current metadata from App Store
eas metadata:pull
# Validate metadata locally
# (Check JSON syntax and character limits)
development
API reference: XCUITest. Query for element queries, waiting patterns, Swift 6 @MainActor, assertions, screenshots, launch arguments.
development
API reference: TipKit. Tip protocol, TipView, PopoverTipView, Tips.configure, inline and popover tips.
development
API reference: MapKit for SwiftUI. Map view, Marker, Annotation, camera positions, map features.
development
API reference: Apple Human Interface Guidelines. Query for design patterns, UI components, accessibility, color, typography, layout, haptics.