Cold Email Local Business
gmapsscraper/google-maps-agent-skills
Write hyper-personalized cold emails to local businesses using their Google Maps data (CSV).
Agent skill
by growthenginenowoslawski in growthenginenowoslawski/coldoutboundskills
Use the Blitz API to find decision-makers at specific companies when you already have a list of company domains.
$ npx skills add growthenginenowoslawski/coldoutboundskills --skill blitz-list-builder -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install growthenginenowoslawski/coldoutboundskills blitz-list-builder --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/growthenginenowoslawski/coldoutboundskills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/blitz-list-builder .claude/skills/blitz-list-builder && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "blitz-list-builder" agent skill from https://github.com/growthenginenowoslawski/coldoutboundskills/tree/main/skills/blitz-list-builder into .claude/skills/blitz-list-builder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "blitz-list-builder", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/growthenginenowoslawski/coldoutboundskills/tree/main/skills/blitz-list-builderType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add growthenginenowoslawski/coldoutboundskills --skill blitz-list-builder -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install growthenginenowoslawski/coldoutboundskills blitz-list-builder --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/growthenginenowoslawski/coldoutboundskills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/blitz-list-builder .agents/skills/blitz-list-builder && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "blitz-list-builder" agent skill from https://github.com/growthenginenowoslawski/coldoutboundskills/tree/main/skills/blitz-list-builder into .agents/skills/blitz-list-builder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "blitz-list-builder", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add growthenginenowoslawski/coldoutboundskills --skill blitz-list-builder -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install growthenginenowoslawski/coldoutboundskills blitz-list-builder --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/growthenginenowoslawski/coldoutboundskills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/blitz-list-builder .cursor/skills/blitz-list-builder && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "blitz-list-builder" agent skill from https://github.com/growthenginenowoslawski/coldoutboundskills/tree/main/skills/blitz-list-builder into .cursor/skills/blitz-list-builder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "blitz-list-builder", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/growthenginenowoslawski/coldoutboundskills.git --path skills/blitz-list-builder--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add growthenginenowoslawski/coldoutboundskills --skill blitz-list-builder -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install growthenginenowoslawski/coldoutboundskills blitz-list-builder --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/growthenginenowoslawski/coldoutboundskills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/blitz-list-builder .gemini/skills/blitz-list-builder && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "blitz-list-builder" agent skill from https://github.com/growthenginenowoslawski/coldoutboundskills/tree/main/skills/blitz-list-builder into .gemini/skills/blitz-list-builder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "blitz-list-builder", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install growthenginenowoslawski/coldoutboundskills blitz-list-builderInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add growthenginenowoslawski/coldoutboundskills --skill blitz-list-builder -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/growthenginenowoslawski/coldoutboundskills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/blitz-list-builder .github/skills/blitz-list-builder && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "blitz-list-builder" agent skill from https://github.com/growthenginenowoslawski/coldoutboundskills/tree/main/skills/blitz-list-builder into .github/skills/blitz-list-builder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "blitz-list-builder", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add growthenginenowoslawski/coldoutboundskills --skill blitz-list-builder -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install growthenginenowoslawski/coldoutboundskills blitz-list-builder --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/growthenginenowoslawski/coldoutboundskills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/blitz-list-builder .opencode/skills/blitz-list-builder && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "blitz-list-builder" agent skill from https://github.com/growthenginenowoslawski/coldoutboundskills/tree/main/skills/blitz-list-builder into .opencode/skills/blitz-list-builder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "blitz-list-builder", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
blitz-list-builderUse the Blitz API to find decision-makers at specific companies when you already have a list of company domains.
Blitz List Builder is an agent skill from growthenginenowoslawski/coldoutboundskills. Use the Blitz API to find decision-makers at specific companies when you already have a list of company domains. Best for SMB owner-finding, domain-to-people lookup, or supplementing Prospeo results. Outputs a CSV you can feed to the /list-builder Phase 5 or directly to /cold-email-starter-kit for Smartlead upload. Use when your targeting is company-first (not title-first).
Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including scripts (for example `scripts/find-contacts.ts`).
It sits in Sales & Support, covering Cold outreach, Project scaffolding and CSV and tabular files. The repository describes itself as: Open-source Claude Code skills for cold email and outbound sales. Grade campaigns, export Prospeo searches, scrape Google Maps — all from Claude Code. The licence is MIT.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 25c5d85. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/ (TypeScript), which the agent can run.
Shell commands in SKILL.md call:
npxFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
acme.comlinkedin.comFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
BLITZ_API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Blitz List Builder loads about 2k tokens when it runs. Until then it costs about 99 tokens; SKILL.md has 849 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from growthenginenowoslawski/coldoutboundskills at commit 25c5d85, republished under its MIT licence (© growthenginenowoslawski). 849 words, ~1,955 tokens.
.claude/skills/blitz-list-builder/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Prospeo is title-first: "all VPs of Marketing in B2B SaaS." Blitz is domain-first: "for each of these 500 restaurant domains, find the owner."
If you already know the target companies (from Google Maps, a CSV of competitors, or a manually-curated list), Blitz finds the people for you.
| Your situation | Use |
|---|---|
| "I have 5,000 domains, find the owners" | Blitz |
| "Find all CFOs at US SaaS companies 100-500 employees" | Prospeo |
| "I need to supplement Prospeo results with additional contacts at the same companies" | Blitz |
| "I want the widest net possible in a vertical" | Prospeo |
| "I'm targeting specific named accounts (ABM)" | Blitz |
Often: use Prospeo to build the initial list, then Blitz to add 1-2 more contacts per company.
BLITZ_API_KEY) — sign up at their websitecompany_domain column, or one domain per line)--domains-file=<path> — CSV or txt with company domains (one per line, or a column named company_domain)--titles=<csv> — comma-separated title keywords to filter (default: owner,founder,ceo,president,cto,vp)--out=<path> — CSV output pathCSV with columns: company_domain, first_name, last_name, job_title, linkedin_url, email, email_source, company_name, company_industry, company_headcount, company_phone
Email will be populated when Blitz returns one. Use /list-builder Phase 5 (scripts/contacts.ts) on the output to fill in missing emails, then validate with MillionVerifier (/cold-email-starter-kit).
export BLITZ_API_KEY=xxx
# Pull owner/founder/CEO contacts for 5000 SMB domains
npx tsx scripts/find-contacts.ts \
--domains-file=restaurants.csv \
--titles=owner,founder,ceo,general-manager \
--out=restaurant-owners.csv
# Domain-first discovery with custom title match
npx tsx scripts/find-contacts.ts \
--domains-file=saas-companies.txt \
--titles=vp-marketing,head-of-growth,cmo,director-marketing \
--out=saas-marketers.csvBlitz has two main endpoints we use:
Company enrichment (find employees):
POST {BLITZ_BASE_URL}/api/enrichment/company
Body: { "domain": "acme.com" }
Response: { employees: [{ first_name, last_name, title, linkedin_url, email }], company: { name, industry, headcount, phone } }Email enrichment (find email for a LinkedIn URL):
POST {BLITZ_BASE_URL}/api/enrichment/email
Body: { "linkedin_profile_url": "https://linkedin.com/in/..." }
Response: { email: "...", status: "verified" }The script throttles at 30 requests/second with concurrency 10. This matches Blitz's published limits. If you see 429s, lower the concurrency flag.
Rough benchmarks (from real campaigns):
Default keywords (owner, founder, ceo, president, cto, vp) are broad. Narrow them per campaign:
# Restaurants
--titles=owner,operator,general-manager
# SaaS RevOps
--titles=revops,revenue-operations,vp-sales,director-sales
# Dental practices
--titles=dentist,owner,practice-manager
# Law firms
--titles=partner,managing-partner,principalThe script does case-insensitive substring match. "vp" matches "VP Sales" but also "VP Product" — narrow further if that's too loose.
acme.com, not https://acme.com/ or sub.acme.com./list-builder Phase 5 (scripts/contacts.ts), which tries GetLeads, Blitz and Prospeo in cost order.This is a required step. Do not skip it.
Before pulling more than 500 companies' worth of contacts, sample ~50 and run /icp-prompt-builder on them:
Why it's required: Blitz contact-finding is cheap, but email enrichment downstream is not. A typical 5,000-contact run costs $150+ in email-finding API calls. If 40% of your list is wrong-fit, you burn ~$60 finding emails at companies that will never convert. The ICP prompt builder takes 10-15 min and saves that.
How to skip safely: you can't. If you're sure your list is already perfectly qualified (e.g., it came from a curated seed list of named accounts you want to pitch), run /icp-prompt-builder anyway on 10 of them and confirm your existing qualification matches — the prompt builder becomes a sanity check instead of a filter.
Per Blitz pricing (check their current rates):
5,000 domains = ~$150 for contacts alone. Plan your budget.
Once you have the CSV, the typical flow:
job_title doesn't cleanly match your ICP/list-builder (Phase 5, emails) on rows with empty email/cold-email-starter-kit for the MillionVerifier script)/cold-email-starter-kit script smartlead-add-leads.tsscripts/find-contacts.ts — main batch enrichment scriptRun /list-builder (Phase 5, emails) to fill in emails for rows Blitz didn't return. Then /list-quality-scorecard to grade the final list.
After the scorecard, proceed to /campaign-copywriting → /smartlead-campaign-upload-public.
Or wait: if the required /icp-prompt-builder step (above) showed <40% qualification rate, your source list of domains is off. Fix that before spending more Blitz credits.
/icp-prompt-builder — qualify the contacts this skill returns BEFORE running email waterfall/prospeo-full-export — the title-first alternative/google-maps-list-builder — for local-business domain lists/disco-like — lookalike companies from seed domains/list-builder (Phase 5, emails) — when Blitz doesn't return an email/cold-email-starter-kit → 06-list-building-prospeo.md for broader list-building context© growthenginenowoslawski, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file (scripts) in skills/blitz-list-builder of growthenginenowoslawski/coldoutboundskills.
Open the folder on GitHubat commit 25c5d85
Blitz List Builder next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Blitz List Builder this skillgrowthenginenowoslawski/coldoutboundskills | 753 | — | ~2k | Automated safety check: Pass | MIT | |
| Cold Email Local Businessgmapsscraper/google-maps-agent-skills | 132 | — | ~1.2k | Automated safety check: Pass | MIT | |
| Cold Email VerifierVarnan-Tech/opendirectory | 674 | — | ~810 | Automated safety check: Pass | MIT | |
| Cold Email Outreachgooseworks-ai/goose-skills | 1.2k | 1 repos | ~3.4k | Automated safety check: Notes | MIT | |
| Apify Buying Signal Detectionapify/awesome-skills | 266 | — | ~5.1k | Automated safety check: Notes | Apache-2.0 | |
| Email Generationextruct-ai/gtm-skills | 109 | — | ~1.7k | Automated safety check: Pass | None |
gmapsscraper/google-maps-agent-skills
Write hyper-personalized cold emails to local businesses using their Google Maps data (CSV).
Varnan-Tech/opendirectory
A skill your agent uses when the user wants to verify cold emails, enrich a lead list, or autonomously guess email addresses from a CSV using ValidEmail.co or the open-source Reacher engine.
gooseworks-ai/goose-skills
End-to-end cold email outreach orchestration. An agent skill from gooseworks-ai/goose-skills.
apify/awesome-skills
Set up a recurring buying-signal detection pipeline that finds companies showing buying intent across three signal types — job postings (hiring for the persona), fundraising events (recent raises)…
extruct-ai/gtm-skills
Render a cold-outreach email sequence from a fixed template set and a contact CSV whose input fields are already filled.
ericosiu/ai-marketing-skills
Design, analyze, and optimize cold outbound email campaigns for Instantly.
growthenginenowoslawski/coldoutboundskills
Diagnostic audit for a running cold email program. An agent skill from growthenginenowoslawski/coldoutboundskills.
growthenginenowoslawski/coldoutboundskills
Conversational intake for cold email campaigns. An agent skill from growthenginenowoslawski/coldoutboundskills.
growthenginenowoslawski/coldoutboundskills
META skill — build the largest possible qualified lead list for any request, end to end.
growthenginenowoslawski/coldoutboundskills
Autonomous cold email campaign launcher. An agent skill from growthenginenowoslawski/coldoutboundskills.
growthenginenowoslawski/coldoutboundskills
Compare reply rates, bounce rates, and positive reply rates broken down by inbox type (SMTP / Gmail / Outlook) for a Smartlead account.
growthenginenowoslawski/coldoutboundskills
Find lookalike companies via DiscoLike's 65M+ business domain database.
Categories
Use the Blitz API to find decision-makers at specific companies when you already have a list of company domains. Blitz List Builder is an agent skill from growthenginenowoslawski/coldoutboundskills. Use the Blitz API to find decision-makers at specific companies when you already have a list of company domains.
Blitz List Builder fits situations like: your targeting is company-first (not title-first); tasks that involve Cold outreach; tasks that involve Project scaffolding.
Run `npx skills add growthenginenowoslawski/coldoutboundskills --skill blitz-list-builder -a claude-code`. Or copy the skill folder (skills/blitz-list-builder in growthenginenowoslawski/coldoutboundskills) into .claude/skills/blitz-list-builder in your project. Claude Code loads it when a task matches its description.
Run `npx skills add growthenginenowoslawski/coldoutboundskills --skill blitz-list-builder -a codex`. Or copy the skill folder (skills/blitz-list-builder in growthenginenowoslawski/coldoutboundskills) into .agents/skills/blitz-list-builder in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add growthenginenowoslawski/coldoutboundskills --skill blitz-list-builder -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/blitz-list-builder, .gemini/skills/blitz-list-builder, .github/skills/blitz-list-builder and .opencode/skills/blitz-list-builder in your project.
Going by SKILL.md and its folder, Blitz List Builder needs TypeScript for the scripts in its folder, the command-line tools its instructions call (npx) and credentials named BLITZ_API_KEY. Our summary lists: Node.js; A credential in BLITZ_API_KEY.
SKILL.md names 2 domains. In commands or code: acme.com and linkedin.com; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Blitz List Builder is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2k tokens (SKILL.md is roughly 7.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Blitz List Builder: Cold Email Local Business (gmapsscraper/google-maps-agent-skills, 132 stars), Cold Email Verifier (Varnan-Tech/opendirectory, 674 stars), Cold Email Outreach (gooseworks-ai/goose-skills, 1.2k stars) and Apify Buying Signal Detection (apify/awesome-skills, 266 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
growthenginenowoslawski (a GitHub user) maintains it in growthenginenowoslawski/coldoutboundskills, which has 753 GitHub stars. The repository holds 49 skills in this directory. The repository was last updated on October 5, 2026.
Source: growthenginenowoslawski/coldoutboundskills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.