AI agent that role-plays as an Apple App Store Reviewer. Catches rejections before Apple does.
Say "review my app" and Reviewer spawns as an agent that inspects your Xcode project the same way an Apple reviewer would — checking source code, entitlements, privacy manifests, metadata, and configuration against 100+ App Store Review Guidelines.
It finds the violations, cites the exact guideline, points to the offending file, and tells you how to fix it. Then it offers to fix what it can automatically.
No external CLI tools required.
One command from your Xcode project directory:
curl -fsSL https://raw.githubusercontent.com/blitzdotdev/app-store-review-agent/main/install.sh | bashThis clones the repo into .claude/app-store-review-agent/ and symlinks the agent into .claude/agents/ where Claude Code can find it.
Restart Claude Code, then say:
review my app
Verify it's installed with /agents — you should see reviewer listed.
Clone or submodule into your project root:
git submodule add https://github.com/blitzdotdev/app-store-review-agent.git reviewerThen point your agent at the SKILL.md (included for compatibility):
@reviewer/SKILL.md review my app
Or copy the SKILL.md contents into your agent's system prompt / instructions file.
Just paste this into your conversation:
Read the file reviewer/SKILL.md and follow its instructions to review my app.
your-project/
└── .claude/
├── agents/
│ └── reviewer.md → ../app-store-review-agent/agents/reviewer.md (symlink)
└── app-store-review-agent/ (cloned repo)
├── agents/
│ └── reviewer.md # Agent definition (spawns as subagent)
├── references/
│ ├── guidelines/ # 100+ Apple guidelines + 10 app-type checklists
│ └── rules/ # Rejection pattern detection rules
├── install.sh # 1-click installer
├── SKILL.md # Codex/OpenCode compatibility
└── README.md
| Rule | Guideline | What It Catches |
|---|---|---|
| competitor_terms | 2.3.1 | Android, Google Play, and other competitor brands |
| apple_trademark | 5.2.5 | Apple device images in icon, Apple trademark misuse |
| china_storefront | 5 | OpenAI/ChatGPT/Gemini references (China) |
| accurate_metadata | 2.3.4 | Device frames in app preview videos |
| subscription_metadata | 3.1.2 | Missing ToS/EULA and Privacy Policy links |
| Rule | Guideline | What It Catches |
|---|---|---|
| missing_tos_pp | 3.1.2 | No Terms or Privacy Policy in app/metadata |
| misleading_pricing | 3.1.2 | Monthly price more prominent than billed amount |
| Rule | Guideline | What It Catches |
|---|---|---|
| unnecessary_data | 5.1.1 | Requiring irrelevant personal data |
| privacy_manifest | 5.1.1 | Missing PrivacyInfo.xcprivacy |
| Rule | Guideline | What It Catches |
|---|---|---|
| sign_in_with_apple | 4.0 | Asking name/email after SIWA |
| minimum_functionality | 4.2 | WebView wrappers, apps with < 3 screens, no unique value |
| Rule | Guideline | What It Catches |
|---|---|---|
| unused_entitlements | 2.4.5(i) | Unused entitlements in Xcode project |
Complete index of all 100+ Apple Review Guidelines and 10 app-type specific checklists in references/guidelines/.
Create a .md file in the appropriate references/rules/ subdirectory:
# Rule: [Short Title]
- **Guideline**: [Apple Guideline Number]
- **Severity**: REJECTION | WARNING
- **Category**: metadata | subscription | privacy | design | entitlements
## What to Check
## How to Detect
## Resolution
## Example RejectionMIT — Based on app-store-preflight-skills by truongduy2611.