stripe-projects

작성자: stripe

Stripe Projects CLI 플러그인을 사용하여 타사 서비스를 프로비저닝하고 API 키/토큰을 검색합니다.

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

stripe projects init --preflight --json

If all preflight checks pass, or the only failure is TOS_ACCEPTANCE_REQUIRED, proceed:

stripe projects init --accept-tos --yes

If any check fails with BROWSER_AUTH_REQUIRED, PROJECTS_SESSION_UNUSABLE, or ACCOUNT_NOT_ELIGIBLE, stop here. Report that check’s message and remedy to the user verbatim and let them resolve it — clearing these requires a browser sign-in or a Dashboard visit you cannot perform. Do not run stripe projects init yourself and do not re-run the preflight: neither clears the blocker for you, since only the user can complete a browser sign-in or a Dashboard step.

Follow the remedy the failing check prints rather than assuming stripe login is the fix. If a Stripe CLI session already exists, stripe login reports that you are already logged in and exits 0 without changing anything — an exit code of 0 from a login command does not mean the blocker cleared.

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 once — the skill is bundled with the Projects plugin and installed during init. If the file is still missing after that single retry, or if init exits non-zero, report init’s error message to the user and stop. Do not keep re-running 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 Stripe session and browser sign-in neededTell the user to run stripe projects init themselves, in a terminal where they can finish the browser sign-in — you cannot fix this, and re-running it yourself will not clear it
PROJECTS_SESSION_UNUSABLEA Stripe CLI session exists, but Projects cannot read live-mode credentials from itReport the message and remedy verbatim and stop. Do NOT retry, and do NOT run stripe login — it reports you are already logged in and exits 0
ACCOUNT_NOT_ELIGIBLEAccount not onboarded for ProjectsTell the user to run stripe projects switch-account to choose an account, or continue setup for this account; report the remedy the CLI printed and stop
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

stripe의 다른 스킬

connect-required-verification-information
stripe
사용자가 Stripe Connect 연결 계정이 검증, 온보딩, KYC 또는 계정 요구사항을 위해 제공해야 하는 정보가 무엇인지 물을 때 이 스킬을 사용하십시오;…
stripe-apps
stripe
Stripe App을 구축, 수정 또는 검토할 때 사용합니다. 또는 사용자가 Stripe App을 암시하는 내용을 설명하는 경우(예: "고객 페이지에 패널 추가",…
stripe-directory
stripe
사용자가 특정 업종, 워크플로우, 문제점, 역량 또는 수행할 작업에 대해 비즈니스, 소프트웨어, 서비스 제공자 또는 파트너를 찾고자 할 때 사용합니다.
stripe-docs
stripe
사용자 또는 에이전트가 Stripe 문서나 API 참조를 읽거나, 검색하거나, 조회해야 할 때 사용합니다. docs.stripe.com...에 대해서는 curl이나 WebFetch보다 이 기능을 선호합니다.
connect-recommend
stripe
사용자가 Stripe Connect 설정, 결제 패턴, Dashboard 접근, 또는 Connect 시작 방법에 대해 물어보거나, 빌드 중일 때 이 스킬을 사용하세요…
stripe-best-practices
stripe
Stripe 통합 결정을 안내합니다: API 선택(Checkout Sessions vs PaymentIntents), Connect 플랫폼 설정(Accounts v2, 컨트롤러 속성),…
stripe-docs
stripe
사용자나 에이전트가 Stripe 문서 또는 API 참조를 읽거나, 검색하거나, 조회해야 할 때 사용합니다. docs.stripe.com…의 경우 curl이나 WebFetch보다 이 기능을 우선 사용하세요.
stripe-projects
stripe
사용자가 Stripe Projects를 사용하여 인프라 또는 타사 서비스를 프로비저닝하려고 할 때 사용합니다. 트리거: "데이터베이스가 필요해요", "인증 설정", "캐싱 추가",…