New to Claude Skills? Learn how to install them →

Sstripe on GitHub

Stripe Projects

OfficialFree

Provision third-party services with Stripe Projects CLI.

by stripe1.7k stars on stripe/ai
Updated Aug 8, 2026
Get this skill

Free · Opens the source repo

What Stripe Projects does

Stripe Projects is a CLI plugin designed to streamline the process of provisioning infrastructure and third-party services directly from your terminal. This tool is particularly useful for developers and designers who frequently need to set up services like databases, authentication, hosting, and caching. By leveraging the Stripe Projects CLI, users can efficiently manage their service provisioning without needing to navigate multiple interfaces or manually handle API keys.

The workflow begins by ensuring that the Stripe CLI and the Projects plugin are installed. Once set up, users can search the service catalog to confirm the availability of requested providers or services. If a project isn't already initialized, the CLI provides preflight checks to identify any blockers, ensuring a smooth setup process. After initializing, the skill allows users to manage their project resources, including adding services and configuring credentials, all within a single interface.

This skill is ideal for teams looking to automate their infrastructure management and reduce the overhead of service setup. By providing a centralized command structure, Stripe Projects enhances productivity and minimizes the risk of errors that can occur when managing multiple services manually. Whether you're launching a new application or scaling existing services, this tool can significantly streamline your workflow.

When to use it

Use Stripe Projects when you need to quickly provision services like databases, authentication, or hosting directly from your command line.

When not to use it

This skill is not suitable for users who prefer a graphical interface for managing services or those who do not utilize Stripe's ecosystem.

What you can build with it

Setting Up a New Database

Quickly provision a new database using the Stripe Projects CLI, ensuring all necessary configurations are handled automatically.

Managing API Keys

Retrieve and manage API keys for various services directly from the command line, streamlining your development workflow.

Automating Service Provisioning

Integrate Stripe Projects into your CI/CD pipeline to automate the provisioning of services based on deployment needs.

How to install Stripe Projects

View source

1. Install with the skills CLI

npx skills add stripe/ai/stripe-projects --agent claude-code

2. Or install it manually

Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.

Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs

Inside SKILL.md

Written by stripe

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, run a preflight check first to reveal all blockers at once:

stripe projects init --preflight --json

If all preflight checks pass (or the only failures are TOS_ACCEPTANCE_REQUIRED or Stripe session authenticated), proceed:

stripe projects init --accept-tos --yes

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 --accept-tos --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.

Project Variables

Use project variables when the user wants to store an environment variable that doesn’t come from a provisioned provider resource, such as an app URL, feature flag, or self-managed API key.

Create or update a project variable for the active environment:

stripe projects variables set <name> --env-key <ENV_KEY> --value <value>

A successful variables set syncs the active environment output file immediately. If the user doesn’t provide the value, run the command without --value only in interactive mode so the CLI can prompt securely. Never print secret values in your response.

Bind an existing project variable to the active environment:

stripe projects env add <name> --variable --env-key <ENV_KEY>

Remove a variable binding from the active environment without deleting the stored variable:

stripe projects env remove <name> --variable

List and delete project variables:

stripe projects variables list --json
stripe projects variables delete <name> --yes

Error Handling

Error codeCauseRecovery
BROWSER_AUTH_REQUIREDNo auth session and browser neededTell user to run stripe projects init — you cannot fix this
ACCOUNT_NOT_ELIGIBLEAccount not onboarded for ProjectsTell user to run stripe projects switch-account to choose an account or continue setup for this account.
TOS_ACCEPTANCE_REQUIREDDeveloper or provider terms not acceptedRe-run with --accept-tos
PROVIDER_NOT_LINKEDProvider requires OAuth linkingRun stripe projects link <provider> — may open a browser
PLAN_REQUIREDDeployable needs a plan provisioned firstProvision the plan listed in the error, then retry
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

Frequently asked questions about Stripe Projects

Similar skills