Skip to content

Nozium/rork-asc-support-plugin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rork-asc-support-plugin

A Claude Code plugin that bridges App Store Connect (ASC) and Rork to support IAP/subscription configuration, diagnosis, and submission preparation for iOS apps.

日本語版はこちら (Japanese)

Setup

1. Install the plugin

claude --plugin-dir /path/to/rork-asc-support-plugin

2. Enable RevenueCat MCP (optional)

Set the REVENUECAT_API_V2_SECRET_KEY environment variable to automatically connect the RevenueCat MCP server.

Get your API key from RevenueCat Dashboard > Project Settings > API Keys > V2 Secret Key.

export REVENUECAT_API_V2_SECRET_KEY="sk_..."

3. Fastlane template (optional)

Copy templates/Fastfile.template to your project's fastlane/Fastfile and set BUNDLE_ID.

cp templates/Fastfile.template your-project/fastlane/Fastfile

Place your ASC API key at fastlane/asc_key.json:

{
  "key_id": "XXXXXXXXXX",
  "issuer_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "key": "-----BEGIN EC PRIVATE KEY-----\n...\n-----END EC PRIVATE KEY-----"
}

Skills

/check-env — Environment Check

Verifies that all required credentials and connections are properly configured. Use during initial project setup or when troubleshooting connection issues.

  • ASC API Key (p8) — Validates asc_key.json existence, key_id / issuer_id / key format
  • Fastlane — Installation status, Fastfile presence, BUNDLE_ID configuration, available lanes
  • RevenueCat MCPREVENUECAT_API_V2_SECRET_KEY env var and .mcp.json configuration
  • Gitignore Safety — Ensures asc_key.json, Local.xcconfig, .env are gitignored

Returns exit code 0 if all checks pass.


/check-iap — IAP Metadata Diagnosis

Diagnoses the review-readiness of IAP / subscription products. Used to identify the root cause of MISSING_METADATA issues.

What it checks:

Category Details
Non-Consumable Product state, localizations (name + description), price schedule, review screenshot
Auto-Renewable Subscription Product state, localizations, prices for all territories, screenshot, review note
Subscription Group (critical) Group localizations (name + customAppName). Missing this keeps products in MISSING_METADATA even if everything else is complete
Version Association Whether IAP products are linked to the current app version

Can be verified using Fastlane's deep_iap_check / check_prices lanes.


/setup-iap-metadata — Fix IAP Metadata

Fixes MISSING_METADATA state for IAP products. Run /check-iap first to identify what's missing.

Targets and ASC API endpoints:

Fix API
Add Subscription Group localizations (most common cause) POST /v1/subscriptionGroupLocalizations
Add Subscription localizations POST /v1/subscriptionLocalizations
Add Non-Consumable localizations POST /v2/inAppPurchaseLocalizations
Create Non-Consumable price schedule POST /v1/inAppPurchasePriceSchedules

After fixing, verify the state transition to READY_TO_SUBMIT with fastlane deep_iap_check.


/setup-iap-prices — IAP Pricing

Manages IAP pricing — check, set, or change prices. Also useful for troubleshooting incorrect price display in-app.

Features:

  • Check current price schedules (Non-Consumable / Subscription)
  • Look up Price Point IDs and create new price schedules
  • Verify prices per territory

Note: A Non-Consumable without a price schedule may cause StoreKit to return incorrect values (e.g. $1,480 instead of $9.99).


/setup-eula — Terms of Use (EULA) Setup

Creates and configures Terms of Use for Apple Guideline 3.1.2(c) compliance.

Two options:

  1. Custom EULA (recommended for subscription apps) — Create a custom Terms of Use covering subscription terms, auto-renewal, cancellation policy, etc. Publish via GitHub Gist or web page.
  2. Apple Standard EULA — Link to Apple's built-in standard EULA.

Critical: The ASC EULA field must NOT be null — this is the #1 cause of 3.1.2(c) rejections. Both standard and custom EULA pass review.

Required setup (all four):

  • ASC EULA field set (custom or Apple standard) — verify with fastlane check_eula
  • App's Paywall / purchase screen (functional link)
  • App's Settings screen
  • App Store description (URL)

/check-submission — Pre-Submission Checklist

Validates all requirements before submitting for App Store review.

Verification categories:

  • App Metadata — App name, description, keywords, screenshots, Privacy Policy URL, age rating
  • Guideline 3.1.2 (Subscriptions) — Subscription info display on Paywall (title, duration, price, Privacy Policy, Terms of Use, cancellation instructions)
  • Guideline 2.1(b) (IAP) — All products in READY_TO_SUBMIT state and associated with the app version

