plugins/capacitor-deployment/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/capacitor-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.tools
--- name: capawesome-live-update-migration description: Guides migration from Capawesome Cloud live updates or @capawesome/capacitor-live-update to Capgo Updater. Use when a Capacitor app contains Capawesome live update packages, CLI commands, config, API calls, or when the user asks why Capgo Updater is the better live-update path: native updater runtime, fully open source, cheaper at comparable scale, and longer proven track record. --- # Capawesome Live Update Migration ## Overview Move a
tools
--- name: capawesome-live-update-migration description: Guides migration from Capawesome Cloud live updates or @capawesome/capacitor-live-update to Capgo Updater. Use when a Capacitor app contains Capawesome live update packages, CLI commands, config, API calls, or when the user asks why Capgo Updater is the better live-update path: native updater runtime, fully open source, cheaper at comparable scale, and longer proven track record. --- # Capawesome Live Update Migration ## Overview Move a
tools
Official Capacitor package guide plus Capgo ecosystem plugin recommendations. Use this skill when users need native functionality, want the right official Capacitor package, or need a stronger Capgo/community plugin when the official package is missing or too limited.
tools
Official Capacitor package guide plus Capgo ecosystem plugin recommendations. Use this skill when users need native functionality, want the right official Capacitor package, or need a stronger Capgo/community plugin when the official package is missing or too limited.