run-first-campaignlisted
Install: claude install-skill Zevenue/headless-gtm
# Run your first campaign
The cold-start workflow: an owner or founder with no list, no CRM, and no
campaign history, taken from "here's my business" to an approved campaign sheet.
It chains existing skills in a fixed order with an explicit owner approval
between steps. Nothing in this repo sends email - the end state is a drafted
3-email sequence plus a campaign sheet (owner-readable Markdown and a
HubSpot-import-shaped CSV) the owner approves on screen.
Chain mechanics follow the router's conventions: each component skill runs by
its own SKILL.md, writes into `./runs/` under its own step-prefixed run-id, and
hands `records.jsonl` to the next step by explicit path.
## Step 1 - Business context
Check for `context/offer.md` and `context/icp.md`. If both exist, summarize
them in two sentences and confirm they still describe the business. If either
is missing, offer two paths: the closest vertical preset from
`reference/presets/` (fastest - adopt the archetype, then adjust it together)
or the full `gtm-context` interview. Write the result to `context/`. Wait for
the owner to confirm the context before anything else runs.
## Step 2 - Source of record
Where these buyers are already listed depends on the ICP. Read the confirmed
context and propose the matching source, by name:
- **Local, licensed, or physical-presence businesses** (contractors, clinics,
dealerships, brokerages, restaurants) live in a public directory - a
licensing registry, a professional college, a trad