{"_id":"@buzzlead/campaign-builder","name":"@buzzlead/campaign-builder","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@buzzlead/campaign-builder","version":"0.1.0","description":"Drop your URL and a CSV of prospects. Get a research brief + 2 personalized cold emails for each. Free BYOL (bring-your-own-list) CLI from BuzzLead.","keywords":["cold-email","outbound","campaign","byol","personalization","lead-generation","b2b","sales","cli","anthropic","claude","buzzlead"],"homepage":"https://buzzlead.io/resources/free-tools/campaign-builder-skill","repository":{"type":"git","url":"git+https://github.com/Buzzlead-dev-org/campaign-builder.git"},"bugs":{"url":"https://github.com/Buzzlead-dev-org/campaign-builder/issues"},"license":"MIT","author":{"name":"BuzzLead","email":"troy@buzzlead.io","url":"https://buzzlead.io"},"main":"dist/src/index.js","types":"dist/src/index.d.ts","bin":{"campaign":"dist/bin/campaign.js"},"engines":{"node":">=18"},"scripts":{"build":"tsc","dev":"tsx bin/campaign.ts","prepublishOnly":"npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.30.1","commander":"^12.1.0","dotenv":"^16.4.5"},"devDependencies":{"@types/node":"^22.9.0","tsx":"^4.19.2","typescript":"^5.6.3"},"publishConfig":{"access":"public"},"gitHead":"576896adc422aba20cf56da05b05010db7a723a4","_id":"@buzzlead/campaign-builder@0.1.0","_nodeVersion":"24.13.0","_npmVersion":"11.12.0","dist":{"integrity":"sha512-kEU2MHz4oc0km2OTsYOVrAJ5iD7ecMQHyuQTorsGBR6wGe9k/vFyO0fGX6e4d1pHEjZr+JdMDsgNcn1N1ffDSA==","shasum":"66b21df526be2c72358b7ddd085274fefe34af34","tarball":"https://registry.npmjs.org/@buzzlead/campaign-builder/-/campaign-builder-0.1.0.tgz","fileCount":28,"unpackedSize":65339,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDb0AAuPctIGDE3tvnntlJ2CZBYKU+ASlk/V1Puz9FsOQIhAMRiL6yE1Grj5PHc1v6opq+MLXre2gJm/8Wttvb5vDGQ"}]},"_npmUser":{"name":"troyaitken","email":"troy@buzzlead.io"},"directories":{},"maintainers":[{"name":"troyaitken","email":"troy@buzzlead.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/campaign-builder_0.1.0_1779043111592_0.3402946946380634"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-17T18:38:31.494Z","0.1.0":"2026-05-17T18:38:31.732Z","modified":"2026-05-17T18:38:31.969Z"},"maintainers":[{"name":"troyaitken","email":"troy@buzzlead.io"}],"description":"Drop your URL and a CSV of prospects. Get a research brief + 2 personalized cold emails for each. Free BYOL (bring-your-own-list) CLI from BuzzLead.","homepage":"https://buzzlead.io/resources/free-tools/campaign-builder-skill","keywords":["cold-email","outbound","campaign","byol","personalization","lead-generation","b2b","sales","cli","anthropic","claude","buzzlead"],"repository":{"type":"git","url":"git+https://github.com/Buzzlead-dev-org/campaign-builder.git"},"author":{"name":"BuzzLead","email":"troy@buzzlead.io","url":"https://buzzlead.io"},"bugs":{"url":"https://github.com/Buzzlead-dev-org/campaign-builder/issues"},"license":"MIT","readme":"# Campaign Builder\n\n> Drop your URL and a CSV of prospects. Get a research brief + 2 personalized cold emails for each.\n> BYOL — *bring your own list*. Free CLI from [BuzzLead](https://buzzlead.io).\n\n[![npm version](https://img.shields.io/npm/v/@buzzlead/campaign-builder.svg)](https://www.npmjs.com/package/@buzzlead/campaign-builder)\n[![license](https://img.shields.io/npm/l/@buzzlead/campaign-builder.svg)](./LICENSE)\n\nThe same engine that powers the [free web tool](https://buzzlead.io/resources/free-tools/campaign-builder-skill) — but you can throw an unlimited prospect list at it from your terminal.\n\n```bash\nnpx @buzzlead/campaign-builder \\\n  --my-site mycompany.com \\\n  --input prospects.csv \\\n  --out campaign.csv\n```\n\nFor each row in your CSV, you get back:\n- A short research brief (what they do, growth signal, main challenge, best angle)\n- **Email 1** — 4T framework, under 70 words\n- **Email 2** — tight problem-frame follow-up, under 90 words\n\nNo DiscoLike, no AI Ark, no contact lookup. *You already have the list.* This is the tool that turns your list into copy.\n\n---\n\n## What it does\n\nFor each prospect in your input list:\n\n1. **Crawl their website** via Jina Reader\n2. **Build a research brief** — Claude extracts what they do, their growth signals, their likely main challenge, and the best cold-outreach angle\n3. **Write Email 1** — 4T framework (Trigger / Think / Bridge / Talk), peer-to-peer voice, under 70 words\n4. **Write Email 2** — problem-frame + mechanism + soft CTA, under 90 words, different angle from Email 1\n\nCombined with a one-time analysis of your own site (the sender context), every email is personalized to the prospect's actual business.\n\n---\n\n## Input format\n\nProspect list as **CSV or JSON**. Required columns/keys:\n\n| Column | Required | Notes |\n|---|---|---|\n| `first_name` | ✓ | |\n| `last_name` |  | Optional but recommended |\n| `email` |  | Carried through to output unchanged |\n| `job_title` | ✓ | E.g. \"VP Sales\", \"Head of Operations\" |\n| `company` | ✓ | Display name |\n| `website_url` | ✓ | The site we crawl for research |\n| `linkedin_url` |  | Carried through |\n\n**CSV example:**\n```csv\nfirst_name,last_name,email,job_title,company,website_url,linkedin_url\nJane,Smith,jane@initech.com,VP Sales,Initech,https://initech.com,https://linkedin.com/in/jane\nJohn,Doe,john@umbrella.io,Head of Growth,Umbrella Corp,https://umbrella.io,\n```\n\n**JSON example:**\n```json\n[\n  { \"firstName\": \"Jane\", \"lastName\": \"Smith\", \"jobTitle\": \"VP Sales\", \"company\": \"Initech\", \"websiteUrl\": \"https://initech.com\" }\n]\n```\n\nHeader aliases are accepted: `firstname` / `first_name` / `First Name`, `title` / `role` / `job_title`, `website` / `url` / `domain` / `website_url`, etc.\n\n---\n\n## Install\n\n```bash\n# One-shot via npx\nnpx @buzzlead/campaign-builder --my-site mycompany.com --input prospects.csv\n\n# Or install globally\nnpm install -g @buzzlead/campaign-builder\ncampaign --my-site mycompany.com --input prospects.csv\n\n# Or as a library\nimport { runCampaign } from \"@buzzlead/campaign-builder\";\nconst result = await runCampaign({\n  mySiteUrl: \"mycompany.com\",\n  prospects: [/* ProspectInput[] */],\n});\n```\n\n---\n\n## API keys\n\nJust one required.\n\n| Key | Why | Where |\n|---|---|---|\n| `ANTHROPIC_API_KEY` | Site analysis + research + email generation | https://console.anthropic.com |\n\nOptional:\n- `JINA_API_KEY` — faster site scraping (anonymous works)\n\n---\n\n## Cost per run\n\nApproximate, at 10 prospects:\n\n| Provider | Calls | ~Cost |\n|---|---|---|\n| Anthropic | 1 (your site) + 3 × 10 (per prospect) = 31 calls | $0.20–0.50 |\n| Jina | 11 scrapes | ~$0.01 |\n| **Total** | | **~$0.20–0.50** |\n\nScales linearly. For 100 prospects: ~$2–5.\n\n---\n\n## CLI usage\n\n```\nUsage: campaign [options]\n\nRequired:\n  -m, --my-site <url>        Your company URL (sender context)\n  -i, --input <path>         Path to prospect CSV or JSON\n\nOptional:\n  -o, --out <path>           Output CSV path. Default: ./campaign.csv\n      --silent               Suppress progress output\n      --json                 Print full result as JSON to stdout\n```\n\n### Examples\n\n**Standard run from CSV:**\n```bash\ncampaign --my-site mycompany.com --input prospects.csv\n```\n\n**From JSON, pipe to JSON output:**\n```bash\ncampaign --my-site mycompany.com --input prospects.json --json > result.json\n```\n\n---\n\n## CSV output\n\nColumns:\n\n```\nfirst_name, last_name, email, job_title, company, website_url, linkedin_url,\nresearch_summary, email_1, email_2, skipped, skip_reason\n```\n\nEvery text field is double-quoted. Newlines inside cells are escaped as `\\n`. Skipped rows include the reason so you can audit.\n\n---\n\n## How it differs from the web tool\n\n| | Web tool | CLI |\n|---|---|---|\n| Prospect cap | 10 | Unlimited (your wallet's the limit) |\n| Lead gate | Required | None |\n| Auth | Shared keys | Your keys |\n| Input | Manual table entry | CSV or JSON file |\n| Library API | No | Yes |\n\n---\n\n## Library API\n\n```ts\nimport {\n  runCampaign,                    // end-to-end pipeline\n  scrapeWebsite,                   // step 1 helper\n  consolidateCompanyProfile,       // your-site analysis\n  consolidateProspectProfile,      // per-prospect research brief\n  generateEmail1,                  // 4T framework\n  generateEmail2,                  // problem-frame follow-up\n  buildCsv,                        // CSV output\n  parseProspectsCsv,               // input parsers\n  parseProspectsJson,\n} from \"@buzzlead/campaign-builder\";\n```\n\n---\n\n## Want this run continuously, on auto-pilot?\n\nCampaign Builder turns your existing list into copy. **BuzzLead the agency** runs the whole motion: sourcing new lists, sending the campaigns, handling replies, booking meetings. 10M+ cold emails sent. $8M+ in client revenue.\n\nIf you want the version with humans behind it, [talk to us at buzzlead.io](https://buzzlead.io).\n\n---\n\n## License\n\nMIT. Use it however you want.\n","readmeFilename":"README.md","_rev":"1-c6685e810c9d2a7f19b33d428b3fe8a2"}