Set up Claude to research fire and EMS departments and write personalized cold emails. It finds the contacts, the signals, and writes the email in your voice. No coding. Follow the steps.
Open your terminal app. On Mac that's Terminal (search for it in Spotlight). On Windows, open PowerShell.
Copy and paste this command, then hit Enter:
npm install -g @anthropic-ai/claude-code
Go to nodejs.org and download the LTS version. Install it (just click Next through the installer). Then come back and run the command above.
To check if you already have it, run:
node --version
If it shows a version number (like v22.x.x), you're good. If it says "command not found," install Node.js first.
Run it with sudo instead:
sudo npm install -g @anthropic-ai/claude-code
It will ask for your computer password. Type it (nothing will appear as you type, that's normal) and hit Enter.
This downloads the sales playbook, the AI advisors, and all the reference materials Claude needs.
Copy and paste this into your terminal:
git clone https://github.com/napiermd/outbound-council.git ~/outbound-council
Mac: Open Terminal and type git. If it's not installed, your Mac will prompt you to install the Xcode command line tools. Click "Install" and wait.
Windows: Go to git-scm.com and download the installer. Run it with default settings.
outbound-council in your home directory. That's where you'll work from.
Copy the rep instructions into the right place so Claude reads them automatically:
cp ~/outbound-council/rep-kit/CLAUDE.md ~/outbound-council/CLAUDE.md
copy $HOME\outbound-council\rep-kit\CLAUDE.md $HOME\outbound-council\CLAUDE.md
This is the most important step. Your voice profile teaches Claude to write like you, not like a robot.
~/outbound-council/voices/voice-template.md in any text editor (TextEdit, Notepad, VS Code, whatever you have)~/outbound-council/voices/danny.md (use your actual name)Paste this in Terminal to open it in TextEdit:
open -a TextEdit ~/outbound-council/voices/voice-template.md
After editing, use File > Save As and save it as your name (e.g., danny.md) in the same voices folder.
Paste this in PowerShell:
notepad $env:USERPROFILE\outbound-council\voices\voice-template.md
Andrew will give you an API key. Create a file called .env in your outbound-council folder with this content:
echo "SUPABASE_ANON_KEY=your_key_here" > ~/outbound-council/.env
Replace your_key_here with the key Andrew gives you. This connects Claude to HubSpot and the IntuBlade database so your research and emails get tracked automatically.
.env file only.
The first time you run Claude Code, it needs to connect to your Claude account. Run this in your terminal:
cd ~/outbound-council && claude
Your browser will open and ask you to sign in with your Claude account. Sign in, click "Allow," and come back to the terminal. You'll see a chat interface. Type /quit to exit for now. We have one more setup step.
When you first run Claude Code, it will ask you to sign in. After that:
Claude can read your emails (to find reply threads) and create drafts (to put outreach emails in your Drafts folder). It cannot send emails on your behalf. You always hit send.
That's fine. Claude will show you the finished email in the terminal and you copy-paste it into Gmail. It works, it's just an extra step per email.
Every time you sit down to do outreach, run these two commands:
cd ~/outbound-council && claude
That's it. Claude opens in your terminal with the full IntuBlade playbook loaded. Start typing.
Research departments and write emails. Here's how both work.
You don't need to Google anything first. Just tell Claude the department name and state. It will find the chief, medical director, training officer, fleet data, and recent news.
Research Parma Fire Department in Ohio. Find me everyone I should contact and any recent news.
Claude searches the web and comes back with a structured report:
Parma Fire Department — Research Summary People Found | Role | Name | Email | Source | | Chief | Michael Lasky | firechief@cityofparma-oh.gov | cityofparma-oh.gov staff directory | | Medical Director | Dr. Christopher Dussel | christopher.dussel@uhhospitals.org | UH Hospitals EMS page | | Deputy Chief | Mark Brickman | — | Department website | Department Profile - 7 stations, 11 apparatus, ALS - ~5,500 EMS runs/year, ~108 intubations/year - Serves City of Parma (pop. 81,000) Signals 1. SAFER grant for 12 firefighters (Jan 2026) — FEMA awards database 2. Record call volume in 2025 — Parma Observer article Confidence Notes - Chief email verified from city staff directory - MD email verified deliverable (SMTP check score: 100) - Training officer: NOT FOUND
Can you also find their training officer? And check if Dr. Dussel covers any other departments nearby.
Claude digs deeper and reports back with what it found (or didn't find).
Research [department name] in [state]. Find the chief, medical director, training officer, fleet info, and any recent news I can use in an email.
Who are the key contacts at [department name]? I need the chief, medical director, and anyone involved in equipment decisions.
Find the medical director for [department name] in [city], [state]. Check hospital system EMS pages and NPI registry.
What recent news, grants, or events has [department name] had in the last 6 months? I need something current for a cold email opener.
Verify this email address before I use it: [email]. Check the city staff directory or department website to confirm it actually exists.
Good research. Now write me a cold email to Chief Lasky. CC Dr. Dussel.
Claude writes the email in your voice, scores it against all 6 sales advisors, checks for AI slop, and shows you the result with scores. If anything scores below 6, it rewrites automatically.
The opening is too generic. Use the SAFER grant. And make it shorter.
Claude rewrites with your feedback, re-scores, and shows the updated version.
Looks good. Create the draft.
Draft created in your Gmail.
To: firechief@cityofparma-oh.gov
CC: christopher.dussel@uhhospitals.org
Subject: Video laryngoscopy for Parma Fire - no cost
Open Gmail, check your Drafts folder, review one more time, then hit send. Want to move to the next department?
Write a cold email to the chief using the research above. CC the medical director if we have a verified email.
Score this email against the council: [paste your email here]
Make it shorter. Under 120 words.
Looks good. Create the draft in my Gmail.
No recent news on this department. Write a generic deployment kit email using the fleet data from the research.
Check my inbox for replies to outreach emails I've sent in the last 3 days.
The chief of [department] replied and said "[their reply]". Help me write a response.
Save this to learnings: Dr. Dussel covers Parma Fire, Seven Hills Fire, and Brooklyn Fire.
Claude enforces these automatically, but you should know them too.
Banned sign-offs:
Banned openers:
Banned words:
Banned punctuation:
The complete list is in references/anti-ai-slop.md in your outbound-council folder. Claude reads this file automatically, but you should read it once to know what it catches.
Claude Code isn't installed. Go back to Step 2 and run the install command. If you just installed Node.js, close your terminal and open a new one first.
Node.js isn't installed. Go to nodejs.org, download the LTS version, install it, then close and reopen your terminal.
Make sure your voice file is saved in the voices/ folder inside the outbound-council directory. The file name should be your name (e.g., danny.md). If Claude still isn't picking it up, type: "Read my voice file from the voices folder and use it."
You probably didn't give it enough research. The more specific details you paste in (chief name, station count, recent news), the more specific the email will be. If you just say "write an email to a fire department," you'll get garbage.
Tell it: "That email has banned words from the anti-AI-slop list. Rewrite it." If it keeps happening, start a new conversation. Long conversations can drift.
When Andrew updates the playbook or references, pull the latest:
cd ~/outbound-council && git pull