connect-required-verification-information
Use this skill when the user asks what information a Stripe Connect connected account must provide for verification, onboarding, KYC, or account requirements; when they need to compare requirements between connected-account setups; or when they ask which verification fields, documents, or business d…
Install / Use
npx skills add stripe/ai --skill connect-required-verification-informationInstalls into whichever agent you are using.
SKILL.md
Installable skill definition
Quality Score
Category
Content & MediaSupported Platforms
Our assessment of connect-required-verification-information
connect-required-verification-information scores 94/100 on our quality scale, 157th of 881 Content & Media skills we index (top 18%).
Its SKILL.md is 28 KB long, well organised into 18 sections with 9 code examples: a thorough specification that gives an agent plenty to work with.
With 1,830 GitHub stars, it is one of the more widely adopted skills in the catalogue.
Maintenance, license and trust
- The repository was last updated 6 days ago, so connect-required-verification-information is actively maintained.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 100/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
Safety scan
No issues foundOur scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands.
Automated pattern scan on 2026-09-30. It catches known dangerous patterns, not every risk — read a skill before letting an agent act on it.
connect-required-verification-information compared with similar skills
All 4 of these similar skills score higher than connect-required-verification-information; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| connect-required-verification-information (this skill)by stripe | 94 | 1.8k | 6d ago | SKILL.md |
| siyuanby siyuan-note | 100 | 46.6k | today | MCP Server |
| algorithmic-artby anthropics | 100 | 177.9k | 7d ago | SKILL.md |
| pptxby anthropics | 100 | 177.9k | 7d ago | SKILL.md |
| designby nextlevelbuilder | 100 | 130.2k | 8d ago | SKILL.md |
Frequently asked questions
- How do I install connect-required-verification-information?
- Run
npx skills add stripe/ai --skill connect-required-verification-information. The install tabs above show the steps for each supported agent. - Which AI agents does connect-required-verification-information work with?
- It is written for Universal, as a SKILL.md file. Other agents that read the same format can often use it too.
- Is connect-required-verification-information safe to use?
- Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. It is MIT-licensed and scores 100/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is connect-required-verification-information still maintained?
- The repository was last updated 6 days ago, so connect-required-verification-information is actively maintained.
Skill content
View source on GitHubname: connect-required-verification-information description: >- Use this skill when the user asks what information a Stripe Connect connected account must provide for verification, onboarding, KYC, or account requirements; when they need to compare requirements between connected-account setups; or when they ask which verification fields, documents, or business details are required for a particular platform country, account country, business type, dashboard, service agreement, or capability.
Instructions
The human-accessible version of this documentation allows the user to select connected account fields and regions using a form, and then makes API requests to fetch and display the requirements a connected account with the selected configuration and region must provide. Follow these instructions to fetch the same information.
Interaction contract
Terminology used in this document:
field: a setup input such asplatformCountry,accountCountry, orcapabilitiesoption: a presented selectable option for a fieldvalue: the option the user selects, or the free-response value the user provides for a field
Every time you ask the user to provide a value for a field:
- use a multiple-choice question; never stop at a plain free-form prompt or wait for raw chat input
- if you need free user input, instruct the user to use the question’s free-response field
- for long option lists, explicitly say that any value from the full validated list is still accepted through the free-response field
- if the user already provided a valid answer in an earlier message, use that instead of asking again
Hard rules
You must follow these rules:
- Ask for a field only after all of its prerequisite fields are satisfied.
- Collect setup fields progressively as the flow advances.
- Ask for one field at a time, or one group of fields only when they are dependency-free at that point in the flow.
- For example, ask for
platformCountryandaccountCountryseparately: the platform country determines which account countries are valid, so asking both together can produce invalid combinations. But you may ask fordashboardType,tosType, andlegalEntityTypetogether in one group because their valid options are already known from the same response.
- For example, ask for
- If there is ever a conflict between the user’s request and the validated setup, inform the user of the conflict and ask them to revise their setup choices using the Interaction contract. Keep the validated setup aligned with what the user requested without silently dropping the conflict.
- Follow the Interaction contract for every user question.
- When the number of available options exceeds four, always print the full validated reference list before asking the multiple-choice question so the user can see the full option space.
- When printing countries, always print the full country name followed by its code in parentheses, for example,
Germany (DE). - In the multiple-choice question, include a small set of suggested options so the user can move forward with immediate clarity. The reference list above remains the authoritative full set.
- Leave the descriptions for the country suggested options blank.
- When printing countries, always print the full country name followed by its code in parentheses, for example,
- For any field with four or fewer valid options, show every valid option directly in the multiple-choice question. Do not print a separate reference list first.
- Every list of selectable options shown to the user must be pre-validated against all currently known constraints before you display it.
- Never display an option as selectable if you already know it will be removed, rejected, or auto-adjusted later in the flow.
- Present options that stay valid through the current flow.
- Ask about
capabilitiesafterplatformCountry,accountCountry, and the downstream validity constraints for that setup are resolved. - Only ask about
orrProgramwhen it is present in the publicprogramsreturned for the validated setup. - If the
businessStructuremap for the chosenlegalEntityTypeis empty or contains exactly one keynil, skipbusinessStructure. Otherwise, ask forbusinessStructureand always allow anoneoption or leave unselected as a suggested option in the multiple-choice question. - If the user decides to change an earlier choice like
platformCountry, you must invalidate and re-check all downstream fields before continuing. - Keep the dependency chain implicit. Share the information the user needs to make progress and keep the experience simple.
- Use external-facing language when talking to the user. See below to translate the internal API terminology.
Internal fields -> External language
| Internal field | External language |
| --- | --- |
| apiVersion | Accounts API version |
| platformCountry | Platform country |
| accountCountry | Account country |
| dashboardType | Dashboard type |
| tosType | Service agreement |
| legalEntityType | Business type |
| businessStructure | Business structure |
| capabilities | Capabilities |
| orrProgram | Requirements update |
| eu2025 | Europe |
Dependency chain
You must follow this dependency chain exactly:
flowchart TD
apiVersion["apiVersion"] --> capabilities
platformCountry --> accountCountry["accountCountry"]
accountCountry --> dashboardType["dashboardType"]
accountCountry --> tosType["tosType"]
accountCountry --> legalEntityType["legalEntityType"]
legalEntityType --> businessStructure["businessStructure (optional)"]
accountCountry --> capabilities["capabilities"]
accountCountry --> orrProgram["orrProgram (only if returned)"]
tosType --> capabilities
apiVersion --> capabilities
dashboardType --> finalRequest["final requirements request"]
apiVersion --> finalRequest
platformCountry --> finalRequest
accountCountry --> finalRequest
tosType --> finalRequest
legalEntityType --> finalRequest
businessStructure --> finalRequest
capabilities --> finalRequest
orrProgram --> finalRequest
Interpret the diagram literally:
- Ask for a node only after all of its incoming dependencies are resolved.
- Always ask the user for
apiVersionfirst. Recommendv2by default.
Inputs you eventually need
By the time you make the final requirements request, you must have validated values for all of the following fields:
apiVersion:v1orv2platformCountryaccountCountrydashboardTypetosTypelegalEntityTypecapabilities: at least one capability must be selected
You also must have asked for the following optional fields, if they’re applicable:
businessStructure: ask only whenlegalEntityTypeis notindividualorrProgram: ask only when present in the publicprogramslist for that validated setup
Resolve capabilities
Use this algorithm whenever you build or validate the capability list:
- Start from
country_map[accountCountry].capabilities. - Apply
tosTyperules:- if
tosType=recipient, forcetransfersand remove all other capabilities exceptcrypto_transfers, which may be available in rare cases - if
apiVersion=v1andcrypto_transfersis selected, also includetransfers
- if
- If
apiVersion=v2, drop any capability not present inget-v2-supported-v1-capabilities. - Show the user the filtered capability list. When the user explicitly asks about a filtered-out capability, clearly explain that the asked-for capability is unavailable for the current setup.
- If the filtered list is empty, tell the user that no capabilities are supported for the current setup and ask them to revise earlier setup choices using the Interaction contract before making the final requirements request.
- When asking about
capabilities, print the full filtered list first, then ask a multiple-choice question that includes the most likely choice or choices based on prior user context. - If the user asks for a capability outside the filtered list, explain why it is unavailable for the current setup.
- Keep the user’s requested capability visible in the conversation and explain the incompatibility directly. For example, if the user asks for
paypal_payments, but also selectedv2accounts, explain thatpaypal_paymentsis unavailable forv2accounts, and offer them the choice of switching toapiVersionv1and choosingpaypal_payments, or remaining withapiVersionv2and choosing a different capability.
Agent flow
When the user asks what verification information they need, use this flow:
- Ask for
apiVersion. Recommendv2. - Fetch
https://docs.stripe.com/_endpoint/get-platform-countriesand use the public supported list to ask forplatformCountry. - Fetch
https://docs.stripe.com/_endpoint/get-v2-supported-v1-capabilitiesifapiVersion=v2. - Fetch
https://docs.stripe.com/_endpoint/get-requirement-selections-for-platform-country?platformCountry=...with the chosenplatformCountry. - Ask for
accountCountryfrom the returnedcountry_mapkeys. - After
accountCountryis validated, ask for:dashboardTypetosTypelegalEntityType
- After
legalEntityTypeis chosen, ask forbusinessStructureif the validated structure map exposes it. - Resolve and ask for
capabilitiesusing Resolve capabilities. - Ask for
orrProgramonly if the validated setup exposes one or more public programs. - If the user’s requested setup doesn’t match the valid options, tell them exactly which parts are invalid or auto-adjusted, then ask the correcting follow-up using the Interaction contract. Keep the mismatch visible, keep the setup grounded in the user’s request, and continue with a structured follow-up question.
- Only after the setup is valid, call
https://docs.stripe.com/_endpoint/get-requirements-for-setupswith one top-level setup keyaccount-setup-A[...], includingaccount-setup-A[apiVersion],account-setup-A[platformCountry],account-setup-A[accountCountry],account-setup-A[dashboardType],account-setup-A[tosType],account-setup-A[legalEntityType], optionalaccount-setup-A[businessStructure], one or moreaccount-setup-A[capabilities][i], and optionalaccount-setup-A[orrProgram]. - At the end, you must call
https://docs.stripe.com/_endpoint/get-website-requirements-for-capabilities?capabilities[i]=...andhttps://docs.stripe.com/_endpoint/get-mcc-restrictions-for-capabilities?capabilities[i]=...with the final validated capabilities to check for additional information.
If you are asked to compare two setups or are asked what is needed to update from X to Y, you must follow the validation flow for setup A with a top-level account-setup-A[...] key and then follow the flow again for setup B with a second top-level key account-setup-B[...] before calling the diffable requirements request.
Treat transport or build failures as retryable helper failures, and reserve unsupported-setup conclusions for successful prerequisite fetches and business validation results.
curl examples
In these examples, set the docs host to the public site:
DOCS_HOST="https://docs.stripe.com"
Naive user: “What do I need to verify for a Stripe connected account?”
Ask for apiVersion. Recommend v2.
Fetch the public platform-country list:
curl --get "$DOCS_HOST/_endpoint/get-platform-countries"
Ask the user which platformCountry value they want to use. Then, fetch the allowed options for that platform country. This request tells you what is valid next, and you must use it before choosing downstream fields. For example, if the user chose US:
curl --get "$DOCS_HOST/_endpoint/get-requirement-selections-for-platform-country" \
--data-url
Truncated for display — read the full file on GitHub.
Related Skills
siyuan
46.6kAn open-source, privacy-first, self-hosted knowledge workspace where humans and AI agents work together 开源、隐私优先、自托管的知识工作空间,让人与智能体在此协作
algorithmic-art
177.9kCreating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems.
pptx
177.9kUse this skill any time a .pptx or .potx file is involved in any way — as input, output, or both. This includes: creating slide decks, pitch decks, or presentations; reading, parsing, or extracting text from any .pptx or .potx file (even if the extracted content will be used elsewhere, like in an em…
design
130.2kComprehensive design skill: brand identity, design tokens, UI styling, logo generation (55 styles, Gemini, Atlas Cloud, or MuAPI AI), corporate identity program (50 deliverables, CIP mockups), HTML presentations (Chart.js), banner design (22 styles, social/ads/web/print), icon design (15 styles, SVG…
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
