skills/capacitor-apple-review-preflight/SKILL.md
Guides the agent through an Apple App Store preflight review for Capacitor apps before submission or after rejection. Covers guideline checklist selection, App Store metadata review, Capacitor and iOS project inspection, privacy manifests, Sign in with Apple, entitlements, and common rejection patterns. Do not use for Google Play review, generic store publishing only, or non-Apple mobile runtimes.
npx skillsauth add cap-go/capgo-skills capacitor-apple-review-preflightInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Run a pre-submission or post-rejection Apple review audit for a Capacitor app.
This skill adapts the Apple guideline and rejection-rule corpus from truongduy2611/app-store-preflight-skills and narrows the workflow to Capacitor-specific project inspection.
Detected Capacitor, auth, subscription, analytics, and privacy-related packages:
!node -e "const fs=require('fs');if(!fs.existsSync('package.json'))process.exit(0);const pkg=JSON.parse(fs.readFileSync('package.json','utf8'));const sections=['dependencies','devDependencies'];const out=[];for(const section of sections){for(const [name,version] of Object.entries(pkg[section]||{})){if(name.startsWith('@capacitor/')||name.startsWith('@capgo/')||name.includes('firebase')||name.includes('sentry')||name.includes('revenuecat')||name.includes('purchase')||name.includes('subscription')||name.includes('auth')||name.includes('analytics')||name.includes('segment')||name.includes('amplitude')||name.includes('mixpanel'))out.push(section+'.'+name+'='+version)}}console.log(out.sort().join('\n'))"
Relevant Apple review file paths:
!find . -maxdepth 6 \( -name 'package.json' -o -name 'capacitor.config.json' -o -name 'capacitor.config.ts' -o -name 'capacitor.config.js' -o -name 'Info.plist' -o -name '*.entitlements' -o -name 'PrivacyInfo.xcprivacy' -o -name 'project.pbxproj' -o -path './ios' -o -path './fastlane/metadata' -o -path './metadata' \)
Use this skill for Apple-facing review work, not for generic publishing.
If the task is mostly about screenshots, release setup, or store upload mechanics, combine this skill with capacitor-app-store.
Always read:
references/guidelines/by-app-type/all_apps.mdThen add the checklist that matches the app:
subscription_iap.md for subscriptions or IAPsocial_ugc.md for UGC or moderation-heavy appskids.md for Kids Categoryhealth_fitness.md for health, fitness, or medical claimsgames.md for gamesai_apps.md for AI or LLM featurescrypto_finance.md for crypto, trading, or financial workflowsvpn.md for VPN and networking appsmacos.md only when the submission also targets macOSUse references/guidelines/README.md for the full guideline index when a rejection cites a specific section.
Start from the injected snapshot above, then inspect:
package.json for Capacitor, auth, analytics, subscription, and SDK dependenciescapacitor.config.* for app identifiers, app name, web asset config, and live update settingsios/App/App/Info.plist or the project-specific Info.plist*.entitlements filesPrivacyInfo.xcprivacy if presentfastlane/metadata or other local metadata directories if they existPay special attention to Capacitor-specific Apple review risks:
Use the upstream rule files as the source of truth:
references/rules/metadata/*.mdreferences/rules/subscription/*.mdreferences/rules/privacy/*.mdreferences/rules/design/*.mdreferences/rules/entitlements/*.mdMap them onto the Capacitor app:
Info.plist, privacy manifests, SDK usage, and data collection flowsIf App Store metadata is not stored locally and asc is available, pull it with asc metadata pull --output-dir ./metadata. If not, audit local metadata sources and state what remains unverified.
Use this format:
## Apple Review Preflight
### Rejections Found
- [GUIDELINE X.X.X] Issue summary
- Evidence: file or metadata location
- Why it matters for this Capacitor app
- Fix: exact remediation
### Warnings
- [GUIDELINE X.X.X] Potential issue
### Passed
- [Category] Checks that looked clean
### Missing Inputs
- Metadata or review assets that were not available locally
Order findings by severity and make each fix concrete.
When relevant, draft reviewer notes for:
asc is not configured, continue with the code and project audit and clearly mark metadata checks as partial.PrivacyInfo.xcprivacy before assuming privacy compliance.development
Guide for migrating an existing web app, PWA, or SPA into a store-ready Capacitor iOS and Android app. Use this skill when users want to wrap or convert a web app into a mobile app, avoid thin WebView app store rejection, add native-feeling UX, handle permissions, offline behavior, account deletion, billing, testing, and Capgo live updates.
development
Guide to using Tailwind CSS in Capacitor mobile apps. Covers mobile-first design, touch targets, safe areas, dark mode, and performance optimization. Use this skill when users want to style Capacitor apps with Tailwind.
development
Revenue playbook for getting a mobile or web subscription app from zero to early MRR. Use when users ask how to make revenue, reach $1K MRR, monetize an app, get first users, improve ASO, plan TikTok/Reels/Shorts or Reddit acquisition, design a paywall, choose freemium vs trial, price subscriptions, reduce churn, or build a simple growth loop for an app.
tools
Guides the agent through migrating SQLite and SQL-style Capacitor plugins to @capgo/capacitor-fast-sql. Use when replacing bridge-based SQL plugins, adding encryption, preserving transactions, or moving key-value storage onto Fast SQL. Do not use for non-SQL storage, generic app upgrades, or plugins that already wrap Fast SQL.