SuperAPI AI Directory

buyer-persona-generator

Writing & research

View repository

Updated 10-16 08:02

About this skill

Buyer Persona Generator

Research a company's buyers and synthesize 4-6 grounded, specific buyer personas. The bundled script does keyless I/O (fetch the company site into a text bundle); you, the agent, do all the segmentation and persona synthesis from that bundle plus your own search/research, then run the diversity coverage check.

When to use

  • "Build ICP personas for [company]." / "Who are our buyers really?"
  • Upstream of icp-website-audit (it calls this when personas don't yet exist).
  • Any messaging/positioning work that needs a grounded model of how buyers evaluate.

How to run

Step 1 — research the company site (deterministic script)

python3 ${SKILL_DIR}/scripts/research_company.py \
  --url https://example.com \
  --company "Example" \
  --max-pages 8 \
  --output ${WORKSPACE}/company_bundle.json

Python 3 stdlib only — no install. It fetches the homepage and discovers + fetches same-domain high-signal pages (pricing, about, customers/case-studies, solutions, product, "who it's for", industries) into one JSON bundle of {url, title, headings, text}. For JS-heavy / auth-walled pages that come back thin, fall back to a web-automation (Playwright + Robomotion Proxy) fetch, and use an apify review actor only as a hostile-site fallback for G2/Capterra/TrustRadius.

Step 2 — signal search (you, the agent)

Run searches with whatever search tool you have: "[company] customers", "case studies", "[company] reviews" (G2/Capterra/TrustRadius), "[company] vs" (comparisons reveal segments), "[company] jobs". Fold the results into your context.

Step 3 — extract, segment, synthesize (you, the agent)

From the bundle + searches, extract: problem solved, pricing/packaging (→ ACV & buyer type), verticals, target sizes, roles/titles in case studies, GTM motion. Identify 4-6 distinct segments and write a rich synthetic persona for each per the schema below.

Step 4 — diversity check (you, the agent)

Enforce coverage: at least one technical, one business, one skeptical, one junior/researcher persona; cover multiple company tiers if the company serves them. If known_icps were supplied, skip discovery and synthesize directly against them.

Outputs

Write all three to ${WORKSPACE} (and attach to the Agent Teams channel as a reusable asset):

  • personas.json — array; each persona: id, name, segment, title, company_profile, demographics, situation, pain_points, buying_trigger, decision_criteria (ranked), skepticism_profile, technical_sophistication, language, evaluation_behavior.
  • personas.md — human-readable prose profiles.
  • segments.md — summary table + the diversity coverage check.

Skepticism profile is the highest-value field: every persona needs a clear "what would make them NOT buy" and a default vendor assumption.

Credentials / env

  • Required: none. The research script is keyless; persona synthesis is your job as the agent, so no LLM key is needed in the script layer.
  • Optional: if APIFY_API_TOKEN is set → Apify review-site (G2/Capterra/TrustRadius) scraping for richer voice-of-customer input; if not → keyless direct fetch / search snippets (default). PINECONE_API_KEY / QDRANT_URL — if set → semantic persona dedup; if not → skip dedup (default). The default keyless serp/fetch path needs no key.

Notes & edge cases

  • Specificity beats abstraction ("Sarah, Sr. Demand Gen at a 50-person B2B SaaS who just lost her SDR team", not "Marketing Manager"). Spend real effort in research — don't stop at the homepage; the script already pulls deeper pages for you.
  • research_company.py caps each page at 20 KB of text and 2 MB of HTML, fetches up to --max-pages deep pages, and backs off on HTTP 429/503.
  • No paid lead/enrichment API is required — this is research + synthesis only.