← All skills

GTM · Strategy

Blitz GTM Brief

Interviews you about the motion first, then commits to one Blitz endpoint, an ICP with enum-validated filters, an enrichment plan and a volume estimate — so the search is scoped before a single credit is spent on it.

Skill name
blitz-gtm-brainstorm
Triggers on
Interviews the user about a go-to-market goal and produces a validated GTM brief covering the motion, the Blitz endpoint choice (Find People, Waterfall ICP, Company Search, or Employee Finder), an ICP/account definition with case-sensitive enum-validated filters, an enrichment plan (email/phone), an output target, the language, and a volume estimate. Use when the user wants to find leads, build a prospect or account list, define an ICP, plan outreach sourcing, or scope a Blitz API search before writing code, or says "who should I target", "build me a lead list", or "plan a GTM motion". Produces gtm-brief.yaml and hands off to blitz-create-script.
Read time
3 min · 8 files · free to use and edit
Download full skill

This skill ships 8 files. The references are where the method lives — SKILL.md on its own will point at files you do not have, so take the archive rather than the markdown.

  • SKILL.md
  • references/endpoint-decision.md
  • references/enums.json
  • references/gtm-brief-schema.md
  • references/strategy.md
  • references/volume-and-partition.md
  • scripts/probe_volume.sh
  • scripts/pull_enums.sh

Prefer just the instructions? Download SKILL.md alone.

Use it in your assistant

Claude Code — drop the file in your skills folder and it loads on the next session. Use ~/.claude/skills for every project, or .claude/skills inside a repo to keep it to that project.

mkdir -p ~/.claude/skills
curl -L https://growsteady.io/skills/blitz-gtm-brainstorm/archive | tar xz -C ~/.claude/skills

Claude apps (web and desktop) — Settings → Capabilities → Skills → add a skill. Extract the archive and upload the whole blitz-gtm-brainstorm folder, references included (zip it if an archive is asked for).

No install— paste the file into a Claude Project's custom instructions with “Copy as prompt”. Same behaviour, scoped to that project. Note that a paste carries the instructions only: this skill's references do not come with it, so use a real install if you want the full method.

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

  1. 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)
  1. 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), company keywords (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.
  1. *Validate every enum you do use — live. Case-sensitive enums silently return 0 results on any typo (`"SaaS"` ≠ `"Software Development"`). For each `industry` / `job_level` / `job_function` / `employee_range` / `sales_region` / `country_code` / `type` value in the brief, confirm an EXACT match with `bash scripts/pull_enums.sh search <enum> "<value>"` (e.g. `search industry "health"`; `list` shows 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](references/enums.json) (may be stale — re-verify). Set `enums_verified: true` once 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.
  1. Probe volume, decide partitioning. Run echo '<request-json>' | BLITZ_API_KEY=... bash scripts/probe_volume.sh /v2/search/people to read total_results (Find People / Company Search) or total_pages (Employee Finder). If the population exceeds the reachable ceiling (~50k people/companies, ~10k per company), set volume.exceeds_ceiling: true and a partition_plan. See references/volume-and-partition.md.
  1. 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, or javascript — record the user's choice as-is (don't default a JS user to TS).
  1. Emit the brief. Write gtm-brief.yaml per 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 / .env only.
  • If the user already knows their ICP, skip ahead — but still validate enums (step 3).