
Asc Revenuecat Catalog Sync
Reconcile and sync App Store Connect subscription and IAP catalogs with RevenueCat for an indie iOS app without guessing which side is missing products.
Overview
asc-revenuecat-catalog-sync is an agent skill most often used in Build (also Validate, Operate) that audits and synchronizes App Store Connect and RevenueCat product catalogs with confirmation-gated writes.
Install
npx skills add https://github.com/rudrankriyam/app-store-connect-cli-skills --skill asc-revenuecat-catalog-syncWhat is this skill?
- Read-only drift audit: list ASC subscription groups, IAP, and per-group subscriptions, then diff against RevenueCat apps
- Structured diff report for missing on either side, type mismatch, and app/platform mismatch with stop-for-confirmation b
- Bootstrap flow to create missing ASC subscription groups and monthly/annual products, then map them into a RevenueCat pr
- Example-driven templates for realistic catalog sync workflows using paginated JSON from asc CLI
- Explicit audit-first pattern so solo builders never blind-write store or RevenueCat configuration
- Two documented execution templates: read-only drift audit and create-missing ASC subscriptions then map to RevenueCat
Adoption & trust: 1.3k installs on skills.sh; 845 GitHub stars; 3/3 security scanners passed (skills.sh audits).
What problem does it solve?
Your ASC subscription and IAP definitions and your RevenueCat products, entitlements, and offerings have drifted apart and you cannot see what is missing or mismatched on either side.
Who is it for?
Indie iOS developers already using asc CLI and RevenueCat who need repeatable catalog audits or controlled bootstrap of monthly and annual subscriptions.
Skip if: Teams without RevenueCat or ASC CLI access, or anyone who wants one-click writes without reading a reconciliation report first.
When should I use this skill?
User asks to audit, compare, sync, or bootstrap App Store Connect subscriptions and IAP against RevenueCat for an app and project.
What do I get? / Deliverables
You get a clear ASC versus RevenueCat diff and, after you confirm, a sequenced path to create missing store products and map them into RevenueCat so purchases and paywalls stay consistent.
- ASC versus RevenueCat reconciliation report (missing, mismatch, platform)
- Confirmation-gated write plan for ASC group/subscription creation and RevenueCat mapping
Recommended Skills
Journey fit
Spans multiple journey phases - primary shelf plus alternate fits below.
Catalog synchronization is implementation work wiring two monetization systems together, which is canonical Build → integrations even though pricing decisions happen earlier. The skill centers on ASC CLI plus RevenueCat MCP reads and controlled writes—third-party product catalog integration, not store listing copy or ASO.
Where it fits
Before launch, compare planned monthly and annual SKUs in ASC against RevenueCat offerings so pricing tiers match what the paywall will load.
While wiring the iOS app to RevenueCat, run a drift audit so new ASC subscription groups are reflected as products and entitlements in the project.
After adding an IAP in App Store Connect, audit against RevenueCat to catch type or platform mismatches before users hit purchase errors.
How it compares
Use this structured audit-then-sync workflow instead of manually comparing App Store Connect screens to the RevenueCat dashboard.
Common Questions / FAQ
Who is asc-revenuecat-catalog-sync for?
Solo and indie builders shipping iOS apps with subscriptions who use App Store Connect CLI and RevenueCat and need agent-guided catalog reconciliation.
When should I use asc-revenuecat-catalog-sync?
Use it in Build when integrating billing, in Validate when finalizing subscription SKUs and entitlements, and in Operate when you suspect ASC and RevenueCat catalogs have drifted after pricing or offering changes.
Is asc-revenuecat-catalog-sync safe to install?
Review the Security Audits panel on this Prism page for install risk and permissions; the skill’s examples emphasize read-only audits and explicit confirmation before any write operations.
SKILL.md
READMESKILL.md - Asc Revenuecat Catalog Sync
# Examples: asc RevenueCat catalog sync Use these examples as execution templates for realistic catalog synchronization workflows. ## Example 1: Drift audit only (read-only) Goal: compare ASC and RevenueCat, produce a no-write reconciliation report. ### User request `Audit my ASC subscriptions and IAP catalog against RevenueCat and show what is missing on either side.` ### Expected behavior 1. Read ASC: - `asc subscriptions groups list --app "APP_ID" --paginate --output json` - `asc iap list --app "APP_ID" --paginate --output json` - `asc subscriptions list --group-id "GROUP_ID" --paginate --output json` (for each group) 2. Read RevenueCat via MCP: - list apps/products/entitlements/offerings/packages for `project_id` 3. Build and present a diff: - missing in ASC - missing in RevenueCat - type mismatch - app/platform mismatch 4. Stop for confirmation (no writes). ## Example 2: Create missing ASC subscriptions, then map to RevenueCat Goal: bootstrap both systems when store products are partially missing. ### User request `Ensure monthly and annual subscriptions exist in ASC for app APP_ID, then sync them to RevenueCat project PROJECT_ID under my iOS app.` ### Expected behavior 1. Audit existing resources first. 2. If missing in ASC: - create group: - `asc subscriptions groups create --app "APP_ID" --reference-name "Premium"` - create subscriptions: - `asc subscriptions create --group-id "GROUP_ID" --reference-name "Monthly" --product-id "com.example.premium.monthly" --subscription-period ONE_MONTH` - `asc subscriptions create --group-id "GROUP_ID" --reference-name "Annual" --product-id "com.example.premium.annual" --subscription-period ONE_YEAR` 3. Re-read ASC to capture authoritative IDs. 4. In RevenueCat: - create app if missing (`type: app_store`, same bundle identifier) - create products with matching `store_identifier` - create entitlement (for example `premium`) and attach products - optionally create `default` offering with `$rc_monthly` and `$rc_annual` 5. Verify with final summary and failures list. ## Example 3: Sync one-time IAP and keep consumables entitlement-free Goal: model recommended entitlement behavior by product type. ### User request `Sync my non-consumable lifetime IAP and consumable coin pack to RevenueCat.` ### Expected behavior 1. Confirm product type mapping: - `NON_CONSUMABLE` -> `non_consumable` - `CONSUMABLE` -> `consumable` 2. Create missing ASC IAPs if requested: - `asc iap create --app "APP_ID" --type NON_CONSUMABLE --ref-name "Lifetime" --product-id "com.example.lifetime"` - `asc iap create --app "APP_ID" --type CONSUMABLE --ref-name "Coins 100" --product-id "com.example.coins.100"` 3. In RevenueCat: - create both products - attach **non-consumable** product to an entitlement (for example `lifetime_access`) - skip entitlement attachment for consumable by default (unless user explicitly asks) 4. Return created/skipped/failed counts. ## Example 4: Controlled apply in CI-style automation Goal: make apply mode safe and repeatable in team workflows. ### User request `Run a full sync and apply missing resources.` ### Expected behavior 1. Run audit and print plan. 2. Request explicit approval. 3. Apply in deterministic order: - ASC group/subscription/IAP - RC app/product - RC entitlement + attachments - RC offering/package + attachments 4. Continue after item failures and aggregate errors. 5. Print machine-readable summary plus human-readable recap. ## Suggested natural-language prompts for MCP - `List all apps in RevenueCat project PROJECT_ID and show which one matches bundle id com.example.app` - `Create RevenueCat product com.example.premium.monthly as subscription in app APP_ID` - `Create entitlement premium and attach product PRODUCT_ID` - `Create offering default with packages $rc_monthly and $rc_annual` - `Show complete offering configuration including packages and attached products` # R