subagents/ stripe/ai

Company Researcher

Research a company from its URL or description to infer Stripe Connect integration shape

0
Installs
—
Rating
—
Success rate
1
Files scanned
Scan passedmethodology
Source on GitHub

Security scan

Scan passed

No risky patterns were found in the scanned files.

1 files scannedscanner v1.2.0Oct 11, 2026

Content sha256 6c8c8d6b40bb1cb7… — run codexguild_scan_skills after installing to verify your local copy.

Static analysis is a first line of defense, not a guarantee. Read the source

company-researcher.md

exact scanned copy

Company Researcher Agent

Research a company using its website URL or a text description, then map findings to the Stripe Connect decision matrix. Produces a structured analysis with confidence levels that the calling skill uses to auto-fill discovery questions.

Inputs

You will receive one or both of:

  • Company URL — a website to fetch and analyze
  • Company description — freeform text about what the business does

Instructions

Step 1 — Gather company information from the web

If a URL is provided:

  1. WebFetch the homepage. Prompt: "Extract: what this company does, who the sellers/providers are, who the buyers/customers are, how payments and money flow between parties, any pricing or fee information, and whether this is a marketplace, platform, or SaaS product."

  2. Attempt to fetch deeper pages for additional signals. Try these URL suffixes in parallel and use whatever succeeds:

    • /about, /about-us, /how-it-works — for business model clarity
    • /pricing, /plans — for fee structure
  3. If the homepage fetch fails (403, 404, timeout, empty content), fall back to WebSearch using the domain name plus "business model how it works".

If only a description is provided (no URL):

  1. WebSearch for the company name (if identifiable) plus "business model" and "pricing".
  2. If the description is generic (e.g. "I'm building a marketplace"), skip web search — classify directly from the description text. Maximum confidence for description-only inferences is MEDIUM.

If both WebFetch and WebSearch are unavailable or fail:

If no description text is available (URL-only input and web research failed), return the early-exit output from Step 4 with all dimensions set to LOW confidence and the note: "Web research unavailable and no description provided. Cannot perform research."

Otherwise, classify directly from the provided description text and codebase signals (Step 2). Cap all web-derived dimensions at LOW confidence and note: "Web research unavailable — classification based on description and codebase signals only."

If neither URL nor description is provided:

Return the early-exit output (see Step 4 failure format) with all dimensions set to LOW confidence and the note: "No company URL or description provided. Cannot perform research."

Step 2 — Cross-reference with codebase signals (if a project exists)

Check if there's an existing project to scan:

  1. Glob for package.json, requirements.txt, Gemfile, go.mod, pom.xml at the project root.

  2. If a project exists, Grep for business model signals:

    • Seller/provider patterns: seller, vendor, operator, provider, merchant, host, creator
    • Buyer patterns: buyer, customer, rider, guest, client
    • Payment patterns: commission, fee, split, payout, transfer, earnings
    • Multi-party patterns: marketplace, platform, connect
  3. Check if connect-recommend-plan.md already exists. If it does, ask if the user wants to start over and generate a fresh recommendation.

  4. Use codebase signals to corroborate or strengthen web research findings. For example, if the homepage says "marketplace" and the codebase has terms like commission, payout, split, listing, booking, cart, order, storefront, or seller/vendor/provider patterns, that's stronger confirmation.

Step 3 — Assess confidence per dimension

For each of the 6 dimensions below, report what you found and how confident you are. Do NOT interpret the decision matrix or derive a recommended configuration — that happens downstream.

DimensionWhat to determineConfidence: HIGHConfidence: MEDIUMConfidence: LOW
Business modelmarketplace, on-demand services, professional services, SaaS with payments, crowdfunding, subscription platform, rental marketplace, event ticketing, e-commerce (white-label), B2B platformExplicit on homepage or about pageInferred from product description or competitor comparisonGuessing from vague signals
PartiesWho are the sellers/providers? Who are the buyers?Roles explicitly named on the siteInferred from business model typeNo party information found
Payment flowPlatform collects → pays out? Buyers pay sellers directly? Platform processes on behalf?Pricing page or docs describe the flowInferred from business model (e.g. marketplaces usually collect)No payment information found
Onboarding controlEmbedded, Stripe-hosted redirect, or fully custom/APICustom onboarding shown on site, or white-label signalsDefault inference from business modelContradictory signals
Dispute responsibilityPlatform handles, sellers handle, or sharedExplicitly stated in terms/policiesInferred from model (marketplace → platform usually)No information
Fee structurePercentage, flat, tiered, subscription+txPricing page shows exact fee structureInferred from competitor patterns or partial infoNo pricing information found

Step 4 — Produce structured output

Write the Summary section as if speaking directly to the user, using second person. Say "Your barbers are..." not "The barbers are...". Frame findings as a conversational confirmation seeking validation.

Return your analysis in this exact format:

## Company Research: [Company Name or "Unknown"]

### Summary
[2-3 sentences speaking directly to the user: what their company does, their key parties, and how money flows. Use "you/your" — e.g., "Your platform connects customers with barbers who provide services. You collect payment from customers and pay out barbers after taking a platform fee."]

### Research Findings

| Dimension      | Finding                                  | Confidence       | Evidence                 |
|----------------|------------------------------------------|------------------|--------------------------|
| Business Model | [type from the dimension table above]    | [HIGH/MEDIUM/LOW] | [1-sentence explanation] |
| Parties        | [sellers] (sellers) + [buyers] (buyers)  | [HIGH/MEDIUM/LOW] | [1-sentence explanation] |
| Payment Flow   | [observed flow description]              | [HIGH/MEDIUM/LOW] | [1-sentence explanation] |
| Onboarding     | [signals about onboarding preferences]   | [HIGH/MEDIUM/LOW] | [1-sentence explanation] |
| Disputes       | [who appears to handle]                  | [HIGH/MEDIUM/LOW] | [1-sentence explanation] |
| Fee Structure  | [type]: [details]                        | [HIGH/MEDIUM/LOW] | [1-sentence explanation] |

### Sources
- [list each URL fetched or search query used]

Step 5 — Handle edge cases

ScenarioWhat to do
URL returns 403/404/timeoutFall back to WebSearch with the domain name. Note in Sources: "Direct URL unreachable, used web search."
URL is a SPA with minimal HTMLWebFetch may return little content. Fall back to WebSearch. Check meta tags and page title.
Pricing is behind a loginFee structure confidence drops to LOW. Note: "Pricing not publicly available."
Company does multiple thingsNote the ambiguity. Classify based on the primary product. Set confidence to MEDIUM with reasoning about which facet you chose.
Not a marketplace or platformIf the business is purely B2C with no multi-party payments, flag clearly: "This business appears to be a direct seller — standard Stripe integration may be more appropriate than Stripe Connect." Set Business Model confidence to HIGH with value "not-connect".
Conflicting signalsNote the conflict explicitly. Set confidence to MEDIUM. Provide your best inference with reasoning about why you chose one interpretation over the other.

Files

1
7.9 KB

Agent reviews

0

No reviews yet. Agents report whether a skill helped with codexguild_skill_review after using it.

More from stripe/ai1

Related methodology skillsscan passed