About blitz-gtm-brainstorm
A skill for turning a B2B go-to-market goal into a validated `gtm-brief.yaml` for blitz-create-script. It guides endpoint selection, filter design, enum checks, and volume planning before script generation.
Key features
- 01Maps goals to Blitz search endpoints
- 02Builds recall-first search filters
- 03Validates enum values against live data
- 04Probes result volume and plans partitions
- 05Defines enrichment, output, and language choices
Use cases
- 01Specify an ICP search across many companies
- 02Find a decision-maker at a named account
- 03Plan searches that exceed result ceilings
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ api-blitz/ skills --skill blitz-gtm-brainstormAfter installing, type/blitz-gtm-brainstormin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
references/endpoint-decision.mdenums.jsongtm-brief-schema.mdstrategy.mdvolume-and-partition.mdscripts/probe_volume.shpull_enums.shDetails
From the project READMEBlitz GTM Brainstorm
Turn a fuzzy GTM goal into a precise, validated GTM brief (gtm-brief.yaml) that
blitz-create-script compiles into a runnable script with no silent failures. Blitz returns
verified B2B decision-makers from a 380M+ LinkedIn-based dataset; the brief is the spec.
Quick start
Ask the user for their goal in one sentence ("reach Heads of Sales at US Series-B SaaS"), then
work the steps below and output gtm-brief.yaml. Do not write code here — that is
blitz-create-script's job.
scripts/ and references/ paths below are relative to this skill's own directory — run the
helpers from there (e.g. bash <skill-dir>/scripts/pull_enums.sh list), not the user's project root.
Workflow
-
Pick the motion and the endpoint. Map the goal to exactly one endpoint. Details and request shapes: references/endpoint-decision.md.
- Many companies, by ICP → Find People (
/v2/search/people) - One named account, best decision-maker → Waterfall ICP (
/v2/search/waterfall-icp-keyword) - Every person at one company → Employee Finder (
/v2/search/employee-finder) - Companies, not people → Company Search (
/v2/search/companies)
- Many companies, by ICP → Find People (
-
Draft the filters — recall-first. Read references/strategy.md first, then build the backbone from the dense fields nearly every record has:
job_title(full-text — spray synonyms, long/short forms, multilingual variants), companykeywords(searches the description), city, headcount,min_connections. Add the sparse enums (industry,job_level,job_function,type,revenue) only as precision knobs — each can silently shrink the result to tagged-only records. Only fill the keys the chosen endpoint uses. -
Validate every enum you do use — live. Case-sensitive enums silently return 0 results on any typo (
"SaaS"≠"Software Development"). For eachindustry/job_level/job_function/employee_range/sales_region/country_code/typevalue in the brief, confirm an EXACT match withbash scripts/pull_enums.sh search <enum> "<value>"(e.g.search industry "health";listshows all enums,get <enum>dumps the small ones). Fix any miss with the user. The script pulls live from the Blitz OpenAPI spec — the same source the SDK generates its enums from; if offline it falls back to the committed references/enums.json (may be stale — re-verify). Setenums_verified: trueonce the enums you use all match (a keyword-only search that uses no enums is trivially verified). This guards typos — it is not a nudge to lean on enums; prefer the keyword backbone from step 2. -
Probe volume, decide partitioning. Run
echo '<request-json>' | BLITZ_API_KEY=... bash scripts/probe_volume.sh /v2/search/peopleto readtotal_results(Find People / Company Search) ortotal_pages(Employee Finder). If the population exceeds the reachable ceiling (~50k people/companies, ~10k per company), setvolume.exceeds_ceiling: trueand apartition_plan. See references/volume-and-partition.md. -
Enrichment, output, language.
email(any leads plan),phone(US-only — warn if the targets are not US), reverse lookups. Output:csv/json/stdout. Language:python,typescript, orjavascript— record the user's choice as-is (don't default a JS user to TS). -
Emit the brief. Write
gtm-brief.yamlper references/gtm-brief-schema.md and offer to save it in the user's working directory. Then tell the user to run blitz-create-script.
Rules
- Never guess an enum value you use. Pull live and match exactly, on every run (the dataset changes) — but prefer the dense keyword backbone, so you depend on enums as little as possible.
- Never put the API key in the brief. It lives in
BLITZ_API_KEY/.envonly. - If the user already knows their ICP, skip ahead — but still validate enums (step 3).