stripe-projectspor stripe

Provision third-party services and retrieve API keys/tokens using the Stripe Projects CLI plugin.

npx skills add https://github.com/stripe/ai --skill stripe-projects

Stripe Projects — Service Provisioning

Provision third-party services (databases, auth, hosting, analytics, caching, AI, observability) and retrieve API keys/tokens using the Stripe Projects CLI plugin.

Workflow

Step 1: Ensure Stripe CLI + Projects Plugin

Check if the Stripe CLI is available:

which stripe && stripe --version

If not installed or below version 1.40.0:

Then ensure the Projects plugin is installed:

stripe plugin install projects

Step 2: Search the Catalog

Confirm the requested provider/service exists:

stripe projects search <query> --json

If result_count is 0, inform the user the service was not found and stop.

If the user’s request is vague (for example, “I need a database”), browse the catalog to suggest options:

stripe projects catalog --json

Step 3: Initialize a Project

Check if a project is already initialized:

stripe projects status --json

If not initialized:

stripe projects init --yes

(don’t use ‘–json’ for this command)

If the CLI output indicates a browser was opened for authentication, stop and clearly tell the user to complete sign-in in their browser. Don’t run further commands until they confirm they’re done.

Important: stripe projects init installs the stripe-projects-cli skill locally at .claude/skills/stripe-projects-cli. This skill contains the full post-init command reference.

Step 4: Hand Off to stripe-projects-cli

Verify the skill was installed:

test -f .claude/skills/stripe-projects-cli/SKILL.md && echo "OK" || echo "MISSING"

If MISSING: re-run stripe projects init --yes — the skill is bundled with the Projects plugin and installed during init.

If OK: use the locally-installed stripe-projects-cli skill (invoke using the Skill tool with name stripe-projects-cli) to continue the workflow — adding services, managing credentials, and configuring the project.

Step 5: Summarize and Suggest

After a successful service addition, provide output in this format:

FieldValue
Provider<provider name>
Service<service type>
Tier<tier>
Env vars<variable names only — never values>

Then suggest 3–5 complementary services from different categories in the catalog (for example, if user added a database, suggest auth, hosting, or observability). Only reference services that actually appear in stripe projects catalog --json output — never fabricate commands or provider names.

CLI as Source of Truth

The CLI manages all state under .projects/ and generates .env files. Don’t hand-edit these files. If you need to inspect project state, use the appropriate CLI command:

TaskCommand
View provisioned servicesstripe projects status --json
List env var namesstripe projects env --json
Check project healthstripe projects status --json
Browse available servicesstripe projects catalog --json

Only inspect .projects/ or .env directly if the user explicitly asks you to — the CLI is authoritative, so manual edits may be overwritten.

Error Handling

Error codeCauseRecovery
PROVIDER_NOT_LINKEDProvider requires OAuth linkingRun stripe projects link <provider> — this may open a browser
UNKNOWN_ERRORUnexpected failureShow the full error message to the user and suggest running with --debug for diagnostics
Service not in catalogQuery returned 0 resultsInform user; suggest stripe projects catalog --json to browse alternatives
CLI not foundStripe CLI not installedInstall using Homebrew (macOS) or follow https://docs.stripe.com/stripe-cli/install