App Store Preflight

A skill that scans an iOS or macOS project for common App Store rejection patterns before you submit

Skill

Medium risk

We rate an entry medium when the tool runs code, makes network calls or reads project files. Check what exactly it does before installing.

Why this level

  • Reads project sources and metadata and may edit files when autofixing
  • Runs the asc CLI, which talks to App Store Connect over the network
All reasons and checks

truongduy2611/app-store-preflight-skills

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add skills/app-store-preflight

Detects the agents on your machine, checks the risk and pins the version.

Other ways to install

Run in a terminal in the project folder

npx skills add truongduy2611/app-store-preflight-skills --skill app-store-preflight-skills -a claude-code -y

The skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.

Run in a terminal in the project folder

npx skills add truongduy2611/app-store-preflight-skills --skill app-store-preflight-skills -a cursor -y

The skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.

Run in a terminal in the project folder

npx skills add truongduy2611/app-store-preflight-skills --skill app-store-preflight-skills -a github-copilot -y

The skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.

Run in a terminal in the project folder

npx skills add truongduy2611/app-store-preflight-skills --skill app-store-preflight-skills -a codex -y

The skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.

Run in a terminal in the project folder

npx skills add truongduy2611/app-store-preflight-skills --skill app-store-preflight-skills -a gemini-cli -y

The skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.

Run in a terminal in the project folder

npx skills add truongduy2611/app-store-preflight-skills --skill app-store-preflight-skills -a cline -y

The skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.

Run in a terminal in the project folder

npx skills add truongduy2611/app-store-preflight-skills --skill app-store-preflight-skills -a roo -y

The skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.

A fork of Roo Code, same .roo folders.

Run in a terminal in the project folder

npx skills add truongduy2611/app-store-preflight-skills --skill app-store-preflight-skills -a opencode -y

The skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.

You will need: Node.js

Checked against the repository on Sep 25, 2026, commit e52e007.

Text for your agent

Install the skill with npx skills add truongduy2611/app-store-preflight-skills, then run a preflight check on the project before submitting to the App Store.

Other ways from the author
npx skills add truongduy2611/app-store-preflight-skills

Installs the skill into the agent's skills directory. Metadata checks additionally need the asc CLI (brew install asc).

Security check

How we review

Medium riskWe rate an entry medium when the tool runs code, makes network calls or reads project files. Check what exactly it does before installing.

  • Reads project sources and metadata and may edit files when autofixing
  • Runs the asc CLI, which talks to App Store Connect over the network

This is third-party code. Review the repository files before installing.

What it does

The skill runs a project against the rules Apple most often rejects apps for. It first identifies the app type and loads the matching checklist from references/guidelines, then uses the asc CLI to pull version metadata and check it by category: metadata, subscriptions and in-app purchases, privacy, design and entitlements. For each finding it reports a severity, the affected file and the fix, and after edits it re-runs the affected checks. All rules live in the repository as markdown files, each tied to an Apple guideline number.

Who it is for. For iOS and macOS developers preparing an app for App Store submission.

Good fit when

  • You are about to submit an app and want to catch rejection reasons in advance
  • Apple returned a rejection and you need to find what exactly is wrong
  • You need an audit of metadata, subscriptions, privacy or entitlements before release

Not a fit when

  • The project is not iOS or macOS
  • You need to upload the build to the App Store rather than check it: the skill does not do that

Example request

Check my project for App Store rejection reasons before submission and show what to fix

Limitations

Metadata checks rely on the asc CLI (brew install asc) and assume the canonical asc metadata pull layout; some examples need jq. The skill works with local sources and metadata and does not submit the build to the App Store. The rules reflect a snapshot of Apple's guidelines and do not guarantee approval.

How to disable. Remove the skill folder from the agent's skills directory (for example ~/.claude/skills/) or undo the install made via npx skills.

FAQ

Does the skill submit the app to the App Store?

No. It only checks the project and metadata and suggests fixes; you submit the app yourself.

What is needed for metadata checks?

The asc CLI (brew install asc) and metadata pulled via asc metadata pull in the canonical layout.

Skills
Official

An MCP server and CLI from Sentry for building, running and testing Xcode iOS and macOS projects from an AI agent

MCP serverMedium risk6.4KRepository stars
Editors’ pick

Paul Hudson's skill for reviewing and writing SwiftUI for iOS 26: deprecated APIs, data flow, navigation, accessibility, performance

SkillLow risk4.9KRepository stars
Editors’ pick

Expo's official agent skills: building, deploying, updating and debugging Expo and EAS apps

PluginMedium risk2.6KRepository stars

An open phone agent model and framework: it reads the screen and taps through Android, HarmonyOS and iOS apps from a text command

CLIHigh risk26.3KRepository stars

README in short

The README describes a skill that finds common Apple review guideline violations before an app is submitted. It works in steps: identify the app type and load a checklist, pull metadata via the asc CLI, check the rules by category, build a report with severity and fixes, apply edits and re-check. references holds an index of all guidelines and ten app-type checklists, plus rules for metadata, subscriptions, privacy, design and entitlements. The skill ties into the asc CLI and the related app-store-connect-cli-skills set. MIT licensed.

SKILL.md

---
name: app-store-preflight-skills
description: >
  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.
metadata:
  author: truongduy2611
  version: "1.0"
---

# 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

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.
Foxx AIApp Store Preflight

I am Foxx AI and I have already vetted this tool. Ask about install, setup or anything else, and I will keep it simple.