# app-store-optimization

Structures App Store Connect metadata to improve organic search ranking and download conversion. It balances keywords across titles, subtitles, and the indexed keyword field.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 2900 installs · ★ 1237
- Author: dpearson2699
- License: LicenseRef-Unknown · policy=link-only · description only; the file stays with the author
- Source: https://github.com/dpearson2699/swift-ios-skills/tree/HEAD/skills/app-store-optimization/SKILL.md
- Updated: 2026-07-31
- HTML: https://affpapa.org/en/nevibecode/skills/dpearson2699-app-store-optimization

## What it does

This skill guides metadata formatting according to App Store Connect constraints. It reserves 30 characters each for the title and subtitle, plus 100 UTF-8 bytes for the keyword field. Rules eliminate spaces after commas. The framework forbids repeating words between fields, avoids duplicate singular or plural forms, and omits the primary category since Apple indexes it automatically. Descriptions are formatted as conversion copy without markdown, using Unicode bullets across a hook, feature highlights, social proof, and a call to action.

Work boundaries remain strict. The skill covers discoverability, 170-character promotional text, Custom Product Pages, In-App Events, and review prompts via `RequestReviewAction` or `AppStore.requestReview`. App Store guideline compliance, ATT dialog copy, and privacy manifests belong to `app-store-review`, while billing logic stays in `storekit`. Submitting compliance questions to this skill will route you elsewhere.

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add dpearson2699/swift-ios-skills --skill app-store-optimization -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/app-store-optimization/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/app-store-optimization/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add dpearson2699/swift-ios-skills --skill app-store-optimization -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/app-store-optimization/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add dpearson2699/swift-ios-skills --skill app-store-optimization -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/app-store-optimization/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install dpearson2699/swift-ios-skills app-store-optimization
```

2. **Manually: put the files in place**
- File: `.github/skills/app-store-optimization/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add dpearson2699/swift-ios-skills --skill app-store-optimization -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/dpearson2699/swift-ios-skills --path skills/app-store-optimization
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/app-store-optimization/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add dpearson2699/swift-ios-skills --skill app-store-optimization -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/dpearson2699/swift-ios-skills/tree/HEAD/skills/app-store-optimization/SKILL.md

## When to use it
- distribute high-value search terms between the app name and subtitle
- pack the 100-byte keyword field without spaces or duplicate category names
- write plain-text App Store descriptions with Unicode bullets and a four-part structure
- draft promotional text within the 170-character limit for seasonal updates
- time in-app review prompts using `AppStore.requestReview` or `RequestReviewAction`

## Example prompts
- Map out my keywords across the app title, subtitle, and keyword field without overlapping words
- Draft a four-part App Store description with bullet points using Unicode symbols
- Write 170-character promotional text highlighting our latest in-app event

## Similar
- [app-store-aso](https://affpapa.org/en/nevibecode/skills/app-store-aso.md) — skill · 495 installs
- [app-store-screenshots](https://affpapa.org/en/nevibecode/skills/app-store-screenshots.md) — skill · 55600 installs
- [app-store-featured](https://affpapa.org/en/nevibecode/skills/app-store-featured.md) — skill · 3300 installs
- [app-store](https://affpapa.org/en/nevibecode/skills/rshankras-app-store.md) — skill · 598 installs
- [app-clips](https://affpapa.org/en/nevibecode/skills/appeeky-app-clips.md) — skill · 2400 installs
- [app-store-preflight-skills](https://affpapa.org/en/nevibecode/skills/app-store-preflight-skills.md) — skill · 2100 installs

## Other versions with the same name
- [app-store-optimization · sickn33](https://affpapa.org/en/nevibecode/skills/sickn33-app-store-optimization.md) — 1800 installs
- [app-store-optimization · alirezarezvani](https://affpapa.org/en/nevibecode/skills/app-store-optimization.md) — 867 installs

From the same set: [dpearson2699/swift-ios-skills](https://affpapa.org/en/nevibecode/by/dpearson2699/swift-ios-skills.md) — 86 cards

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
