Drive RevenueCat from the terminal with the `rc` CLI, an alternative to the RevenueCat MCP server for humans, CI, and agents. Covers install, authentication, command discovery, and output conventions. Use for uploading paywall images to the Media Gallery (`rc media-assets upload`) or custom paywall fonts (`rc fonts upload`) — MCP has no upload tools for these. Referenced by the other RevenueCat skills whenever they offer a CLI path.
95%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Passed
No findings from the security scan
rc is the official RevenueCat command line interface. It covers most of the same project, app, product, entitlement, offering, paywall, chart, and store-state operations as the RevenueCat MCP server (the CLI adds paywall generate/edit and paywall image/font upload; the MCP server has some SDK feature-gate and experiment tools the CLI does not). Use whichever surface is available; this skill is the reference for the CLI path.
The CLI needs a shell. Without one (for example in a chat app with only the MCP server), use MCP, or tell the user which rc command to run or which dashboard page to use.
Check it is installed: rc --version. If that fails, pick one:
npx @revenuecat/cli <command> everywhere rc appears below. Needs Node. Best for CI and agent sandboxes.brew install RevenueCat/tap/rc.npm install -g @revenuecat/cli.Installing changes the user's machine, so ask before running brew or npm install -g. npx needs no permission beyond running the command.
Check it is logged in: rc auth status --json. The CLI does not share the MCP server's login. If no credential is active, ask the user to run rc auth login themselves: it opens a browser for OAuth. In CI, set RC_API_KEY or pass --api-key.
Check the project: pass --project-id <id>, or have the user set a default with rc projects use.
The CLI authenticates with a RevenueCat secret key (sk_...); that is correct because the CLI is a server-side tool. This is not the same as the public SDK keys (appl_/goog_/amzn_) you fetch for client app code. Never put a secret key in an app, and never ask the user to paste one into the chat.
The CLI is self-describing. Don't guess a command or flag, ask the binary:
rc commands --json lists the full command tree. Capability IDs appear in colon form (apps:create, products:store:plan).rc commands --schemas --json returns every command's flags, args, and examples in one call. This is the most reliable way for an agent to discover per-command detail.rc schema <command> --json returns detail for a single command, but the command must be space-separated tokens (rc schema apps create), not the colon form from rc commands. rc schema apps:create silently returns the root schema, so when in doubt use rc commands --schemas.rc --help and rc <noun> --help give human-readable help.--json gives stable, machine-readable output. Data goes to stdout, progress and chatter to stderr.{ "data": ... }, but the shape under data varies by command: lists are usually data.items[], though some commands use other keys (charts use data.names[]). Inspect the schema or the response rather than assuming data.items.--no-input never prompts, it fails instead. Use it in scripts, CI, and agents.--yes / -y skips confirmation prompts on mutating commands.--project-id <id> selects the project (or set a default with rc projects use). Pass it explicitly in scripts.0 success, 1 error, 2 bad usage, 4 auth, 5 not found, 6 rate limited.Look up exact flags with rc commands --schemas --json (or rc schema <space-separated command>). The common nouns:
rc projects list|create|use, rc apps list|create|keysrc products ..., rc entitlements ..., rc offerings ..., rc packages ...rc setup apple|google, rc products store plan|apply|syncrc charts list|show, rc customers ...rc paywalls generate|edit|publish (dashboard design/audit playbook: revenuecat-paywall-design)rc media-assets list|upload <file>, rc fonts list|upload <file>. MCP cannot upload these; do not use the dashboard in a browser.rc open [section] [id] --print (resource URLs: revenuecat-dashboard-links)Images: jpg/png/webp/avif/heic/heif, up to 2 MiB. Fonts: ttf/otf, up to 5 MiB. Write or generate the file on disk first, then pass that path. Confirm flags with rc schema media-assets upload / rc schema fonts upload.
Prefer the specific command. Drop to rc api <METHOD> <path> only for endpoints not yet in the CLI surface.
RevenueCat/ai-toolkit
b87a47a
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.