---
name: gtm-strategy-builder
description: Build a complete executive GTM strategy from a company URL plus client assets via 7 sequential, chained research prompts, then output 3 PDFs (customized prompts, raw outputs, C-suite strategy doc) into a dedicated per-company folder. USE WHEN user says "gtm-strategy-builder" OR "/gtm-strategy-builder" OR "build a GTM strategy system" OR "executive GTM thesis for [company]" OR "GTM strategy PDFs for [company]".
allowed-tools: Read Write Edit Bash WebFetch WebSearch
metadata:
title: GTM Strategy Builder
author: Christian Plascencia (Pipeline.tech)
source: https://docs.google.com/document/d/1izIdN8FD-dPYEKPZk6S-GL1ZIRj0sN1dK0uw7ChMfPU
note: Shared free in Lesson 1 of his YouTube cold email course. One regex in build_pdfs.py was garbled by Google Docs and has been restored.
---
# GTM Strategy Builder
Turns a client's inputs into an executive GTM thesis. **Claude IS the analyst** — you run each of the 7 prompts yourself as substantial research outputs. No external API runs the prompts. The chain is strictly sequential: each prompt's output feeds the next. Final deliverables are **3 PDF files** in one dedicated folder.
## Inputs (collect at Step 0)
| Input | Required | Notes |
|---|---|---|
| `company_url` | **Yes** | The client company website. |
| Sales & marketing assets | Optional | Decks, one-pagers, case studies, pricing sheets, battlecards. Read any files the user attaches/points to. |
| Onboarding form | Optional | Verbatim form content. **High priority** for ICP (Prompt 3). |
| Onboarding call transcript | Optional | Quotes/notes from the kickoff call. **Highest priority** source. |
If the user invokes the command without these, ask for them once in a single message. If only the URL is given, proceed (the optional inputs degrade gracefully to "(none provided)").
**Data priority when sources conflict:** call transcript > onboarding form > sales/marketing assets > scraped website. Always prefer what the client said about themselves over inference.
## Output
A single folder created in the **current working directory** (the "ROOT REPO" — where the user ran the command):
```
<ROOT>/<COMPANY_NAME> -- GTM Strategy Documentation/
1 - <Company> GTM Customized Prompts.pdf # every personalized prompt that was run
2 - <Company> GTM Raw Research Outputs.pdf # full raw output of all 7 steps
3 - <Company> GTM Executive Strategy.pdf # designed C-suite thesis (cover, tables, callouts)
```
All working files live in a hidden run dir so the deliverable folder stays clean.
---
## Workflow
### Step 0 — Setup, intake, profile
1. Resolve `COMPANY_NAME` from the URL/assets. Confirm spelling/casing you'll use in filenames.
2. Create the run dir: `mkdir -p "<ROOT>/.gtm-runs/$(date +%Y%m%d-%H%M%S)_<slug>"`. Call this `RUN_DIR`. Save today's date to `RUN_DIR/date.txt` (e.g. `June 8, 2026`).
3. **Scrape the URL.** Use `WebFetch` on the homepage; if thin (<2000 chars), also fetch `/about`, `/products`, `/services`, `/pricing`, `/customers`. If `WebFetch` is blocked, use `WebSearch` for company + market context. Save raw to `RUN_DIR/scraped.md`.
4. **Read every client asset** the user provided (files, pasted text). Distill the onboarding form verbatim and the call transcript into key quotes.
5. Write `RUN_DIR/profile.md` — name, offerings, revenue model, pricing, ICP hints, geo, tech stack, value prop, proof points. This becomes `{{COMPANY_PROFILE}}`.
6. Save the distilled assets / form / transcript text to `RUN_DIR/assets.md`, `RUN_DIR/form.md`, `RUN_DIR/transcript.md` (write "(none provided)" if absent).
### Steps 1–7 — Run the chained prompts
Read [`prompts.md`](prompts.md) once. For each step N from 1 to 7:
1. Take prompt N's template from `prompts.md`. **Substitute the placeholders** (`{{COMPANY_NAME}}`, `{{COMPANY_URL}}`, `{{COMPANY_PROFILE}}`, `{{SALES_MARKETING_ASSETS}}`, `{{ONBOARDING_FORM}}`, `{{CALL_TRANSCRIPT}}`, `{{PRIOR_OUTPUTS}}`). Do not paraphrase the prompt's instructions.
- `{{PRIOR_OUTPUTS}}` = the concatenation of `step-1.md` … `step-(N-1).md`. Empty for Step 1. **This is the chaining contract** — output of 1 feeds 2, output of 1–2 feeds 3, and so on through 7.
2. Save the fully-substituted prompt to `RUN_DIR/prompt-N.md`.
3. **Run the prompt yourself.** Produce a thorough, quantified analyst-grade output. Use Markdown tables wherever the prompt asks for scoring/sizing/matrices (Prompts 2, 3, 7) — the PDF renderer styles them.
4. Save the output to `RUN_DIR/step-N.md`.
**Strict rule:** never start step N+1 until `step-N.md` is written. The 7 steps in order:
| Step | Output |
|---|---|
| 1 | Deep Market Research (company, market, value prop, competitors, GTM challenges) |
| 2 | TAM Segmentation (NAICS, weighted scoring matrix, top-10 opportunity sizing) |
| 3 | ICPs & Pain-Qualified Segments (personas, 4 pain layers, ranked combos) |
| 4 | Lead Data Sourcing Strategy (15+ sources, tiered plan, roadmap) |
| 5 | Targeting Keywords & Contact Sourcing (6 keyword categories, 3 string variants) |
| 6 | Persona-Targeted Cold Email Scripts (3 lengths × 3 tiers, spintax, merge vars) |
| 7 | Executive GTM Thesis (synthesis: where we play / what we sell / how we engage) |
Prompt 7 is the synthesis — target 2,500–3,500 words and lead with an executive summary.
### Step 8 — Generate the 3 PDFs
Run from the same `<ROOT>` the user invoked from:
```bash
python3 ~/.claude/skills/gtm-strategy-builder/build_pdfs.py "<RUN_DIR>" "<COMPANY_NAME>" "<ROOT>"
```
It reads `prompt-1..7.md` and `step-1..7.md` and renders all 3 PDFs (headless Chrome) into `<ROOT>/<COMPANY_NAME> -- GTM Strategy Documentation/`. No Python packages needed.
Confirm the 3 files exist, then report the folder path and a one-line summary of the strategy to the user.
---
## Edge cases
- **WebFetch blocked / sparse site:** supplement Step 1 with `WebSearch` for market, competitor, and TAM context. Note any thin sourcing in the output.
- **Onboarding form provided:** quote it directly in Step 3 — it outranks Step 2 conclusions about the buyer.
- **Context bloat (`{{PRIOR_OUTPUTS}}` getting huge by step 6–7):** summarize the earliest steps to tight bullet points before injecting, and save the summary as `step-N.summary.md`. Keep full files intact.
- **Thin step output:** re-run that one step with sharper instructions before continuing — never carry weak signal into the synthesis.
- **Run interrupted:** all state is in `RUN_DIR`. Resume from the highest `step-N.md` and continue at N+1; rerun Step 8 at the end.
- **Chrome missing:** the script also accepts Chromium/Edge. If none exist, install Chrome or fall back to a DOCX build.
## Notes
- The 7 prompts live in [`prompts.md`](prompts.md) — read it before Step 1; substitute, don't paraphrase.
- PDF renderer: [`build_pdfs.py`](build_pdfs.py) (markdown → styled HTML → Chrome PDF; tables, callouts, and a designed cover for the executive doc).
- Related: `/gtm-thesis` (DOCX variant, fewer inputs), `/situation-mine`, `/messaging` (turn Step 6 copy into EmailBison campaigns), `/client-icp`.