Includes a mapping of common rejection reasons to fixes.


/generate-iap-screenshots — IAP Review Screenshot Generation

Batch generates review screenshots for IAP products from a source image (uses macOS sips).

./scripts/generate-iap-screenshots.sh <source_image> [output_dir] [sizes]

Supported device sizes:

Size Device
640x920 iPhone 4s (3.5-inch) — minimum required
1242x2208 iPhone 6s Plus (5.5-inch)
1242x2688 iPhone XS Max (6.5-inch)
1290x2796 iPhone 15 Pro Max (6.7-inch)
2048x2732 iPad Pro 12.9-inch

Pass all as the sizes argument to generate all device sizes at once. Upload the generated screenshots to each product's Review Screenshot section in ASC.


/setup-app-profile — App Profile Setup

Creates app-profile.json — the shared configuration that all marketing skills reference. Defines personas, brand voice, competitors, and monetization model.


/analyze-marketing-style — Marketing Style Research

Analyzes competitor App Store descriptions and category patterns. Generates docs/marketing-style-guide.md with headline formulas, keyword strategy, and tone examples.


/setup-app-description — App Store Description

Writes conversion-optimized, ASO-friendly App Store descriptions. Structures content around the critical first 3 lines (visible before "more"), feature highlights, and social proof.


/evaluate-previews — Preview Evaluation

Evaluates App Store screenshots and preview videos against persona fit, first impression effectiveness, story flow, and competitive differentiation. Generates scored reports with priority improvements.


/design-cpa — CPA Strategy Design

Designs cost-per-acquisition strategy across Apple Search Ads, SNS, web, and organic channels. Includes funnel modeling, budget simulation, and integration with ASC Analytics API.


/generate-release-notes — Release Notes

Generates structured release notes from git history with multi-locale translation support.


/setup-posthog — PostHog Analytics Setup

Integrates PostHog iOS SDK for product analytics. Covers SPM setup, AnalyticsService creation, SwiftUI screen tracking (.postHogScreenView()), custom events, and dashboard configuration. Includes privacy-safe defaults (Session Replay disabled, no user content transmitted).


/setup-sentry — Sentry Crash Reporting Setup

Integrates Sentry iOS SDK for crash monitoring and performance tracing. Covers SPM setup, CrashReportingService creation, dSYM upload (Fastlane/Xcode/ASC integration), alert configuration, and dashboard views (Issues, Mobile Vitals, Session Health, Releases). Includes privacy-safe defaults (screenshots disabled).


/update-privacy-policy — Privacy Policy & EULA Update

Updates Privacy Policy, Terms of Use, and ASC EULA when third-party services change. Provides templates for RevenueCat, PostHog, and Sentry disclosures. Covers Gist publishing, ASC EULA field update, and link verification.


/crash-triage — Crash Triage

Fetches and analyzes crash reports from ASC and cross-references with Sentry data (breadcrumbs, mobile vitals, session health). Supports severity classification and triage reporting.


/setup-ab-test — A/B Testing (PPO)

Configures App Store Product Page Optimization experiments for icons, screenshots, and promotional text.

Scripts

Shell scripts included with the plugin:

Script Description
scripts/check-env.sh Checks ASC API key, Fastlane, RevenueCat MCP, and gitignore configuration
scripts/generate-iap-screenshots.sh Batch generates IAP review screenshots from a source image (macOS sips)

Fastlane Lanes

Lanes included in the template:

Lane Description
verify Verify ASC connection
iap_status List IAP / subscription products
deep_iap_check Detailed check of localizations, prices, and screenshots
check_prices Detailed price verification (per territory)
check_eula Check EULA configuration status and territory coverage
set_group_localizations Add subscription group localizations
get_description / set_description Get/set app description per locale
get_screenshots / get_preview_sets Get screenshot and preview metadata
app_analytics / download_analytics_report ASC Analytics Report API
get_whats_new / set_whats_new Get/set release notes per locale
list_builds / crash_signatures / crash_logs Crash triage
list_experiments / create_experiment A/B test management

Common Review Rejections

Guideline Cause Fix
2.1(b) IAP not submitted IAP not linked to app version Associate IAPs in the "In-App Purchases and Subscriptions" section in ASC
2.1(b) IAP not submitted MISSING_METADATA state Fix with /check-iap/setup-iap-metadata
3.1.2(c) Missing EULA ASC EULA field is null Set EULA in ASC with /setup-eula, verify with fastlane check_eula
3.1.2(c) Missing subscription info Incomplete info on Paywall Add price, duration, management info, and policy links

License

MIT

About

apple store connect と rorkを繋いでrevenuecatなどの設定をサポートするskills plugin

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages