auto-research-public
Autonomous cold email campaign launcher. Takes one target company domain, scrapes their…
Upload a CSV of leads + a variants YAML (produced by /campaign-copywriting) to Smartlead as a DRAFT campaign. Handles tag-scoped inbox selection, A/B/C variant assembly, custom field mapping, schedule config, and batch lead upload. ALWAYS creates in DRAFT — you review in
$ npx -y skills add growthenginenowoslawski/coldoutboundskills --skill smartlead-campaign-upload-public --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/smartlead-campaign-upload-publicContext preview
The summary Claude sees to decide when to auto-load this skill.
Upload a CSV of leads + a variants YAML (produced by /campaign-copywriting) to Smartlead as a DRAFT campaign. Handles tag-scoped inbox selection, A/B/C variant assembly, custom field mapping, schedule config, and batch lead upload. ALWAYS creates in DRAFT — you review in
name: smartlead-campaign-upload-public description: Upload a CSV of leads + a variants YAML (produced by /campaign-copywriting) to Smartlead as a DRAFT campaign. Handles tag-scoped inbox selection, A/B/C variant assembly, custom field mapping, schedule config, and batch lead upload. ALWAYS creates in DRAFT — you review in Smartlead UI and hit Start manually. Use after /campaign-copywriting, just before the campaign goes live.
Takes a `variants.yaml` (written by `/campaign-copywriting`) and a `leads.csv` (from your list-building skills) and creates a DRAFT campaign in Smartlead. You review the result in the Smartlead UI and press Start manually.
**This skill does NOT ship any email copy.** Copy comes from `/campaign-copywriting`. This skill is the mechanical upload layer — API calls only.
Cold email launches should never happen from a script. You hit Start in the Smartlead UI after reviewing:
The script sets all of this up in DRAFT so the review is trivial — verify and click Start.
Required columns:
Optional columns (passed through to Smartlead as custom fields):
Additional AI variable columns produced by `/campaign-copywriting` or `/personalization-subagent-pattern` — named fields only. The script does NOT accept arbitrary columns; this is intentional. If you need to add a field, update this skill.
Produced by `/campaign-copywriting`. Schema is in `references/variants-schema.yaml`.
Minimum required: `name`, `schedule`, `inbox_selection`, `sequences` with at least one step.
export SMARTLEAD_API_KEY=xxx npx tsx scripts/upload.ts \ --leads=profiles/<slug>/campaigns/<campaign-slug>/leads.csv \ --variants=profiles/<slug>/campaigns/<campaign-slug>/variants.yaml
Output:
✓ Campaign created: #12345678 ✓ Sequence saved (3 steps, 3 variants on step 1) ✓ 20 inboxes attached (tag=active, LRU by daily_sent_count) ✓ 1,847 leads uploaded (20 batches) ✓ Schedule set (M-F 08:00-17:00 EST, 30/day/inbox) Campaign is in DRAFT. Review + Start: → https://app.smartlead.ai/app/email-campaign/12345678
1. Load env (`SMARTLEAD_API_KEY` required) 2. Parse `leads.csv` — validate required columns, count rows 3. Parse `variants.yaml` — built-in minimal parser (~30 lines, no external dep) 4. `POST /campaigns/create` → get campaignId 5. `POST /campaigns/{id}/sequences` with all A/B/C variants 6. Query `/email-accounts?limit=100`, filter by `tag`, sort by `daily_sent_count` ASC (LRU), attach top N 7. Batch-upload leads (100 per batch) with standard custom fields mapped from CSV 8. `POST /campaigns/{id}/settings` (track off, stop on reply) 9. `POST /campaigns/{id}/schedule` with YAML values 10. Print campaign URL. **Do NOT activate.**
**Open the Smartlead URL printed at the end. Review the campaign. Hit Start when satisfied.** The script deliberately does not auto-activate.
After Start:
**Or wait:** if the best-practice check flagged issues, go back to `/campaign-copywriting` and revise before uploading.
Open-source Claude Code skills for cold email infrastructure, lead sourcing, copywriting, and operations. Built by GrowthEngineX from patterns across 1,000+ real B2B campaigns. 31 skills that work together.
Repo: growthenginenowoslawski/coldoutboundskills
Autonomous cold email campaign launcher. Takes one target company domain, scrapes their…
Use the Blitz API to find decision-makers at specific companies when you already have a list…
Creates cold email copy through a stepwise confirmation process. Use when writing email…
Generates 15-25+ cold outbound campaign ideas with targeting strategies, AI personalization…
Single "start here" orchestrator for new cold email operators. Asks infrastructure-status…
Complete beginner-friendly cold email toolkit. Walks from zero to launched campaign — domain…