本文へ移動
cccskills
無料GitHub で公開

build-a-stripe-integration

Write Stripe code against what the API does today — plan the product shape, confirm every parameter from Stripe's own docs and schemas, and keep the agent in a sandbox. Use when adding checkout, billing, subscriptions, invoicing, or webhooks to a codebase, or when debugging Stripe integration code that compiles but behaves wrong.

インストール方法を見る

含まれるファイル(1)

  • SKILL.md4.9 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Confirm the API, do not recall it

Stripe's API is large, versioned, and still moving. Model memory of it is a snapshot of whatever was true at training time, and the failure mode is not a compile error: it is a field that is accepted and quietly ignored. Every parameter you write should have come from a tool call in this session.

1. Pick the product before the endpoint

Run stripe_implementation_planner with what the integration has to do. The first decision is which Stripe product owns the flow, and it is hard to reverse:

  • A one-off payment with a page Stripe hosts is Checkout.
  • A one-off payment inside your own UI is either embedded Checkout or PaymentIntents with Elements. Pick on how much of the checkout behavior you want Stripe to own, not on where the form renders; staying inside your UI does not oblige you to build the flow yourself.
  • Anything recurring is Billing, with prices and subscriptions, not a payment you re-run on a timer.
  • Charging after the fact with terms is Invoicing.

Writing a custom recurring charge loop on top of PaymentIntents is the common wrong turn, and it costs retries, proration, tax, and the customer portal.

2. Read the current docs, then cite them

search_stripe_documentation before you write the first line, and link what you used. If a doc disagrees with what you expected, the doc is right. Watch for guidance that changed: the parameter that moved, the field that is now a nested object, the method that is superseded.

3. Get parameters from the schema, never from memory

stripe_api_search finds the method, stripe_api_details gives its real parameters and types. Do this even for calls you are sure of.

A misspelled parameter is usually the easy case: Stripe answers a name it does not recognize with an invalid_request_error naming the field, so you normally find out at once. Normally, not always, because what an endpoint accepts is the endpoint's business and the docs promise no blanket rule. The expensive case is a parameter that is real but wrong here, and it has three shapes. A field that belongs to a sibling endpoint. A field nested at the wrong level, where Stripe sees the flat name as unknown and the value you meant never arrives. And a field that is accepted and does something other than what its name suggests, which no error can catch for you. The schema is what separates the three.

4. Stay in a sandbox

Create nothing in live mode while building. Use a sandbox account and test cards. For anything time-based, such as a trial ending or a renewal, create a test clock and move it, instead of waiting or faking dates in your own code. Test clocks are the only honest way to prove renewal logic works.

5. Make webhooks the source of truth

A browser returning from Checkout proves the browser came back, nothing more. Fulfilment, entitlement, and subscription state belong to webhook events. Verify the signature, respond quickly, and make the handler idempotent: Stripe retries, and events can arrive out of order. An integration that grants access on a redirect is an integration that grants access to anyone who can replay a URL.

6. Keep keys out of the code

Secret keys live in the environment, never in a repo, a client bundle, or a log line. When adding a new call path, read how the codebase already talks to Stripe and extend that path rather than opening a second one with its own key handling.

Anti-patterns

  • Recalling a parameter list. Confirm it. A wrong name errors loudly; a wrong nesting or the right name from the wrong endpoint does not.
  • Rolling your own recurring billing. Proration, tax, dunning, and the portal are the product you are skipping.
  • Trusting the redirect. The webhook is the event; the redirect is a hint.
  • Storing card data. Hand it to Stripe and keep its reference. For a payment you will make again later that reference is a PaymentMethod saved on a Customer, set up with a SetupIntent or setup_future_usage, not a Token: a Token is single use, so reusing one fails on the second charge. Taking card data yourself changes your compliance scope.
  • Amounts as floats. Stripe takes integers in the smallest currency unit, and currencies with no minor unit break a hardcoded divide by 100.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

10x

無料

Personalized audit that teaches the advanced Superset features the user isn't using yet (automations, parallel agents, tasks, multi-host, terminal remote control, custom commands, MCP, pages) and sets them up live. Use when the user wants to get more out of Superset, asks "what else can Superset do", "how do I 10x my workflow", "what am I missing", or wants to learn a specific Superset feature.

日本語の概要は準備中です。原文の説明を表示しています。

superset-sh/superset1.5万2026年10月13日 更新

automate

無料

Turn a recurring chore into a Superset automation. Drafts the agent prompt, confirms the schedule or event trigger and the target, creates it with the CLI, and reviews the first run together. Use when the user wants a scheduled or recurring agent, a daily or weekly job, or an agent that reacts to a Slack message, GitHub pull request, Linear issue, Sentry issue or incoming email, or says things like "every morning do X", "automate this", "set up a cron agent", "run this on a schedule", "when someone opens a PR, do X".

日本語の概要は準備中です。原文の説明を表示しています。

superset-sh/superset1.5万2026年10月13日 更新

browser

無料

Open, navigate, screenshot, read, click, and type in web pages from an agent. Use when the user asks to open a URL, preview or verify a running web app, check a page's console, fill a form, click through a web flow, or automate anything in a browser, including "open localhost:3000", "screenshot the page", "what does the console say", "click the submit button", "I'm logged in on Chrome". Drives the in-app browser pane of a Superset workspace by default and Browser Use for browsers the panes cannot reach.

日本語の概要は準備中です。原文の説明を表示しています。

superset-sh/superset1.5万2026年10月13日 更新

Verify UI behavior end-to-end by driving the running desktop app over the Chrome DevTools Protocol. Use when asked to verify, reproduce, or confirm a UI change, bug, or regression in the real app rather than in tests.

日本語の概要は準備中です。原文の説明を表示しています。

superset-sh/superset1.5万2026年10月13日 更新

ci-triage

無料

Diagnose a failing GitHub Actions run — find the first real error in the logs, tell a flake apart from a genuine failure, and identify the commit that broke it. Use when checks are red on a PR, a workflow failed, the build is broken, CI is flaky, or the user asks why a run failed or whether a failure is real.

日本語の概要は準備中です。原文の説明を表示しています。

superset-sh/superset1.5万2026年10月13日 更新

computer

無料

Operate the user's real desktop apps and windows on macOS, Windows, or Linux. Use when the user asks to open or drive a native app, click or type in a desktop UI, inspect or arrange a window, use their signed-in system browser, or verify an end-to-end GUI flow, including "open Settings and turn on dark mode", "click Save in that window", "what's on screen". Uses an accessibility-first driver (Cua Driver by default, Peekaboo on macOS). Not for Superset's in-app browser pane, headless scraping, or anything an API or CLI can do directly.

日本語の概要は準備中です。原文の説明を表示しています。

superset-sh/superset1.5万2026年10月13日 更新

superset-sh のスキルをすべて見る

このスキルの問題を報告する