
App Store Preflight Skills
Run structured App Store rejection checklists on an Xcode project before submit—or right after Apple flags metadata, IAP, privacy, or entitlement issues.
Overview
app-store-preflight-skills is an agent skill most often used in Launch (also Ship security, Validate scope) that scans Xcode projects against App Store rejection checklists and asc CLI metadata patterns.
Install
npx skills add https://github.com/truongduy2611/app-store-preflight-skills --skill app-store-preflight-skillsWhat is this skill?
- Step 1 routes every app through all_apps.md plus type-specific checklists (subscription_iap, social_ugc, kids, and more)
- Scans iOS/macOS Xcode trees for common rejection patterns across metadata, subscriptions, privacy manifests, entitlement
- Integrates with asc CLI for App Store Connect metadata inspection
- Documented prerequisites: Homebrew asc install and optional jq for JSON rule examples
- Explicit triggers: pre-submission prep, post-rejection triage, and compliance auditing
- Version 1.0 skill metadata
- Always start with all_apps.md then add an app-type-specific checklist
- Prerequisites document asc CLI and optional jq
Adoption & trust: 1.2k installs on skills.sh; 1.2k GitHub stars; 1/3 security scanners passed (skills.sh audits).
What problem does it solve?
You are one guideline gap—privacy manifest, IAP copy, or entitlement mismatch—away from another costly App Store rejection.
Who is it for?
Solo indie iOS/macOS devs shipping to the App Store who already use or can install the asc CLI for Connect inspection.
Skip if: Android-only or cross-platform shops with no Xcode project to scan, or teams that want fully automated pass/fail without manual checklist review.
When should I use this skill?
Preparing an app for App Store review, after receiving a rejection from Apple, or when auditing metadata, subscriptions, privacy manifests, entitlements, or design compliance.
What do I get? / Deliverables
You get a type-aware checklist run across your repo and Connect metadata so fixes land before resubmit or first submission.
- App-type checklist coverage report
- Identified high-risk rejection patterns
- Metadata inspection steps via asc CLI
Recommended Skills
Journey fit
Spans multiple journey phases - primary shelf plus alternate fits below.
Canonical shelf is Launch because the workflow targets App Store Connect submission readiness and store-review compliance, not day-to-day feature coding. ASO fits metadata, subscriptions, privacy manifests, and guideline audits that determine whether review passes or bounces.
Where it fits
Load all_apps.md plus subscription_iap.md before your first paid-tier submit.
Cross-check privacy manifests and entitlements against Apple’s latest rejection patterns pre-archive.
Decide whether kids or social features force extra guideline packs before you finalize MVP store listing claims.
How it compares
Structured guideline checklists plus asc integration—not a generic code linter or TestFlight crash debugger.
Common Questions / FAQ
Who is app-store-preflight-skills for?
Independent builders maintaining Xcode apps who need a repeatable preflight before App Store Connect submission or after a rejection.
When should I use app-store-preflight-skills?
At Launch/ASO before submit; at Ship/security when validating privacy manifests and entitlements; at Validate/scope when confirming kids or IAP complexity before you commit to store positioning.
Is app-store-preflight-skills safe to install?
It may invoke local CLI tools on your project—confirm asc and shell usage fit your security posture and read the Security Audits panel on this Prism page.
SKILL.md
READMESKILL.md - App Store Preflight Skills
# App Store Preflight Skill Run pre-submission checks on your iOS/macOS project to catch common App Store rejection patterns. ## Prerequisites - **asc CLI** — Install via Homebrew: `brew install asc` ([App-Store-Connect-CLI](https://github.com/rudrankriyam/App-Store-Connect-CLI)) - **ASC CLI Skills** — [app-store-connect-cli-skills](https://github.com/rudrankriyam/app-store-connect-cli-skills) for `asc` usage patterns - **jq** — Optional, but used by some JSON-inspection examples in the rule docs ## Step 1: Identify App Type → Load Checklist Determine which guidelines apply by loading the relevant checklist from `references/guidelines/by-app-type/`. Always start with `all_apps.md`, then add the app-type-specific one: | App Type | Checklist | |----------|-----------| | Every app | `references/guidelines/by-app-type/all_apps.md` | | Subscriptions / IAP | `references/guidelines/by-app-type/subscription_iap.md` | | Social / UGC | `references/guidelines/by-app-type/social_ugc.md` | | Kids Category | `references/guidelines/by-app-type/kids.md` | | Health & Fitness | `references/guidelines/by-app-type/health_fitness.md` | | Games | `references/guidelines/by-app-type/games.md` | | macOS | `references/guidelines/by-app-type/macos.md` | | AI / Generative AI | `references/guidelines/by-app-type/ai_apps.md` | | Crypto & Finance | `references/guidelines/by-app-type/crypto_finance.md` | | VPN | `references/guidelines/by-app-type/vpn.md` | Full guideline index: `references/guidelines/README.md` ## Step 2: Pull Metadata for Inspection Pull the latest App Store metadata using the `asc` CLI: ```bash # Pull canonical metadata JSON for the version you want to review asc metadata pull --app "<APP_ID>" --version "<VERSION>" --dir ./metadata ``` `asc metadata pull` writes app info files to `./metadata/app-info/*.json` and version-localization files to `./metadata/version/<VERSION>/*.json`. Most rule examples below assume the canonical JSON layout written by `asc metadata pull`. If you already have metadata in another layout (for example fastlane `metadata/`), either adapt the file-path examples to that structure or pull the canonical `asc` layout first. ## Step 3: Run Rejection Rule Checks For each category, load the relevant rule files from `references/rules/` and inspect. Each rule contains: **What to Check**, **How to Detect**, **Resolution**, and **Example Rejection**. | Category | Rule Files | |----------|------------| | Metadata | `references/rules/metadata/*.md` | | Subscription | `references/rules/subscription/*.md` | | Privacy | `references/rules/privacy/*.md` | | Design | `references/rules/design/*.md` | | Entitlements | `references/rules/entitlements/*.md` | ## Step 4: Report Findings Produce a summary report using this template: ```markdown ## Preflight Report ### ❌ Rejections Found (N) - [GUIDELINE X.X.X] Description of issue - File: path/to/offending/file - Fix: What to do ### ⚠️ Warnings (N) - [GUIDELINE X.X.X] Potential issue ### ✅ Passed (N) - [Category] All checks passed ``` Order by severity: rejections first, then warnings, then passed. ## Step 5: Autofix + Validate Some issues can be auto-fixed: - **Competitor terms** → Suggest replacement text with competitor names removed - **Metadata character limits** → Show current vs. max length - **Missing links** → Generate template ToS/PP URLs After applying any auto-fix, **re-run the affected checks** to confirm the fix resolved the violation. Only mark as resolved once the re-scan passes. For issues requiring manual i