Individual skill
app-store-preflight-skills
Scan an iOS/macOS Xcode project for common App Store rejection patterns before submission. Use when preparing an app for App Store review, after receiving a rejection from Apple, or when auditing metadata, subscriptions, privacy manifests, entitlements, or design compliance. Integrates with the asc CLI for metadata inspection.
SKILL.md
Source commit cfd9c73577300f9310ca892fefd38fbe1abd73cb
What was checked
- Matches the observed repository HEAD
- Yes
- Scanner rules are current
- No
- Repository scan complete
- No
- Skill scan complete
- No
- Observed behavior
- Not checked yet
- Last checked
- Nov 9, 2026
These are observations at the recorded commit, not a guarantee of safety. Review the source before running it.
Install this skill
Choose an agent in your Stack or copy a command below. Commands fetch the pinned commit and copy only this skill directory. Existing destinations are refused. Copying a command does not install anything.
An install command is unavailable: current rules, complete repository and skill scans, an eligible behavior level and a permitted license are required.
Repository context
- Repository stars (not skill ratings)
- 1,414
- Repository last updated
- Oct 17, 2026
- License
- MIT
Observed agent integration: No specific integration evidence. Standard SKILL.md installation does not imply verified compatibility.
- design Derived category
Files and excerpt
File metadata and permitted, redacted excerpts come from the recorded scan. Source links are pinned to that commit.
Browse files
LICENSEasset · 1,070 bytesREADME.mddoc · 6,204 bytesSKILL.mdcore · 6,717 bytesSKILL.mdcore · 6,717 bytesreferences/guidelines/README.mddoc · 15,230 bytesreferences/guidelines/by-app-type/ai_apps.mddoc · 2,884 bytesreferences/guidelines/by-app-type/all_apps.mddoc · 5,017 bytesreferences/guidelines/by-app-type/crypto_finance.mddoc · 1,984 bytesreferences/guidelines/by-app-type/games.mddoc · 3,166 bytesreferences/guidelines/by-app-type/health_fitness.mddoc · 2,557 bytesreferences/guidelines/by-app-type/kids.mddoc · 2,632 bytesreferences/guidelines/by-app-type/macos.mddoc · 2,287 bytesreferences/guidelines/by-app-type/social_ugc.mddoc · 2,928 bytesreferences/guidelines/by-app-type/subscription_iap.mddoc · 2,043 bytesreferences/guidelines/by-app-type/vpn.mddoc · 1,274 bytesreferences/rules/design/hidden_features.mddoc · 5,436 bytesreferences/rules/design/minimum_functionality.mddoc · 4,598 bytesreferences/rules/design/sign_in_with_apple.mddoc · 3,202 bytesreferences/rules/entitlements/unused_entitlements.mddoc · 3,419 bytesreferences/rules/metadata/accurate_metadata.mddoc · 2,584 bytesreferences/rules/metadata/apple_trademark.mddoc · 4,110 bytesreferences/rules/metadata/china_storefront.mddoc · 3,457 bytesreferences/rules/metadata/competitor_terms.mddoc · 2,305 bytesreferences/rules/metadata/review_notes_new_submission.mddoc · 5,656 bytesreferences/rules/metadata/review_notes_template.mddoc · 2,411 bytesreferences/rules/metadata/subscription_metadata.mddoc · 3,123 bytesreferences/rules/privacy/privacy_manifest.mddoc · 3,425 bytesreferences/rules/privacy/third_party_ai_consent.mddoc · 4,880 bytesreferences/rules/privacy/unnecessary_data.mddoc · 2,593 bytesreferences/rules/subscription/misleading_pricing.mddoc · 3,082 bytesreferences/rules/subscription/missing_tos_pp.mddoc · 2,420 bytes
Read excerpt
# 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: