# app-store-review

Catches App Store rejection risks before submission. Audits privacy manifests, StoreKit purchase compliance, and review access blockers.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 4500 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-review/SKILL.md
- Updated: 2026-07-31
- HTML: https://affpapa.org/en/nevibecode/skills/app-store-review

## What it does

The skill organizes a pre-submission review against Apple guidelines. It separates hard upload blockers from standard cleanup tasks. Checks cover platform SDK upload baselines, matching runtime network behavior against the privacy policy, and valid review credentials under Guideline 2.1.

A major focus falls on `PrivacyInfo.xcprivacy` and required-reason API categories like `UserDefaults` or system boot time. The skill demands declarations inside each embedded framework or third-party SDK bundle that touches those APIs, rather than grouping them into the main app manifest. Leaving SDK bundles undeclared is an invitation for an automated processing rejection.

In-app purchases are evaluated against Guideline 3.1.1, requiring clear display of subscription terms, renewal schedules, and restoration mechanisms. It leaves marketing, ASO, and keyword ranking strategies to dedicated tools, focusing strictly on metadata accuracy and compliance risks.

## Install

### Claude Code (native platform)

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

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

### Codex

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

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

### Cursor

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

2. **Manually: put the files in place**
- File: `.cursor/skills/app-store-review/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-review
```

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

### Gemini CLI

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

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

### Windsurf (Devin Desktop)

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

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add dpearson2699/swift-ios-skills --skill app-store-review -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-review/SKILL.md

## When to use it
- audit PrivacyInfo.xcprivacy manifests against required-reason API rules
- separate blocking App Store upload errors from routine cleanup
- reconcile privacy nutrition labels with actual SDK network behavior
- verify StoreKit purchase terms and subscription disclosures

## Example prompts
- Audit the current iOS build against App Store Review Guidelines
- Reconcile PrivacyInfo.xcprivacy declarations across all embedded SDKs
- Check if my subscription paywall satisfies Guideline 3.1.1 requirements

## Similar
- [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-preflight-skills](https://affpapa.org/en/nevibecode/skills/app-store-preflight-skills.md) — skill · 2100 installs
- [capacitor-app-store](https://affpapa.org/en/nevibecode/skills/capacitor-app-store.md) — skill · 1200 installs
- [app-store-optimization](https://affpapa.org/en/nevibecode/skills/app-store-optimization.md) — skill · 867 installs
- [app-store](https://affpapa.org/en/nevibecode/skills/rshankras-app-store.md) — skill · 598 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
