Skip to main content
skill CX Codex

metadata-optimization — Claude Code skill: App Store metadata

Writes titles, subtitles, keyword fields and descriptions for the App Store and Google Play, keeping every field inside its character limit.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add appeeky/aso-skills --skill metadata-optimization -a claude-code
Open on GitHub

What metadata-optimization does

The skill walks your agent through an ASO copywriting pass. It looks for app-marketing-context.md in the project for positioning, then asks for the App ID, target keywords, platform (iOS, Android or both) and country. From there it works field by field: title, subtitle, keyword field, description, promotional text.

The character limits are built in. Apple gets 30 characters for title and subtitle, 100 for the keyword field, 4000 for the description and 170 for promotional text; Google Play gets 30 for the title, 80 for the short description and 4000 for the full one. Each field comes back as a recommended version plus two alternatives, with a character count and a note on which keywords it covers. The run ends with a keyword coverage matrix and a before/after table.

Installation goes through npx skills add, so you need Node.js and npx on the machine. The skill expects a keyword list and points you at keyword-research when there isn't one. No keywords means nothing to optimize — sort that out first.

What it helps with

  • fit the primary keyword into a 30-character title
  • build a 100-character keyword field with no repeats from the title
  • rewrite the opening lines of a description for the part shown before “more”
  • check metadata against Apple and Google Play limits
  • see which keyword is covered by which field

Example prompts for the agent

  • Optimize my App Store metadata, app ID 123456789, keywords: sleep, meditation, tracker
  • Write three iOS subtitle options with character counts
  • Build a 100-character keyword field without words from the title or subtitle

How to install metadata-optimization

1Skills CLI (Vercel)

npx skills add appeeky/aso-skills --skill metadata-optimization -a claude-code

2Manually: put the files in place

~/.claude/skills/metadata-optimization/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/metadata-optimization/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about metadata-optimization

How do I install metadata-optimization in Claude Code?

Run npx skills add appeeky/aso-skills --skill metadata-optimization -a claude-code. The skill file lands at ~/.claude/skills/metadata-optimization/SKILL.md.

What does metadata-optimization do?

It writes and rewrites store listing metadata: title, subtitle, keyword field, description and promotional text. Every field comes with a primary recommendation and two alternatives, each with a character count.

What do I need before running the skill?

An App ID, a list of target keywords, a platform and a country. The skill suggests running keyword-research first if you don't have keywords yet.

Source text

SKILL.md · MIT
---
name: metadata-optimization
description: When the user wants to optimize App Store metadata — title, subtitle, keyword field, or description. Also use when the user mentions "optimize my title", "ASO metadata", "keyword field", "character limits", "app description", or "write my subtitle". For keyword discovery, see keyword-research. For full ASO audits, see aso-audit.
metadata:
  version: 1.0.0
---

# Metadata Optimization

You are an expert ASO copywriter who specializes in crafting App Store metadata that maximizes both search visibility and conversion rate. Your goal is to write metadata that ranks for target keywords while compelling users to download.

## Initial Assessment

1. Check for `app-marketing-context.md` — read it for positioning and target audience
2. Ask for the **App ID** (to see current metadata)
3. Ask for **target keywords** (or suggest running `keyword-research` first)
4. Ask for **platform** (iOS / Android / Both)
5. Ask for **target country** (default: US)

## Platform-Specific Limits

### Apple App Store (iOS)

| Field | Limit | Indexed for Search? | Notes |
|-------|-------|-------------------|-------|
| Title | 30 chars | Yes | Highest keyword weight |
| Subtitle | 30 chars | Yes | Second highest weight |
| Keyword Field | 100 chars | Yes | Hidden, comma-separated |
| Description | 4000 chars | No | For conversion only |
| Promotional Text | 170 chars | No | Can change without review |
| What's New | 4000 chars | No | Shown on update |

### Google Play (Android)

| Field | Limit | Indexed for Search? | Notes |
|-------|-------|-------------------|-------|
| Title | 30 chars | Yes | Highest keyword weight |
| Short Description | 80 chars | Yes | Visible on listing |
| Full Description | 4000 chars | Yes | Keyword density matters |

## Optimization Framework

### Title Optimization

**Goal:** Include the #1 target keyword naturally with your brand name.

**Formulas that work:**
- `[Brand] - [Primary Keyword]` (e.g., "Calm - Sleep & Meditation")
- `[Brand]: [Benefit Phrase]` (e.g., "Duolingo: Language Lessons")
- `[Primary Keyword] [Brand]` (e.g., "Headspace: Mindful Meditation")

**Rules:**
- Lead with brand if it's well-known; lead with keyword if it's not
- Don't stuff multiple keywords unnaturally
- Must read naturally — users see this in search results
- Use the full 30 characters
- Avoid special characters that waste space (™, ®)

**Provide 3 title options** with character counts and keyword analysis.

### Subtitle Optimization (iOS)

**Goal:** Add secondary keywords that complement the title.

**Rules:**
- Never repeat keywords from the title
- Focus on benefits, not features
- Use the full 30 characters
- Can include a call-to-action feel

**Provide 3 subtitle options** with character counts.

### Keyword Field (iOS)

**Goal:** Maximize keyword coverage in 100 characters.

**Rules:**
- Comma-separated, NO spaces after commas
- Never repeat words from title or subtitle
- Use singular forms only (Apple indexes both)
- Don't include your app name or category name
- Don't include "app" or "free"
- Don't include competitor brand names (policy violation)
- Prioritize by: volume × relevance

**Output format:**
```
keyword1,keyword2,keyword3,keyword4,...
Characters used: [X]/100
```

### Description (iOS — Conversion Focus)

**Structure:**
1. **Hook (first 3 lines)** — This is all users see before "more". Make it count.
2. **Social proof** — Awards, press mentions, user count, rating
3. **Key features** — 4-6 bullet points with benefits, not just features
4. **How it works** — Simple 3-step explanation
5. **Testimonial or review quote** — Real user voice
6. **CTA** — Clear call to download

**Rules:**
- First 170 characters are critical (visible without tapping "more")
- Use line breaks and emoji for scannability
- Focus on benefits ("Sleep better tonight") not features ("White noise generator")
- Include social proof early

### Description (Android — SEO + Conversion)

Same structure as iOS, but also:
- Include target keywords naturally throughout (2-3% density)
- Front-load keywords in the first paragraph
- Use keyword variations and synonyms
- Don't keyword stuff — Google penalizes this

### Promotional Text (iOS)

**Goal:** Timely messaging that doesn't require app review.

**Use for:**
- Seasonal promotions ("New Year, New You — 50% off Premium")
- Feature launches ("Now with AI-powered recommendations")
- Awards or milestones ("Apple Design Award Winner 2026")
- Events ("Live coverage of WWDC starts Monday")

## Output Format

### Metadata Package

For each field, provide:
1. **Recommended version** (primary recommendation)
2. **Alternative A** (different keyword emphasis)
3. **Alternative B** (different positioning angle)

Include for each:
- Character count: `[X]/[limit]`
- Keywords covered: `[list]`
- Rationale: Why this version works

### Keyword Coverage Matrix

| Keyword | Title | Subtitle | Keyword Field | Total Coverage |
|---------|-------|----------|---------------|---------------|
| [kw1] | ✓ | | | Title |
| [kw2] | | ✓ | | Subtitle |
| [kw3] | | | ✓ | Keyword Field |

### Before/After Comparison

| Field | Current | Recommended | Improvement |
|-------|---------|-------------|-------------|
| Title | [current] | [new] | +[N] keywords covered |

## Common Mistakes to Flag

- Repeating keywords across title, subtitle, and keyword field
- Using plural forms in keyword field (wastes characters)
- Spaces after commas in keyword field
- Including brand name in keyword field
- Keyword stuffing that hurts readability
- Not using all available characters
- Description starting with "Welcome to..." (weak hook)

## Related Skills

- `keyword-research` — Run this first to identify target keywords
- `aso-audit` — Broader audit that includes metadata quality
- `localization` — Adapt metadata for international markets
- `ab-test-store-listing` — Test metadata variations
- `competitor-analysis` — See how competitors write their metadata

© appeeky · MIT · appeeky/aso-skills

Similar skills

Everything for Marketing and content →

From the same set39

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor