Skip to content

Commit b34f9be

Browse files
authored
Merge pull request #19 from RevenueCat/skills/play-billing-plugin
Add revenuecat-play-billing plugin + play billing library skill sets
2 parents 81262a3 + 804914f commit b34f9be

34 files changed

Lines changed: 3383 additions & 5 deletions

File tree

.agents/plugins/marketplace.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,12 @@
66
"source": { "source": "local", "path": "./revenuecat" },
77
"policy": { "installation": "AVAILABLE", "authentication": "ON_INSTALL" },
88
"category": "Productivity"
9+
},
10+
{
11+
"name": "revenuecat-play-billing",
12+
"source": { "source": "local", "path": "./revenuecat-play-billing" },
13+
"policy": { "installation": "AVAILABLE" },
14+
"category": "Productivity"
915
}
1016
]
1117
}

.claude-plugin/marketplace.json

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,18 @@
1818
"repository": "https://github.com/RevenueCat/ai-toolkit",
1919
"license": "MIT",
2020
"keywords": ["revenuecat", "subscriptions", "iap", "in-app-purchases", "mobile"]
21+
},
22+
{
23+
"name": "revenuecat-play-billing",
24+
"source": "./revenuecat-play-billing",
25+
"description": "Deep Google Play subscription lifecycle skills for the RevenueCat Android SDK — purchases, plan and price changes, payment recovery, webhooks, security.",
26+
"version": "1.0.0",
27+
"category": "developer-tools",
28+
"author": { "name": "RevenueCat" },
29+
"homepage": "https://www.revenuecat.com/guides/revenuecat-android-sdk",
30+
"repository": "https://github.com/RevenueCat/ai-toolkit",
31+
"license": "Apache-2.0",
32+
"keywords": ["revenuecat", "android", "google-play", "play-billing", "subscriptions", "iap"]
2133
}
2234
]
2335
}

.cursor-plugin/marketplace.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@
1212
{
1313
"name": "revenuecat",
1414
"source": "./revenuecat"
15+
},
16+
{
17+
"name": "revenuecat-play-billing",
18+
"source": "./revenuecat-play-billing"
1519
}
1620
]
1721
}
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
name: Sync Play Billing skills
2+
3+
# Pull-based sync for the revenuecat-play-billing plugin. The source of truth
4+
# is the revenuecat/ collection in RevenueCat/play-billing-skills; this
5+
# workflow regenerates the vendored copy and opens a PR when it changed.
6+
#
7+
# Requires the repo setting "Allow GitHub Actions to create and approve pull
8+
# requests" (Settings → Actions → General → Workflow permissions).
9+
10+
on:
11+
schedule:
12+
- cron: '0 9 * * 1' # Mondays 09:00 UTC
13+
workflow_dispatch:
14+
15+
permissions:
16+
contents: write
17+
pull-requests: write
18+
19+
jobs:
20+
sync:
21+
runs-on: ubuntu-latest
22+
steps:
23+
- uses: actions/checkout@v4
24+
25+
- name: Check out play-billing-skills
26+
uses: actions/checkout@v4
27+
with:
28+
repository: RevenueCat/play-billing-skills
29+
path: .play-billing-skills
30+
31+
- name: Set up Node.js
32+
uses: actions/setup-node@v4
33+
with:
34+
node-version: '20'
35+
36+
- name: Sync skills
37+
run: |
38+
node scripts/sync-play-billing.mjs .play-billing-skills
39+
rm -rf .play-billing-skills
40+
41+
- name: Create pull request
42+
uses: peter-evans/create-pull-request@v7
43+
with:
44+
branch: sync/play-billing-skills
45+
delete-branch: true
46+
commit-message: Sync Play Billing skills from play-billing-skills
47+
title: Sync Play Billing skills from play-billing-skills
48+
body: |
49+
Automated sync of the `revenuecat/` collection from
50+
[RevenueCat/play-billing-skills](https://github.com/RevenueCat/play-billing-skills)
51+
into the `revenuecat-play-billing` plugin.
52+
53+
Generated by `.github/workflows/sync-play-billing.yml` via
54+
`scripts/sync-play-billing.mjs`.

.github/workflows/validate.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,10 @@ jobs:
2626
revenuecat/.claude-plugin/plugin.json \
2727
revenuecat/.cursor-plugin/plugin.json \
2828
revenuecat/.codex-plugin/plugin.json \
29-
revenuecat/gemini-extension.json; do
29+
revenuecat/gemini-extension.json \
30+
revenuecat-play-billing/.claude-plugin/plugin.json \
31+
revenuecat-play-billing/.cursor-plugin/plugin.json \
32+
revenuecat-play-billing/.codex-plugin/plugin.json; do
3033
echo "Validating $f..."
3134
node -e "JSON.parse(require('fs').readFileSync('$f','utf8'))" \
3235
&& echo " OK" \

CHANGELOG.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,17 @@ All notable changes to the RevenueCat AI Toolkit will be documented in this file
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [2.1.0] - 2026-06-04
9+
10+
### Added
11+
12+
#### Plugins
13+
14+
- **revenuecat-play-billing** — New skills-only plugin with 20 deep Google Play subscription lifecycle skills for the RevenueCat Android SDK (purchase flow, plan and price changes, payment recovery, subscription states, webhooks, security, and more). Vendored from [RevenueCat/play-billing-skills](https://github.com/RevenueCat/play-billing-skills) (the source of truth) with an `rc-` skill prefix; licensed Apache-2.0
15+
- Sync automation: `scripts/sync-play-billing.mjs` (`npm run sync:play-billing`) and a weekly `sync-play-billing.yml` workflow that opens a PR when the source collection changes
16+
17+
---
18+
819
## [2.0.0] - 2026-05-06
920

1021
### Added
@@ -103,5 +114,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
103114
- Store-specific setup instructions (App Store Connect, Google Play Console)
104115
- Configuration validation and issue highlighting
105116

117+
[2.1.0]: https://github.com/RevenueCat/ai-toolkit/compare/v2.0.0...v2.1.0
106118
[2.0.0]: https://github.com/RevenueCat/ai-toolkit/compare/v1.0.0...v2.0.0
107119
[1.0.0]: https://github.com/RevenueCat/ai-toolkit/releases/tag/v1.0.0

README.md

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,22 +4,34 @@ Configure RevenueCat projects, products, entitlements, and offerings directly fr
44

55
The AI toolkit is distributed as a marketplace (containing a single plugin) for Claude Code, Cursor, Codex, and Visual Studio, and as an extension for Gemini.
66

7+
## Plugins
8+
9+
This marketplace ships two plugins:
10+
11+
| Plugin | What it does |
12+
|---|---|
13+
| `RevenueCat` | The RevenueCat MCP server (project configuration and data access) plus cross-platform integration skills for iOS, Android, Kotlin Multiplatform, Flutter, and React Native. |
14+
| `revenuecat-play-billing` | Deep Google Play subscription lifecycle skills for the RevenueCat Android SDK — purchases, plan and price changes, payment recovery, webhooks, security. Synced from [RevenueCat/play-billing-skills](https://github.com/RevenueCat/play-billing-skills), which is the source of truth. |
15+
16+
Most users want the `RevenueCat` plugin. Add `revenuecat-play-billing` on top if you ship Android and want handbook-level depth on Google Play billing behavior.
17+
718
## Installation
819

920
### Claude Code CLI
1021

1122
From within Claude Code
1223

1324
```
14-
/plugin
25+
/plugin
1526
```
16-
Then select `Marketplace`, `+ Add Marketplace`, enter `RevenueCat/ai-toolkit`. Then, select the `RevenueCat` plugin.
27+
Then select `Marketplace`, `+ Add Marketplace`, enter `RevenueCat/ai-toolkit`. Then, select the `RevenueCat` plugin. If you ship Android and want handbook-level Google Play depth, also select `revenuecat-play-billing`.
1728

1829
Or from the command line:
1930

2031
```
2132
claude plugins marketplace add RevenueCat/ai-toolkit
2233
claude plugins install RevenueCat
34+
claude plugins install revenuecat-play-billing
2335
```
2436

2537

@@ -53,6 +65,8 @@ Then, in the Codex app, click on "Plugins". From the "Built by OpenAI" dropdown,
5365
gemini extensions install https://github.com/RevenueCat/ai-toolkit
5466
```
5567

68+
Gemini has no marketplace and supports a single extension per repository, so it installs the `RevenueCat` plugin only. The `revenuecat-play-billing` plugin is available on Claude Code, Cursor, Codex, and VS Code.
69+
5670

5771
### Visual Studio Code
5872

@@ -128,4 +142,4 @@ The plugins contain the RevenueCat MCP server setup and uses it to access your R
128142

129143
## License
130144

131-
MIT License — see [LICENSE](LICENSE) for details.
145+
MIT License — see [LICENSE](LICENSE) for details. The `revenuecat-play-billing` plugin is synced from [RevenueCat/play-billing-skills](https://github.com/RevenueCat/play-billing-skills) and is licensed under Apache 2.0 — see [revenuecat-play-billing/LICENSE](revenuecat-play-billing/LICENSE).

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
{
22
"name": "ai-toolkit",
3-
"version": "2.0.0",
3+
"version": "2.1.0",
44
"description": "RevenueCat plugin marketplace for AI coding assistants",
55
"type": "module",
66
"scripts": {
7+
"sync:play-billing": "node scripts/sync-play-billing.mjs"
78
},
89
"license": "MIT",
910
"author": {
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
{
2+
"name": "revenuecat-play-billing",
3+
"description": "Deep Google Play subscription lifecycle skills for the RevenueCat Android SDK — purchases, plan and price changes, payment recovery, webhooks, security. From the RevenueCat Android SDK handbook.",
4+
"version": "1.0.0",
5+
"license": "Apache-2.0",
6+
"keywords": ["revenuecat", "android", "google-play", "play-billing", "subscriptions", "iap"],
7+
"author": {
8+
"name": "RevenueCat",
9+
"url": "https://www.revenuecat.com",
10+
"email": "support@revenuecat.com"
11+
},
12+
"homepage": "https://www.revenuecat.com/guides/revenuecat-android-sdk",
13+
"repository": "https://github.com/RevenueCat/ai-toolkit"
14+
}
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
{
2+
"name": "revenuecat-play-billing",
3+
"version": "1.0.0",
4+
"description": "Deep Google Play subscription lifecycle skills for the RevenueCat Android SDK — purchases, plan and price changes, payment recovery, webhooks, security.",
5+
"homepage": "https://www.revenuecat.com/guides/revenuecat-android-sdk",
6+
"repository": "https://github.com/RevenueCat/ai-toolkit",
7+
"license": "Apache-2.0",
8+
"keywords": ["revenuecat", "android", "google-play", "play-billing", "subscriptions", "iap"],
9+
"skills": "./skills/",
10+
"author": {
11+
"name": "RevenueCat",
12+
"url": "https://github.com/RevenueCat",
13+
"email": "support@revenuecat.com"
14+
},
15+
"interface": {
16+
"displayName": "RevenueCat Play Billing",
17+
"shortDescription": "Google Play billing depth for the RevenueCat Android SDK.",
18+
"longDescription": "Deep Google Play subscription lifecycle skills for the RevenueCat Android SDK — purchases, plan and price changes, payment recovery, webhooks, security. From the RevenueCat Android SDK handbook.",
19+
"developerName": "RevenueCat",
20+
"category": "Productivity",
21+
"capabilities": ["read"],
22+
"websiteURL": "https://www.revenuecat.com",
23+
"privacyPolicyURL": "https://www.revenuecat.com/privacy",
24+
"termsOfServiceURL": "https://www.revenuecat.com/terms",
25+
"brandColor": "#F2545B",
26+
"logo": "./assets/logo.png",
27+
"composerIcon": "./assets/logo.png",
28+
"defaultPrompt": [
29+
"Implement the RevenueCat purchase flow in my Android app.",
30+
"Handle a failed renewal with a grace period on Android.",
31+
"Consume RevenueCat webhooks on my backend."
32+
]
33+
}
34+
}

0 commit comments

Comments
 (0)