plan-catalog

Manage versioned billing plans and Stripe price bindings in a JSON catalog.

Updated May 13, 2026
One-click install
npx skills add https://github.com/dloschiavo/orca --skill plan-catalog
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: plan-catalog
Source: https://github.com/dloschiavo/orca/tree/main/recipes/plan-catalog
Command: npx skills add https://github.com/dloschiavo/orca --skill plan-catalog

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve?

This Skill helps manage billing plans and pricing tiers by providing a versioned JSON catalog that serves as the single source of truth for the entire application, ensuring consistent pricing data across all systems.

Core Features & Use Cases

  • Immutable Plan Entries: Plans are identified by immutable slugs, and changes are handled by adding new entries, preserving the integrity of existing subscriber terms.
  • Two-axis Lifecycle: Plans can be publicly offered or retired, with separate control over their visibility and billability.
  • Typed Loader: A robust loader validates and provides access to plan data, ensuring consistency and reducing the risk of billing errors.
  • Stripe Price Binding: Each plan is linked to a Stripe price ID, simplifying integration with payment processing.
  • Use Case: When implementing a new billing plan, this Skill allows you to add a new plan entry with a new slug and Stripe price, while keeping the old plan available for existing subscribers.

Quick Start

Add a new billing plan to the catalog using the add-plan command with the desired slug, tier, term, and price.

Frequently Asked Questions about plan-catalog

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I manage billing plans and pricing tiers without breaking existing subscriber terms?

A versioned JSON catalog manages billing plans by using immutable plan entries identified by unique slugs. Instead of modifying existing plans, you add new entries to update pricing tiers, which preserves the integrity and terms of current subscribers.

How do I integrate Stripe pricing with a JSON catalog for subscription services?

You integrate Stripe pricing with a JSON catalog by binding each plan entry to a specific Stripe price ID. This linkage simplifies payment processing integration and ensures consistent pricing data synchronization across your subscription services application.

What is the best way to retire a subscription plan while keeping it billable for current users?

The best way to retire a subscription plan while keeping it billable is using a two-axis lifecycle approach. This separates public visibility from billability, allowing you to stop offering a plan publicly while maintaining accurate billing for existing subscribers.

How do I validate pricing data in a JSON catalog to reduce billing errors?

You validate pricing data in a JSON catalog using a typed loader. This robust loader validates and provides access to plan data, ensuring consistency across your application and significantly reducing the risk of billing errors during plan management operations.

Do I need a Stripe API integration to manage a versioned pricing catalog?

Yes, you need a Stripe API integration to manage a versioned pricing catalog effectively. The catalog requires a JSON catalog file and a Stripe API integration to bind plan entries to Stripe price IDs for payment processing.

How do I add a new billing plan to a versioned catalog?

To add a new billing plan to a versioned catalog, use the add-plan command with the desired slug, tier, term, and price. This creates a new immutable entry linked to a Stripe price, keeping old plans available for existing subscribers.