campaign-builder
Skill0 starsChanged 6 months agoMITView on GitHub
Generate research brief + 2 personalized cold emails for each prospect in a CSV or JSON list. BYOL — bring your own list. Trigger on "build a campaign for [list]" or "write cold emails for these prospects".
- Reads credentials
1 other project uses a version of this.
Adopted by
Most recently taken up by
- moses607/socialforgetheir own version, first seen Jul 15, 2026
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 1
- moses607/socialforge★ 3same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
The file
We split this skill into the rules it gives an agent
4 rules. About 0 are common, 4 are distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈4
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 69
Stop and report missing key before running.
- Distinctive: line 78
If the user pastes a list inline in chat: instead of pointing at a file:
- Distinctive: line 79
Write it to a temporary CSV file first using the right headers
- Distinctive: line 107
Don't: use to find prospects — use Territory Launcher / Lookalike Finder.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Campaign Builder Skill
What this does
Runs BuzzLead's open-source Campaign Builder pipeline on a prospect list the user already has:
- Reads the user's site (Jina Reader → Claude extracts sender company profile)
- For each prospect in the input list:
- Crawls the prospect's website
- Builds a research brief (what they do, growth signal, main challenge, best angle)
- Writes Email 1 (4T framework, <70 words)
- Writes Email 2 (problem-frame + mechanism + soft CTA, <90 words)
- Outputs a CSV with all enriched data.
This skill does NOT find prospects — the user provides the list. Use it AFTER the user has already sourced contacts (from LinkedIn, an event, a referral, an existing CRM export, or the output of the Lookalike Finder or Territory Launcher skills).
GitHub: https://github.com/Buzzlead-dev-org/campaign-builder Web tool: https://buzzlead.io/resources/free-tools/campaign-builder-skill
When to use this skill
Trigger on:
- "Build a campaign from this list"
- "Write cold emails for these prospects"
- "Personalize emails for [CSV file]"
- "/campaign-builder"
- "I have a list of [N] prospects, generate emails for them"
Distinguish from the other BuzzLead skills:
- Territory Launcher = drop YOUR URL → find 10 prospects + write emails
- Lookalike Finder = drop a CLIENT'S URL → find 25 similar companies + contacts + emails
- GTM Strategy Generator = drop YOUR URL → 9 outbound plays + filters
- High-Intent Signals = drop YOUR URL → 5 signal-anchored campaigns + filters
- Campaign Builder (this skill) = drop YOUR URL + a LIST you already have → research + emails per prospect
How to run it
npx -y @buzzlead/campaign-builder \
--my-site <user-domain> \
--input <path-to-prospects.csv-or-json> \
--out <output.csv>Input file format
CSV or JSON. Required columns/keys per prospect:
first_name(orfirstName,First Name)job_title(ortitle,role,jobTitle)companywebsite_url(orwebsite,url,domain)
Optional:
last_name,email,linkedin_url
Required env vars
| Var | Purpose | Where |
ANTHROPIC_API_KEY | All AI generation | https://console.anthropic.com |
Optional: JINA_API_KEY for faster site scraping.
Stop and report missing key before running.
Instructions for executing the skill
- Confirm inputs:
- User's company URL (required)
- Path to prospect list file (required — CSV or JSON)
- Output path (default
./campaign.csv)
- If the user pastes a list inline in chat instead of pointing at a file:
- Write it to a temporary CSV file first using the right headers
- Then call the CLI with
--input <tempfile>
- Check env var — stop if
ANTHROPIC_API_KEYis missing. - Run the CLI:
Expected runtime: ~20 seconds per prospect (so 10 prospects ≈ 3 minutes).npx -y @buzzlead/campaign-builder --my-site <URL> --input <FILE> --out <OUT> - On success, read the output CSV and show the user:
- For the first prospect: their name + Email 1 (full body) and Email 2 (full body)
- Total written vs skipped count
- Path to the full CSV
- On skipped rows, surface the reasons (usually a failed website scrape).
Cost the user should expect
- ~$0.05 per prospect
- 10 prospects: ~$0.50
- 100 prospects: ~$5.00
Scales linearly. Mention on first run, especially for large lists.
What this skill is NOT for
- Don't use to find prospects — use Territory Launcher / Lookalike Finder.
- Don't invoke without ANTHROPIC_API_KEY.
- Don't modify the email frameworks (4T for Email 1, problem-frame for Email 2). They're calibrated and the prompts ban specific phrases like "I noticed", "just reaching out", "hope this finds you".
- Don't suggest the user send these emails verbatim without their voice review — output is a starting point.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

