Agent skills for iOS, iPadOS, Swift, SwiftUI, and modern Apple framework development.
71
89%
Does it follow best practices?
Impact
—
No eval scenarios have been run
Advisory
Suggest reviewing before use
Step-by-step process for identifying, scoring, and maintaining the keyword field for App Store search optimization.
Apple indexes different metadata fields with different weights and behaviors:
| Field | Indexed for search? | Controllable per version? | Notes |
|---|---|---|---|
| App name | Yes -- high weight | Yes (with new binary) | 30 characters. Strongest ranking signal. |
| Subtitle | Yes -- high weight | Yes (with new binary) | 30 characters. Second strongest signal. |
| Keyword field | Yes -- medium weight | Yes (with new binary) | 100 characters. Primary keyword surface. |
| In-app purchase display names | Yes -- lower weight | Yes (with IAP update) | Each IAP name is indexed. |
| In-app event name | Yes -- during event window | Yes (per event) | Only indexed while the event is active. |
| Description | No | Yes (with new binary) | Not indexed for search. Affects conversion only. |
| Promotional text | No | Yes (anytime, no binary) | Not indexed. Conversion only. |
| Developer name | Yes -- low weight | Account-level | Rarely useful for keyword strategy. |
| Category | Yes -- automatic | Yes (with new binary) | Apple adds the category term automatically. Do not repeat it in keywords. |
Identify the top 5-10 apps ranking for the primary category terms. For each competitor, note:
Use App Store search autocomplete to discover what users actually type. Start typing a category term and note the suggested completions.
List every term a user might associate with the app's functionality:
Filter this list against competitor findings. Terms that appear in many competitor titles are high-volume but high-competition. Terms that appear in autocomplete but not in competitor metadata represent opportunities.
Run Apple Search Ads discovery campaigns with broad-match keywords matching the primary function. After 2-4 weeks of data:
With each app update:
Score each candidate keyword on three dimensions:
| Dimension | Score range | How to assess |
|---|---|---|
| Relevance | 1-5 | Does the keyword describe what the app actually does? 5 = core function, 1 = tangentially related |
| Volume | 1-5 | Is this term frequently searched? Use Search Ads impression data as a proxy. 5 = high impressions, 1 = minimal |
| Difficulty | 1-5 | How many established apps target this term? 5 = low competition (good), 1 = dominated by major apps |
Decision rule: Include a keyword only if Relevance >= 3. Among qualifying keywords, prioritize by (Relevance x 2) + Volume + Difficulty. This weights relevance heavily while still favoring discoverable, winnable terms.
Disqualify keywords that:
The 100-character keyword field requires careful allocation. Here are allocation patterns for different app types:
Title: FitTrack -- Workout Log (23 chars used)
Subtitle: Exercise & Activity Stats (25 chars used)
Keyword field strategy -- do not repeat: fittrack, workout, log, exercise, activity, stats
gym,training,health,run,step,calorie,weight,strength,cardio,hiit,yoga,plank,squat,routine,progress(96 characters -- 4 remaining, all unique against title/subtitle)
Title: PixelPop -- Photo Editor (24 chars used)
Subtitle: Filters & Retouch Tools (23 chars used)
Keyword field -- do not repeat: pixelpop, photo, editor, filter, retouch, tool
selfie,portrait,collage,crop,blur,preset,enhance,adjust,brightness,contrast,saturation,beauty,skin(99 characters -- all unique against title/subtitle)
Some keywords have seasonal search volume spikes. Plan rotation around predictable events:
| Season/Event | Example keywords to add | When to deploy |
|---|---|---|
| New Year | resolution,goal,habit,new year | December release |
| Back to school | student,school,study,planner | July/August release |
| Holiday shopping | gift,holiday,deal,wish list | October/November release |
| Summer fitness | outdoor,running,summer,beach | April/May release |
| Tax season | tax,receipt,expense,deduction | January/February release |
Rotate 2-3 keyword slots per seasonal cycle. Keep the core 70-80 characters stable and use the remaining 20-30 characters for seasonal experimentation.
Before:
fitness tracker, workout app, best exercise, health and wellness, gymIssues: spaces after commas (-5 chars wasted), "fitness" and "tracker" may duplicate title, "best" and "app" have no search value, "and" is a stop word.
After:
gym,health,run,step,calorie,weight,strength,cardio,hiit,yoga,plank,squat,routine,progress,streakFixes: no spaces, no duplicates of title/subtitle, no filler words, all terms are genuine search queries.
Before (title is "RunMate -- Running Tracker"):
running,tracker,run,jog,marathon,5k,pace,distance,route,gps,heart,rate,training,fitness,healthIssues: "running", "tracker", and "run" duplicate the title -- 17 characters wasted.
After:
jog,marathon,5k,pace,distance,route,gps,heart,rate,training,fitness,health,stride,tempo,intervalFixes: removed title duplicates, added 3 new high-value terms with the recovered space.
skills
accessorysetupkit
references
activitykit
references
adattributionkit
references
alarmkit
references
app-clips
app-intents
references
app-store-optimization
app-store-review
apple-on-device-ai
appmigrationkit
references
audioaccessorykit
references
authentication
references
avkit
references
background-processing
references
browserenginekit
references
callkit
references
carplay
references
cloudkit
references
contacts-framework
references
core-bluetooth
references
core-data
core-motion
references
core-nfc
references
coreml
references
cryptokit
references
cryptotokenkit
references
debugging-instruments
device-integrity
references
dockkit
references
energykit
references
eventkit
references
financekit
references
focus-engine
gamekit
references
healthkit
references
homekit
references
ios-accessibility
ios-localization
ios-networking
ios-simulator
references
mapkit
metrickit
references
musickit
references
natural-language
references
paperkit
references
passkit
references
pdfkit
references
pencilkit
references
permissionkit
references
photokit
push-notifications
realitykit
references
relevancekit
references
scenekit
references
sensorkit
references
speech-recognition
spritekit
references
storekit
swift-api-design-guidelines
swift-architecture
swift-charts
references
swift-codable
swift-concurrency
swift-formatstyle
swift-language
swift-security
references
swift-testing
swiftdata
swiftlint
swiftui-animation
swiftui-gestures
references
swiftui-layout-components
swiftui-liquid-glass
references
swiftui-patterns
swiftui-performance
swiftui-uikit-interop
swiftui-webkit
tabletopkit
references
tipkit
references
vision-framework
weatherkit
references
widgetkit
references