You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: revenuecat/skills/create-revenuecat-project/SKILL.md
+12-5Lines changed: 12 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -187,14 +187,21 @@ Decide whether the user wants a RevenueCat dashboard paywall or custom app UI.
187
187
For a dashboard paywall:
188
188
189
189
1. Confirm the current offering and packages are complete.
190
-
2. Inspect `rc schema paywalls create --json` and create the default draft attached to the intended offering:
190
+
2. Inspect `rc schema paywalls generate --json`. When available, use Paywall AI Editor to create a designed draft from the user's direction and the app context already gathered in Stage 0:
--context "<concise product, audience, brand, and premium-feature context>" \
196
+
--json --no-input
194
197
```
195
198
196
-
3. Capture the paywall ID. Creation always produces a draft; `published_at` is null until publish succeeds.
197
-
4. Review the selected template, then publish the customer-facing draft only after approval:
199
+
The command waits for the persisted Astra task by default. If using `--async`, capture `data.task_id` and run `rc paywalls task <task-id> --wait --json --no-input`; do not start the same generation again while its task is queued or running.
200
+
201
+
If AI generation is unavailable or the user explicitly wants the default template, use `rc paywalls create --offering-id <offering-id> --json --no-input`.
202
+
203
+
3. Capture `data.paywall_id` and `data.editor_url`. Paywall AI Editor always saves an unpublished draft. For requested revisions, run `rc paywalls edit <paywall-id> --prompt "<change>" --context "<relevant context>" --json --no-input`; do not manipulate the raw components JSON.
204
+
4. Review the draft and editor link, then publish the customer-facing draft only after approval:
5. Require the publish response and `rc paywalls show <paywall-id> --json --no-input` to contain a non-null `published_at`.
204
211
6. Verify the SDK payload with `rc offerings preview <test-store-app-id> --json --no-input`. Require the intended current offering and non-null `paywall_components`; null means the SDK is still receiving fallback components.
205
212
206
-
If `rc schema paywalls publish --json` is unavailable in the installed build, check an authenticated MCP publish tool. Otherwise hand off exactly: RevenueCat dashboard → Paywalls → open the created draft → customize/review → Publish.
213
+
If neither `rc paywalls generate` nor the Cloud MCP Paywall AI Editor tools are available, create the default draft or hand customization off exactly: RevenueCat dashboard → Paywalls → open the draft → customize/review. If `rc schema paywalls publish --json` is unavailable, check an authenticated MCP publish tool or hand off the final Publish action.
207
214
208
215
Do not confuse a created draft or fallback paywall layout with a published dashboard paywall. If `published_at` is empty or only the fallback renders, mark dashboard paywall configuration incomplete.
Copy file name to clipboardExpand all lines: revenuecat/skills/revenuecat-paywall/SKILL.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
---
2
2
name: revenuecat-paywall
3
-
description: Configure and display a RevenueCat paywall using a dashboard paywall plus the RevenueCatUI SDK, or identify the exact dashboard handoff when paywall creation is not exposed by CLI/MCP. Use when adding a paywall, presenting PaywallView, gating a premium screen, installing RevenueCatUI, or verifying paywall purchases on iOS, Android, Kotlin Multiplatform, Flutter, or React Native.
3
+
description: Generate or edit a RevenueCat paywall with Paywall AI Editor, publish it, and display it through RevenueCatUI, or identify the exact dashboard handoff when an operation is unavailable. Use when creating or revising paywall design/copy, adding a paywall, presenting PaywallView, gating a premium screen, installing RevenueCatUI, or verifying paywall purchases on iOS, Android, Kotlin Multiplatform, Flutter, or React Native.
4
4
---
5
5
6
6
# revenuecat-paywall: display a RevenueCat paywall
@@ -24,7 +24,7 @@ If several match (e.g. an `ios/` folder inside a Flutter project), pick the **ou
24
24
## 2. Shared concepts (all platforms)
25
25
26
26
-**Paywalls require an Offering with a paywall attached in the RevenueCat dashboard.** The SDK pulls offerings via `getOfferings()`. If no offering has a paywall configured, RevenueCatUI falls back to a default paywall layout, which is not what you want in production.
27
-
-**Dashboard creation, publication, and app presentation are separate.**Use`rc paywalls create --offering-id <id>` for the attached draft, review it, then `rc paywalls publish <paywall-id> --yes`. Require a non-null `published_at`. Use `rc offerings preview <app-id>` to confirm the SDK response contains non-null `paywall_components`; null means fallback components. If the installed CLI lacks publish, use an authenticated MCP publish tool or hand off exactly: Paywalls → open draft → customize/review → Publish. Do not claim that creating a draft or installing RevenueCatUI published it.
27
+
-**Design, publication, and app presentation are separate.**Prefer`rc paywalls generate <offering-id> --prompt "<direction>" --context "<app context>"` to create an AI-designed draft and `rc paywalls edit <paywall-id> --prompt "<change>"` for revisions. These commands wait for Astra by default and return an editor URL; `--async` returns a task for `rc paywalls task <task-id> --wait`. They never publish. Review the resulting draft, then run `rc paywalls publish <paywall-id> --yes`. Require a non-null `published_at` and use `rc offerings preview <app-id>` to confirm non-null `paywall_components`. If AI generation is unavailable, use `rc paywalls create --offering-id <id>` for the default draft or the exact dashboard handoff. Do not claim that generating, editing, or installing RevenueCatUI published the paywall.
28
28
-**The active key selects the store products.** A debug build using `test_…` must render the Test Store products attached to each package; a release build using `appl_…` or `goog_…` must render the corresponding platform products attached to those same packages.
29
29
-**Offering vs. entitlement.** Users purchase a product through a package in an offering. Access is granted via an entitlement (typically `"premium"` or `"pro"`). Gate premium features on the entitlement, not on the offering.
0 commit comments