From stripe
Recommends Stripe Connect integration configuration for marketplaces, platforms, and multi-party payment systems based on business description.
How this skill is triggered — by the user, by Claude, or both
Slash command
/stripe:connect-recommendsonnetThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Recommend the right Stripe Connect integration shape. The user should only need to provide a company URL or describe their business — the skill figures out the rest.
Recommend the right Stripe Connect integration shape. The user should only need to provide a company URL or describe their business — the skill figures out the rest.
AskUserQuestion is the primary interaction tool. Every decision point in this skill MUST use AskUserQuestion with clear, numbered options and short descriptions. One question at a time — never overwhelm the user.
Auto-act on low-cost actions. Never ask permission for:
Never end with passive text. Every stopping point must end with an AskUserQuestion offering concrete next actions.
Before generating any user-facing output, read references/terminology-rules.md.
Apply those rules to all recommendation text, warnings, explanations, and decision summaries.
Key principle: describe configurations using field values (dashboard + fee ownership + negative balance liability ownership + charge pattern), not shorthand codes.
Keep responses concise. The user is making decisions, not reading documentation.
Only surface out-of-scope limitations when they are directly relevant to what the user asked about. Do not proactively list constraints or unsupported features (e.g., OAuth, international expansion) when the user has not asked about them. "Out-of-scope" here means outside what this guide supports, not outside what Stripe supports. Research these topics in Stripe's public documentation (docs.stripe.com) rather than saying they're out-of-scope.
Display the progress checklist so the user knows what to expect:
Here's what we'll do:
[ ] Learn about your business
[ ] Scan your project
[ ] Recommend configuration + charge pattern
[ ] Produce recommendation plan
Let's get started.
This is the most important step. Before scanning any code or asking technical questions, understand what the business is.
1a. Check if the user already provided a URL or business description in their message. Look for:
https://..., www., .com, .io)1b. If nothing was provided, ask immediately using AskUserQuestion — this is the FIRST question the user sees:
Tell me about your business. Pick whichever is easiest:
Options:
1c. Research the business — invoke the company-researcher agent:
Use the Task tool with subagent_type: "general-purpose" to invoke the company-researcher agent. In your prompt, include:
agents/company-researcher.md for its instructionsThe agent will return a structured analysis with confidence levels (HIGH/MEDIUM/LOW) for each decision dimension.
1d. Parse the agent's output — it returns a Research Findings table with confidence levels per dimension. Read the decision matrix at skills/connect-recommend/references/decision-matrix.md and map the findings to a recommended configuration. Then determine pre-fill behavior per dimension:
1e. Present what you learned to the user (use second-person, conversational confirmation tone):
Here's what I gathered about your business — let me know if anything looks off:
┌──────────────────────────┬────────────────────────────────┐
│ *Business type* │ [marketplace or SaaS platform] │
├──────────────────────────┼────────────────────────────────┤
│ *Sellers/providers* │ [who they are] │
├──────────────────────────┼────────────────────────────────┤
│ *Buyers/customers* │ [who they are] │
├──────────────────────────┼────────────────────────────────┤
│ *How money flows* │ [payment flow] │
├──────────────────────────┼────────────────────────────────┤
│ *Fee structure* │ [fee details] │
└──────────────────────────┴────────────────────────────────┘
Based on this, I'd recommend: [configuration description in plain language]
I'll proceed with this unless you'd like to correct anything.
For MEDIUM confidence items, append: "I'm also assuming [X] — sound right?"
If the agent flags "not-connect" (business doesn't need Connect), use AskUserQuestion:
Based on my research, your business may not need Stripe Connect — a standard Stripe integration might be a better fit.
Options:
Update the checklist:
[x] Learn about your business
[ ] Scan your project
[ ] Recommend configuration + charge pattern
[ ] Produce recommendation plan
1f. Validate fee economics (ALWAYS runs, even on auto-filled values)
If the platform fee (from auto-fill or user input) appears low AND any of these conditions apply:
destination or separate (platform pays Stripe fees by default)direct AND fees_collector: "application" (platform still pays Stripe fees)Then:
application_fee_amount as platform fee + estimated Stripe processing fee (so the platform's margin is preserved) and (if platform owns pricing) using the Platform Pricing ToolThis check MUST run even when the fee was auto-filled with HIGH confidence. The user needs to understand the fee economics before proceeding.
Run this AFTER Step 1 (or in parallel if the user said "scan my codebase"). Use codebase signals to supplement or corroborate the company research. Do not ask before scanning — just scan.
connect-recommend-plan.md or any file at the project root that resembles a prior recommendation plan (e.g., contains ## Recommended Connect integration plan). If found, read it and note the prior configuration — use it to pre-fill or validate decisions in later steps, and surface it to the user before asking questions they've already answered.connected_account, account_id, stripe_account)destination, on_behalf_of, transfer_data, separate_charges)transfers.create, payouts.create)account.updated, capability, payout)application_fee_amount usageIf codebase signals contradict the company research, note the discrepancy and ask the user to clarify.
Present findings briefly (don't repeat what Step 1 already covered):
Project scan:
- Existing Connect plan: [found at path / not found]
- Existing Connect integration: [patterns found / not found]
If a prior plan was found, use AskUserQuestion:
I found an existing Connect recommendation plan at [path].
Options:
Update the checklist:
[x] Learn about your business
[x] Scan your project
[ ] Recommend configuration + charge pattern
[ ] Produce recommendation plan
For any dimension not already filled with HIGH confidence from Step 1, ask the corresponding question using AskUserQuestion. Skip dimensions that were auto-filled or explicitly confirmed.
Read references/discovery-questions.md for complete question scripts, option mappings, and edge-case logic for Step 3, Step 3b (hybrid flows), Step 3c (sales-led/scope detection), and the fee-structure checkpoint.
If Step 1 was skipped entirely, ask all six discovery questions one at a time:
application_fee_amount calculationCritical guardrails (must enforce in all discovery paths):
dashboard, defaults.responsibilities, and merchant/recipient by funds flow), not legacy account types.dashboard: "none" is selected, include a concise full-scope warning about custom UI responsibilities.losses_collector: "application", explain the causal chain: platform owns negative balance liability and connected-account negative balances enable dispute-time transfer reversals.on_behalf_of, cross-border complexity, non-Connect products, or sales-gated configs).Fee structure checkpoint before Step 4:
application_fee_amount is calculatedRead the decision matrix at skills/connect-recommend/references/decision-matrix.md and apply it to the user's answers.
Step 4a — Compatibility validation (MANDATORY before presenting recommendation)
Read skills/connect-recommend/references/compatibility-matrix.md and cross-check the proposed (dashboard, fees_collector, losses_collector) + chargePattern combination against the compatibility matrix.
BLOCKED combination? Do NOT present it. Output a visible BLOCKED warning with ALL of these:
losses_collector: "stripe" + destination charges)losses_collector to "application" or switching to direct charges)
Then re-run the recommendation with the corrected configuration.CAUTION combination? Present the recommendation but include a visible warning callout explaining the specific tradeoff (e.g., "dashboard visibility limitations for direct charges when using dashboard: \"express\"").
Additional compatibility checks (include concise warnings when triggered):
dashboard: "none", include a concise warning that the platform must own onboarding/remediation, refund/dispute flows, and earnings/payout surfaces; recommend Express dashboard with embedded components as a lower-maintenance alternative.dashboard: "full" + charge pattern is destination or separate, include a concise warning that full dashboard is optimized for direct charges and recommend switching dashboard type or charge pattern.dashboard: "express" + fees_collector: "stripe", treat as BLOCKED and recommend either switching to full dashboard (Stripe-owned pricing) or platform-owned pricing.Merchant-of-record consistency check: Verify the recommended charge type matches the actual business relationship. Direct charges = connected account provides goods/services directly. Destination/separate charges and transfers = platform owns the customer relationship. Stripe does NOT enforce merchant of record at the API level — the code must be consistent.
Compatibility warning brevity: Keep compatibility warning copy concise (2-3 sentences max), but include mechanism-aware reasoning and the corrective path.
Step 4b — Recommend embedded components
Embedded components are recommended, as they enable platforms to build full-featured dashboards of their own, especially when accounts are configured with dashboard: "none" and even if accounts are configured with (dashboard: "full" or dashboard: "express"). Select components based on user needs:
Baseline (always include):
account_onboardingnotification_banner (required; keeps connected accounts healthy/enabled as requirements evolve)account_managementCommon additions:
payments (use payment_details if building a custom payments list)payments but can use disputes_list if also building a standalone disputes pagepayoutsbalance_report, payout_reconciliation_reportCharge-pattern compatibility caveats:
on_behalf_of): payment/dispute surfaces show reduced detail. The destination_on_behalf_of_charge_management setting does not apply to plain destination charges.on_behalf_of: payment/dispute surfaces show reduced detail unless destination_on_behalf_of_charge_management is enabled. This setting applies only to destination charges that use the on_behalf_of parameter — not plain destination charges or separate charges.When recommending payment or dispute components with destination charges that use on_behalf_of, add:
"Enable destination_on_behalf_of_charge_management only if the platform is using destination charges with on_behalf_of and wants their connected accounts to view payment details, manage refunds, or manage disputes, and the integration handles the required transfer reversals when there are disputes. This applies only to destination charges with the on_behalf_of parameter, not plain destination charges or separate charges."
Out of scope component families:
Be prepared to output a list of embedded components in the next step.
Update the checklist:
[x] Learn about your business
[x] Scan your project
[x] Recommend configuration + charge pattern
[ ] Produce recommendation plan
Read references/recommendation-template.md and follow its "Output requirements" checklist and "Canonical recommendation template" structure. That file is the single source of truth for required sections, wording, and formatting. If any required section is missing from your output, add it before moving on.
Then use AskUserQuestion:
Does this recommendation look right?
Options (max 4 — AskUserQuestion hard limit):
Generate the final recommendation plan. If the user asks, also write the exact same markdown to connect-recommend-plan.md at the project root.
When they accept the plan, update the checklist:
[x] Learn about your business
[x] Scan your project
[x] Recommend configuration + charge pattern
[x] Produce recommendation plan
Show a compact summary of decisions and immediate implementation priorities.
Briefly explain:
application_fee_amount math, transfer/reversal handling, and webhook handlersIMPORTANT: Always end with AskUserQuestion. Never end with passive text.
Use AskUserQuestion:
What would you like to do next?
Options:
connect-recommend-plan.md and build" — write the plan to a markdown file and handoff to a coding agentnpx claudepluginhub stripe/ai --plugin stripeGuides Stripe API choices for payments (Checkout Sessions vs PaymentIntents), Connect Accounts v2, billing/subscriptions, Treasury accounts, Payment Element, and deprecated migrations.
Guides Stripe integration decisions — API selection, Connect platform setup, billing/subscriptions, integration surfaces, and security best practices for payments, marketplaces, and subscriptions.
Guides Stripe payment integration including checkout, subscriptions, webhooks, refunds, and PCI-compliant flows. Useful for implementing payment processing in web/mobile apps.