app-store-rejection-checker skill
Claude Code skill that audits an iOS app before App Store submission: guideline, code evidence, fix and confidence per finding.
- 81 ★ on the repository
- Last commit
- MIT
Minimal access
Why this level
- The skill reads repository files and fetches Apple guideline pages.
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add skills/app-store-rejection-checkerDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewMinimal accessThe tool runs nothing and makes no network calls.
- The skill reads repository files and fetches Apple guideline pages.
This is third-party code. Review the repository files before installing.
What it does
The skill audits an iOS or iPadOS app repository and predicts what Apple may reject. Each finding gives the guideline number or upload validation, evidence from the code, a concrete fix and an honest confidence level. Every audit starts by fetching the current App Store Review Guidelines from Apple's site instead of a frozen list. Static checks cover purpose strings against linked APIs, the privacy manifest, entitlements, export compliance, purchases and restore, account deletion, App Tracking Transparency and web-wrapper fingerprints. The semantic part judges the description, differentiation, reviewer notes and consent before sharing data with third-party AI.
Who it is for. iOS developers before submitting a build for review, especially those who built the app with an agent and may have missed guideline items.
Good fit when
- Before a release with sign-up, you must confirm that account deletion exists inside the app.
- Purpose strings need checking against the APIs actually linked.
- Subscriptions and in-app purchases need restore and disclosure checks.
- For a category with hundreds of similar apps, check the differentiation rule against template output.
Not a fit when
- The app is not for Apple platforms: the skill reads only App Store rules.
- You need an approval guarantee: findings are a risk assessment and an Apple reviewer decides.
- You need runtime checks: the skill does not see crashes, links or server-driven content.
Example request
Check this app for App Store rejection risks and show findings by guideline with evidence from the code.Limitations
The skill sees the repository, the metadata you share and the live guidelines, but not runtime behavior: crashes, broken links, restore flows and server-driven content land in the unchecked list. Findings are risk assessments with a stated confidence and not verdicts, because people run the review. Fetching the guidelines needs a page-fetching or browser tool in the agent. The `allowed-tools` field in the skill format is experimental, so behavior may differ in other agents. The project is not affiliated with Apple.
How to disable. Delete the `app-store-rejection-checker` folder from `~/.claude/skills` or the project `.claude/skills`. If you installed it as a plugin, remove the plugin.
FAQ
How do I install the skill manually?
Run `git clone https://github.com/dabodamjan/app-store-rejection-checker.git`, then `mkdir -p ~/.claude/skills` and copy the skill folder with `cp -R`. For a single project use `.claude/skills/`.
Does the skill work outside Claude Code?
Yes, the format is open: Cursor, Codex CLI and Gemini CLI read such skills. Put the `skills/app-store-rejection-checker/` folder into the agent skills directory.
Where does the skill get the rules?
Each audit fetches the current App Store Review Guidelines from Apple's site and the bundled references serve as a supplement.
What should I paste for a fuller audit?
App Store Connect metadata: description, keywords, age rating, review notes and a demo account. The store listing is a rejection surface too.
What is rule 2.5.19?
Apple's October 2026 rule on hidden features: reviewer detection, features behind a switch and hidden entry points. The skill looks for such patterns in code.
Discussion
No questions or reviews yet.
Related
SkillsA skill that scans an iOS or macOS project for common App Store rejection patterns before you submit
A Claude Code plugin that audits a mobile app against App Store and Google Play review rules before submission.
An agent checks Apple app code against every App Store guideline and shows what could trigger a rejection before you submit
Claude Code skill that takes an iOS or Flutter app from archive and signing to App Store submission and review rejection recovery.
A guard hook before an App Store or Google Play submit finds critical rejection risks and blocks the command until they are fixed.
A CLI and Claude Code plugin that find App Store and Google Play rejection causes before you submit, citing the rule for each.
Comparison with similar tools
Cards that share the main search query, and how they differ.
| Tool | Official | Repository stars | Main difference |
|---|---|---|---|
| app-store-rejection-checker (this card) | no | 81 | |
| App Store Review Skill | no | 106 | a Claude Code plugin for App Store and Google Play; this skill is iOS-only and fetches fresh Apple rules each time |
| App Store Preflight | no | 1,414 | a similar preflight before review; here the focus is repository evidence and a confidence rating per finding |
README in short
The text covers installation through an agent request and manually, an example finding, a table of checked areas, honest limits and use with other agents. It closes with a comparison to fastlane precheck and other checkers.
README badge
Original SKILL.md
--- name: app-store-rejection-checker description: Audits an iOS or iPadOS Xcode project and its App Store Connect metadata against the current App Store Review Guidelines and reports likely rejection risks, each tied to a guideline number with evidence, a fix, and a confidence level. Use before an App Store submission, or when the user mentions App Store review, app rejection, review guidelines, rejection risk, submission preflight, or asks whether their app will pass review. license: MIT compatibility: Needs network access to fetch the live App Store Review Guidelines. Designed for repositories containing an Xcode project or Swift package. metadata: author: dabodamjan homepage: https://github.com/dabodamjan/app-store-rejection-checker allowed-tools: Read Grep Glob Bash WebFetch WebSearch --- # App Store review preflight Audit the repository and the developer's App Store Connect metadata the way an App Review reviewer would: read the actual code, the actual configuration, and the actual store copy, then report what is likely to be rejected and why. Non-negotiable output rules: 1. Every finding cites a specific guideline number (or names the automated upload validation) and states the evidence found in this repository or metadata. 2. Every finding carries a confidence level (defined in Step 6). Never present a judgment call as a certainty. 3. Never promise approval, estimate approval odds as a percentage, or invent statistics. Passing this audit reduces known risks; it does not guarantee anything. 4. The live guidelines text fetched in Step 1 is the authority. The bundled reference files are a map of the rejection landscape (verified 2026-10-17); on any conflict, the live text wins, and the report should note the discrepancy. When the live fetch truncates before a section, a finding may quote wording recovered via the Step 1 web-search fallback instead, labeled as a secondary source. ## Step 1: fetch the live guidelines Do this before running any checklist. Fetch https://developer.apple.com/app-store/review/guidelines/ with WebFetch. The page is long and fetch results may truncate near the end (section 5.4 and later). Fetch results are typically cached per URL, so fetching again retrieves the same snapshot; what a targeted prompt changes is which part of that snapshot gets extracted. Use targeted prompts to pull each area out of the snapshot: 1. Sections 1 and 2 (Safety, Performance): ask for the subsection structure and any wording relevant to the app under audit. 2. Sections 3 and 4 (Business, Design): same. 3. Section 5 (Legal): same. If the result cuts off before 5.4, re-prompting will not