Skip to content

company-researcher

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

From plugin
stripe-ai
1.7k1 skill1 agent2 commands
Install
$ npx -y skills add stripe/ai --agent claude-code

How it fires

How this agent gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.

Context preview

The summary Claude sees to decide when to auto-load this agent.

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

Agent definition

company-researcher.md
name: Company Researcher
description: "Research a company from its URL or description to infer Stripe Connect integration shape"
allowed-tools:
  - Read
  - Glob
  - Grep
  - WebFetch
  - WebSearch

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.

| Dimension | What to determine | Confidence: HIGH | Confidence: MEDIUM | Confidence: LOW | |-----------|-------------------|------------------|--------------------|-----------------| | **Business model** | marketplace, on-demand services, professional services, SaaS with payments, crowdfunding, subscription platform, rental marketplace, event ticketing, e-commerce (white-label), B2B platform | Explicit on homepage or about page | Inferred from product description or competitor comparison | Guessing from vague signals | | **Parties** | Who are the sellers/providers? Who are the buyers? | Roles explicitly named on the site | Inferred from business model type | No party information found | | **Payment flow** | Platform collects → pays out? Buyers pay sellers directly? Platform processes on behalf? | Pricing page or docs describe the flow | Inferred from business model (e.g. marketplaces usually collect) | No payment information found | | **Onboarding control** | Embedded, Stripe-hosted redirect, or fully custom/API | Custom onboarding shown on site, or white-label signals | Default inference from business model | Contradictory signals | | **Dispute responsibility** | Platform handles, sellers handle, or shared | Explicitly stated in terms/policies | Inferred from model (marketplace → platform usually) | No information | | **Fee structure** | Percentage, flat, tiered, subscription+tx | Pricing page shows exact fee structure | Inferred from competitor patterns or partial info | No 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 platfor
Read more
Ships withstripe-ai

This repo is the one-stop shop for building AI-powered products and businesses on top of Stripe.

Get the whole plugin, auto-invoked
Stats
1,728
Stars
2
Views
322
Forks
Active
Maintenance
TypeScript
Language
MIT
License
14h ago
Last commit
1y ago
Created

Repo: stripe/ai