← ClaudeAtlas

app-store-approvallisted

Audit an iOS/iPadOS codebase for App Store rejection risks before submission. Use this skill whenever the user mentions App Store submission, App Review, TestFlight release, app rejection, ITMS errors, privacy manifests, PrivacyInfo.xcprivacy, App Store guidelines, paywall compliance, "is my app ready to ship", or preparing/pre-flight checking any iOS app for release — even if they don't explicitly say "audit". Also trigger when the user pastes an App Store rejection notice and wants to fix it.
artbyjazi/app-store-approval · ★ 7 · Code & Development · score 76
Install: claude install-skill artbyjazi/app-store-approval
# iOS App Store submission audit Audit an existing iOS/iPadOS codebase for App Store rejection risks and produce one report ranked by severity. Static checks first, judgement second, manual checklist last. **Do not trigger for Android / Google Play work.** This skill is iOS-only. ## Severity model Every finding gets exactly one of these. Getting the level right matters more than finding more items — a wall of maybes is useless to someone shipping tomorrow. | Level | Meaning | |---|---| | **HARD BLOCK** | Deterministic failure. The upload is rejected by App Store Connect, or review fails on a fact you can verify from the code (missing purpose string, undeclared required-reason API, missing account deletion). | | **LIKELY REJECTION** | Matches a documented rejection cause. Not certain, but a reviewer following the guideline as written would reject it. | | **RISK FLAG** | Needs human or metadata review: purpose-string quality, "ongoing value", minimum functionality, spam/duplication, metadata accuracy. | When unsure between two levels, choose the lower one and say what would settle it. Reviewer inconsistency is real — these are risk scores, not guarantees. --- ## Workflow ### 1. Detect the project Confirm this is an iOS project before doing anything else. Look for: `*.xcodeproj`, `*.xcworkspace`, `Package.swift`, `Podfile.lock`, `Info.plist`, `PrivacyInfo.xcprivacy`, `pubspec.yaml` (Flutter), `project.pbxproj`. If none are present, say so and stop — do not audit a non