Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
truongduy2611 avatar

App Store Preflight Skills

  • 1.6k installs
  • 1.3k repo stars
  • Updated May 29, 2026
  • truongduy2611/app-store-preflight-skills

Catalog of common App Store rejection patterns and rules to validate iOS/macOS projects against Apple guidelines before submission.

About

App Store Preflight Skill audits iOS and macOS projects against Apple's App Store guidelines before submission. Developers use it after receiving rejections or proactively when preparing for review. The workflow loads app-type-specific checklists (subscriptions, games, AI, kids, health, VPN, crypto), pulls metadata via asc CLI, runs rule checks across metadata, subscriptions, privacy manifests, design, and entitlements, generates a severity-ordered report (rejections, warnings, passed), and auto-fixes simple issues like competitor-term removal and character limits. Critical gotchas include China storefront AI-term bans across all locales and transitive PrivacyInfo.xcprivacy requirements from third-party SDKs.

  • Load app-type-specific checklists (all_apps.md plus subscription, games, AI, kids, health, VPN, crypto variants)
  • Pull canonical App Store metadata JSON via asc CLI for inspection
  • Run rule checks across metadata, subscriptions, privacy manifests, design, and entitlements categories
  • Generate severity-ordered reports (rejections, warnings, passed) with file paths and fix instructions
  • Auto-fix competitor terms, metadata character limits, and missing links; manual fixes for screenshots and UI

App Store Preflight Skills by the numbers

  • 1,620 all-time installs (skills.sh)
  • +31 installs in the week ending Aug 5, 2026 (Skillselion tracking)
  • Ranked #322 of 2,203 Security skills by installs in the Skillselion catalog
  • Security screen: MEDIUM risk (skills.sh audit)
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
At a glance

app-store-preflight-skills capabilities & compatibility

Capabilities
load app type specific guideline checklists dyna · pull app store metadata via asc cli and parse js · validate metadata against rejection rules (compe · inspect privacy manifests, entitlements, subscri · auto fix simple violations (competitor term remo · generate severity ordered reports (rejections, w
Use cases
security audit · code review
Platforms
macOS
Runs
Runs locally
Pricing
Free
From the docs

What app-store-preflight-skills says it does

Scan an iOS/macOS Xcode project for common App Store rejection patterns before submission.
SKILL.md
npx skills add https://github.com/truongduy2611/app-store-preflight-skills --skill app-store-preflight-skills

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs1.6k
repo stars1.3k
Security audit1 / 3 scanners passed
Last updatedMay 29, 2026
Repositorytruongduy2611/app-store-preflight-skills

What it does

Scan iOS/macOS Xcode projects for App Store rejection patterns before submission.

Who is it for?

iOS/macOS developers preparing apps for App Store review, responding to rejections, or auditing subscription/privacy/entitlements compliance.

Skip if: Android-only projects, apps not targeting App Store, or those needing real-time ASC API integration beyond metadata pull.

When should I use this skill?

Before submitting to App Store, after receiving a rejection, or when auditing metadata, subscriptions, privacy manifests, entitlements, or design.

What you get

Developers catch and fix App Store guideline violations before submission, reducing rejection cycles and time-to-launch.

  • Preflight report with rejections, warnings, and passed categories
  • Severity-ordered findings with file paths and fix instructions
  • Auto-fixed metadata and competitor-term replacements

By the numbers

  • 9 app-type-specific checklists (subscriptions, social, kids, health, games, macOS, AI, crypto, VPN)
  • 5 rule categories: metadata, subscription, privacy, design, entitlements
  • Supports both asc CLI canonical JSON layout and fastlane metadata structure adaptation

Files

SKILL.mdMarkdownGitHub ↗

App Store Preflight Skill

Run pre-submission checks on your iOS/macOS project to catch common App Store rejection patterns.

Prerequisites

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 TypeChecklist
Every appreferences/guidelines/by-app-type/all_apps.md
Subscriptions / IAPreferences/guidelines/by-app-type/subscription_iap.md
Social / UGCreferences/guidelines/by-app-type/social_ugc.md
Kids Categoryreferences/guidelines/by-app-type/kids.md
Health & Fitnessreferences/guidelines/by-app-type/health_fitness.md
Gamesreferences/guidelines/by-app-type/games.md
macOSreferences/guidelines/by-app-type/macos.md
AI / Generative AIreferences/guidelines/by-app-type/ai_apps.md
Crypto & Financereferences/guidelines/by-app-type/crypto_finance.md
VPNreferences/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:

# 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.

CategoryRule Files
Metadatareferences/rules/metadata/*.md
Subscriptionreferences/rules/subscription/*.md
Privacyreferences/rules/privacy/*.md
Designreferences/rules/design/*.md
Entitlementsreferences/rules/entitlements/*.md

Step 4: Report Findings

Produce a summary report using this template:

## 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 intervention (screenshots, UI redesign), provide clear instructions but do not auto-fix.

Gotchas

  • China storefront — Banned AI terms (ChatGPT, Gemini, etc.) are checked across ALL locales, not just zh-Hans. Apple checks every locale visible in the China storefront.
  • Privacy manifestsPrivacyInfo.xcprivacy is required even if your app doesn't call Required Reason APIs directly. Third-party SDKs (Firebase, Amplitude, etc.) that use UserDefaults or NSFileManager trigger this requirement transitively.
  • asc authasc metadata pull requires App Store Connect authentication. Run asc auth login first, or set ASC_KEY_ID, ASC_ISSUER_ID, and one of ASC_PRIVATE_KEY_PATH / ASC_PRIVATE_KEY / ASC_PRIVATE_KEY_B64. If you're unsure what asc is picking up, run asc auth doctor.
  • Subscription metadata — Apple requires ToS/PP links in BOTH the App Store description AND the in-app subscription purchase screen. Missing either one is a separate rejection.
  • macOS entitlements — Apple will ask you to justify every temporary exception entitlement (com.apple.security.temporary-exception.*). Remove entitlements you don't actively use.

Adding New Rules

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 Rejection

Related skills

How it compares

Pick app-store-preflight-skills for automated Xcode rejection-pattern scans; pick manual App Store Connect checklists when you only need human review without project file analysis.

FAQ

Do I need asc CLI installed to use this skill?

Yes. Install via Homebrew: brew install asc (App-Store-Connect-CLI). Also required: app-store-connect-cli-skills for asc usage patterns, and optionally jq for JSON inspection.

What if my app targets multiple app types (e.g., games with subscriptions)?

Start with all_apps.md, then load both games.md and subscription_iap.md checklists. Rules are cumulative; apply all relevant guidelines.

Can this skill auto-fix all rejection types?

No. Auto-fixes handle competitor-term removal, metadata character limits, and missing ToS/PP link generation. Manual fixes required for screenshots, UI redesign, and entitlement justifications.

Is App Store Preflight Skills safe to install?

skills.sh reports 1 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.

Securityauditcompliance

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.