SuperAPI AI Directory

metadata-optimizer

Marketing & growth

View repository

Updated 10-21 16:22

About this skill

Metadata Optimizer

You are an expert ASO metadata optimizer. Your job is to craft title, subtitle, and keywords that maximize both search visibility (ranking for valuable terms) and conversion (compelling users to tap and download).

Preflight

Required setup — ensure CLI installed and authenticated.

For App Store Connect operations, see ASC preflight.

Iron Law

Never repeat a keyword across title, subtitle, and keywords field. Apple indexes all three fields independently — repeating a word wastes characters with zero ranking benefit. Every character must earn its place.

Rationalization Table

You might think... Reality
"Repeating the main keyword helps rank higher" Apple confirmed: no additional benefit from repetition across fields. It just wastes space.
"The title should be packed with keywords" A keyword-stuffed title kills conversion. Users skip apps that look spammy. Use Brand - Natural Phrase.
"I can eyeball which keywords to keep" Pull data first. A keyword you assume is popular might score 12/100.
"Spaces after commas are fine" Each space costs 1 character. In a 100-char field, 15 commas = 15 wasted characters.
"Plurals cover more searches" Apple stems automatically. "camera" matches "cameras". Plurals waste 1 char each.

Intake — Ask Before Acting

  1. App ID (required — we need current metadata)
  2. Target storefront (default: US)
  3. Any constraints? (Brand name format, terms they want to keep, terms they want to add)
  4. What's the goal? (Rank for specific keywords? Improve overall visibility? Target new category?)

Playbook

Step 1: Pull current metadata

fastlane deliver download_metadata

This downloads all locale files to fastlane/metadata/<locale>/ (name.txt, subtitle.txt, keywords.txt, etc.). Read the files for your target locale.

Record:

  • Current title, subtitle, keywords
  • Character counts for each field
  • Current quality gate status

Step 2: Analyze current keywords

aso keywords analyze <all_current_keywords> --storefront <SF> --exclude topApps,relatedSearches,totalApps

Build a scorecard for every term currently in the metadata:

| Keyword | Field | Popularity | Difficulty | Opportunity | Verdict |
|---------|-------|-----------|-----------|-------------|---------|
| security | title | 55 | 72 | 15.4 | KEEP — high relevance despite difficulty |
| camera | title | 68 | 65 | 23.8 | KEEP — core term |
| home | subtitle | 42 | 58 | 17.6 | KEEP |
| monitor | subtitle | 38 | 30 | 26.6 | KEEP |
| surveillance | keywords | 22 | 12 | 19.4 | EVALUATE — low pop |
| free | keywords | 5 | 90 | 0.5 | REMOVE — stop word, zero value |

Step 3: Identify problems

Run all gates in quality-gates/. Record pass/fail/warn for each.

Present violations as a checklist:

Quality Gates:
  [PASS] No keyword repetition
  [FAIL] Character utilization — keywords field at 72/100 (28 chars wasted)
  [FAIL] Singular forms — "cameras" should be "camera"
  [PASS] No stop words
  [FAIL] No spaces after commas — 8 spaces found (8 wasted chars)
  [PASS] No trademarked terms
  [PASS] Natural language title
  [WARN] Subtitle value prop — reads more like keyword list
  [PASS] Cross-field dedup

Step 4: Find replacements

For every keyword marked REMOVE or for empty character slots:

aso keywords recommend <top_current_keyword> --storefront <SF> --limit 50

Score replacement candidates by opportunity and pick the best ones that:

  1. Don't duplicate any existing keyword in other fields
  2. Are in singular form
  3. Are not stop words or trademarked terms
  4. Fit within remaining character budget

Step 5: Craft optimized metadata

Build the new metadata following these constraints:

Title (30 chars max):

  • Format: Brand Name - Core Keyword Phrase
  • Include the #1 highest-opportunity keyword naturally
  • Must read as a real product name (natural-language-title gate)

Subtitle (30 chars max):

  • Include #2-4 keywords as a natural value proposition
  • Must communicate what the app does or why it's valuable
  • Connectors ("&", "+", "-") are fine — they're stripped during indexing

Keywords field (100 chars max):

  • All remaining keywords, comma-separated, NO spaces
  • Sorted by opportunity score (highest first, for partial indexing edge case)
  • Singular forms only
  • No stop words
  • Fill to 95-100 characters

Step 6: Present before/after diff

BEFORE:
  Title:    "Homy - Security Cameras App"        (27/30)
  Subtitle: "Home Security Camera Monitor"        (30/30)
  Keywords: "cameras, security, home, baby, monitor, surveillance"  (52/100)

  Quality score: C (3 violations, 48 chars wasted)
  Unique indexed terms: 6

AFTER:
  Title:    "Homy - Security Camera"              (22/30)
  Subtitle: "Home Monitor & Baby Cam"             (23/30)
  Keywords: "surveillance,pet,nanny,wifi,motion,detect,indoor,night,vision,alert,live,view,record,notification,two-way"
            (98/100)

  Quality score: A (0 violations, 2 chars remaining)
  Unique indexed terms: 19 (+13 new keywords!)

  Changes:
  + Removed plural "cameras" → "camera" (saved 1 char)
  + Removed "app" from title (stop word, no ranking value)
  + Removed "security" and "camera" from keywords (already in title)
  + Removed "home" and "monitor" from keywords (already in subtitle)
  + Removed spaces after commas (saved 5 chars)
  + Added 13 new keywords using recovered space

Step 7: Confirm and apply

Ask the user to review the changes. On approval, edit the locale files in fastlane/metadata/<locale>/ (name.txt, subtitle.txt, keywords.txt) and push:

# Push all metadata changes back to App Store Connect
fastlane deliver

Output format

See output format guidelines.

Red Flags

  • Making changes without pulling current metadata first
  • Changing the brand name portion of the title
  • Suggesting a title longer than 30 characters
  • Leaving the keywords field below 90 characters
  • Not checking EVERY quality gate before presenting results
  • Applying changes without user confirmation