
Asc Revenuecat Catalog Sync
Reconcile App Store Connect subscriptions and IAP with RevenueCat and optionally create missing store products before mapping entitlements.
Overview
asc-revenuecat-catalog-sync is an agent skill most often used in Build (also Validate, Launch) that audits and synchronizes App Store Connect IAP and subscriptions with RevenueCat via asc CLI and MCP.
Install
npx skills add https://github.com/rorkai/app-store-connect-cli-skills --skill asc-revenuecat-catalog-syncWhat is this skill?
- Drift audit template: paginated ASC subscription groups, IAP, and subscriptions vs RevenueCat catalog diff
- Reports missing-on-either-side, type mismatch, and app/platform mismatch before any writes
- Bootstrap flow creates ASC subscription groups and products then maps to RevenueCat project and iOS app
- Stops for explicit confirmation on read-only audits—no silent writes
- Example-driven execution for realistic catalog synchronization workflows
- 2 documented execution templates (drift audit and bootstrap sync)
Adoption & trust: 616 installs on skills.sh; 845 GitHub stars; 3/3 security scanners passed (skills.sh audits).
What problem does it solve?
Your iOS subscriptions exist in App Store Connect, RevenueCat, or both—but entitlements and store product IDs no longer match and you fear breaking purchases with a blind sync.
Who is it for?
Solo developers shipping subscription iOS apps who already use or adopt RevenueCat and the asc CLI for App Store Connect automation.
Skip if: Android-only Play Billing setups, web-only Stripe billing with no ASC catalog, or teams without ASC API access and a RevenueCat project_id.
When should I use this skill?
User asks to audit, compare, or sync App Store Connect subscriptions/IAP with RevenueCat using asc and MCP.
What do I get? / Deliverables
You get a confirmed reconciliation report or a guided create-and-map sequence so ASC and RevenueCat catalogs match before users hit paywalls.
- Side-by-side catalog diff report
- Confirmed write plan for missing ASC or RevenueCat entities
- Mapped subscriptions to entitlements and offerings
Recommended Skills
Journey fit
Spans multiple journey phases - primary shelf plus alternate fits below.
Build integrations is the primary shelf because the skill is CLI and MCP workflows wiring ASC catalog objects to RevenueCat products and offerings. Integrations subphase reflects asc CLI commands plus RevenueCat MCP reads and writes across two monetization systems.
Where it fits
Diff ASC and RevenueCat before committing to monthly vs annual tier names and reference names.
Run paginated asc list commands and RevenueCat MCP lists to fix entitlement gaps pre-release.
Verify store product IDs match RevenueCat packages before App Review and live paywall.
Re-audit catalog drift after adding a new subscription group in App Store Connect.
How it compares
Workflow skill for two-sided catalog sync—not a replacement for RevenueCat dashboard docs or generic REST CRUD without store-specific asc commands.
Common Questions / FAQ
Who is asc-revenuecat-catalog-sync for?
Indie iOS builders and small teams managing in-app subscriptions and IAP who operate both App Store Connect and RevenueCat.
When should I use asc-revenuecat-catalog-sync?
During Build when wiring monetization integrations; in Validate when defining subscription tiers; at Launch when fixing ASO-related paywall mismatches—especially before enabling new offerings.
Is asc-revenuecat-catalog-sync safe to install?
Execution can create store and RevenueCat resources; review upstream skill scripts and the Security Audits panel on this Prism page before granting agent shell and API access.
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