Agent skill

Smartlead Campaign Upload Public

by growthenginenowoslawski in growthenginenowoslawski/coldoutboundskills

Upload a CSV of leads + a variants YAML (produced by /campaign-copywriting) to Smartlead as a DRAFT campaign.

MITAuto-check passedWriting & Content

Install Smartlead Campaign Upload Public

skills CLI
$ npx skills add growthenginenowoslawski/coldoutboundskills --skill smartlead-campaign-upload-public -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install growthenginenowoslawski/coldoutboundskills smartlead-campaign-upload-public --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/growthenginenowoslawski/coldoutboundskills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/smartlead-campaign-upload-public .claude/skills/smartlead-campaign-upload-public && rm -rf skills-src

Use ~/.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/

Facts

Skill name
smartlead-campaign-upload-public
GitHub stars
753
Token cost
~1.2k tokens
SKILL.md length
492 words
Files
4 (incl. scripts, references)
Skills in repo
49
Repo updated
First seen
Licence
MIT

At a glance

Upload a CSV of leads + a variants YAML (produced by /campaign-copywriting) to Smartlead as a DRAFT campaign.

  • Works in 10 steps: Load env (SMARTLEAD_API_KEY required) → Parse leads.csv — validate required… → Parse variants.yaml — built-in minimal… → …
  • Tasks that involve Copywriting
  • SKILL.md covers Why DRAFT only, Inputs, Usage and Script flow, plus 4 more sections
  • Runs TypeScript scripts from its folder; calls npx; needs SMARTLEAD_API_KEY

What it does

Smartlead Campaign Upload Public is an agent skill from growthenginenowoslawski/coldoutboundskills. 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.

Its SKILL.md is about 1.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including scripts and reference files (for example `references/leads-csv-schema.md`, `references/variants-schema.yaml` and `scripts/upload.ts`).

It sits in Writing & Content, covering Copywriting, Email management 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.

When your agent uses it

  • Tasks that involve Copywriting
  • Tasks that involve Email management
  • Tasks that involve CSV and tabular files

Example prompts

  • “/smartlead-campaign-upload-public”

Requirements

  • Node.js
  • A credential in SMARTLEAD_API_KEY

Workflow steps

10 steps, taken from the first numbered list in SKILL.md.

  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.

What it can do on your machine

Read from SKILL.md and the folder at commit 25c5d85. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Ships 1 file in scripts/ (TypeScript), which the agent can run.

    Shell commands in SKILL.md call:

    • npx

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use npx, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • SMARTLEAD_API_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Smartlead Campaign Upload Public loads about 1.2k tokens when it runs, and up to ~2.1k if it reads all its reference files. Until then it costs about 103 tokens; SKILL.md has 492 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~103
When it runs · the whole SKILL.md, loaded when a task matches
~1.2k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~2.1k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from growthenginenowoslawski/coldoutboundskills at commit 25c5d85, republished under its MIT licence (© growthenginenowoslawski). 492 words, ~1,235 tokens.

Download SKILL.mdSave it as .claude/skills/smartlead-campaign-upload-public/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
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.

Smartlead Campaign Upload

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.

Why DRAFT only

Cold email launches should never happen from a script. You hit Start in the Smartlead UI after reviewing:

  • Subject lines + body previews
  • Inbox assignments (correct tag? correct count?)
  • Lead count and a few random lead rows
  • Schedule (timezone + hours + throttle)

The script sets all of this up in DRAFT so the review is trivial — verify and click Start.

Inputs

leads.csv

Required columns:

  • email
  • first_name
  • last_name
  • company_name

Optional columns (passed through to Smartlead as custom fields):

  • company_domain
  • title
  • linkedin_url
  • situation_line (AI-generated per-lead context)
  • value_line (AI-generated value mapping)
  • cta_line (AI-generated CTA angle)

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.

variants.yaml

Produced by /campaign-copywriting. Schema is in references/variants-schema.yaml.

Minimum required: name, schedule, inbox_selection, sequences with at least one step.

Usage

bash
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

Script flow

  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.
Show full SKILL.md (203 more words)Show less

Gotchas

  • Tag must exist and be applied to inboxes first. Use /smartlead-inbox-manager to tag inboxes as active before running this upload.
  • Inbox count. If inbox_selection.count exceeds tagged inboxes, the script attaches all available and warns.
  • Leads CSV size. Tested up to 10K rows; larger runs may hit API rate limits. Script has built-in retry with exponential backoff.
  • Variants.yaml mismatch. If /campaign-copywriting didn't produce the exact schema, the script fails fast with a clear error pointing at the offending field.
  • Email duplicates. Smartlead deduplicates per campaign server-side. Still, dedupe your CSV first with /list-quality-scorecard.

What to do next

Open the Smartlead URL printed at the end. Review the campaign. Hit Start when satisfied. The script deliberately does not auto-activate.

After Start:

  • Wait 21 days, then run /positive-reply-scoring on the campaign to measure.
  • Every Monday: run /email-deliverability-audit --days=7 (see /cold-email-weekly-rhythm).

Or wait: if the best-practice check flagged issues, go back to /campaign-copywriting and revise before uploading.

  • /campaign-copywriting — produces variants.yaml
  • /smartlead-inbox-manager — required prep: inboxes must be tagged active before upload
  • /list-quality-scorecard — dedupe + verify leads.csv before upload
  • /positive-reply-scoring — run 21 days post-launch to measure
  • /cold-email-weekly-rhythm — operational cadence after launch

Files

  • scripts/upload.ts — the upload script
  • references/variants-schema.yaml — blank schema reference (no example copy content)
  • references/leads-csv-schema.md — column spec

© growthenginenowoslawski, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 3 other files (scripts, references) in skills/smartlead-campaign-upload-public of growthenginenowoslawski/coldoutboundskills.

  • SKILL.md
  • references/leads-csv-schema.md
  • references/variants-schema.yaml
  • scripts/upload.ts

Open the folder on GitHubat commit 25c5d85

Compare with similar skills

Smartlead Campaign Upload Public 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.

Smartlead Campaign Upload Public compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Smartlead Campaign Upload Public this skillgrowthenginenowoslawski/coldoutboundskills753—~1.2kAutomated safety check: PassMIT
Data2story ProQinghongLin/data2story-skill155—~14kAutomated safety check: NotesMIT
Apify Lead Scoring Enrichmentapify/awesome-skills266—~4.4kAutomated safety check: NotesApache-2.0
Asd Ste100danyuchn/asd-ste100-skill4.3k—~4.1kAutomated safety check: PassMIT
AI Copywritermikiarlo3/ai-copywriter1.2k—~12kAutomated safety check: PassMIT
Brand Voice Guideluongnv89/claude-howto42k—~609Automated safety check: PassMIT

Similar skills

  • Data2story Pro

    QinghongLin/data2story-skill

    A skill your agent uses to turn a dataset into a verifiable multimedia blog (a data story / data-driven article / interactive dashboard from a dataset).

    155 GitHub stars~14k tokensUpdated 3 mo ago
    Writing & ContentAuto-check: notes
  • Apify Lead Scoring Enrichment

    apify/awesome-skills

    Official

    Score and enrich a CSV of B2B leads using Apify Actors. An agent skill from apify/awesome-skills.

    266 GitHub stars~4.4k tokensUpdated 18 days ago
    Data & AnalyticsAuto-check: notes
  • Asd Ste100

    danyuchn/asd-ste100-skill

    A skill your agent uses when English text must be parsed without a human to resolve ambiguity — tool descriptions, error messages, inter-agent instructions, system prompts, status reports — and…

    4.3k GitHub stars~4.1k tokensUpdated 7 days ago
    Writing & ContentAuto-check passed
  • AI Copywriter

    mikiarlo3/ai-copywriter

    Write copy that converts and doesn't sound like a robot. An agent skill from mikiarlo3/ai-copywriter.

    1.2k GitHub stars~12k tokensUpdated 2 mo ago
    Writing & ContentAuto-check passed
  • Brand Voice Guide

    luongnv89/claude-howto

    Ensure all communication matches brand voice and tone guidelines. Use when creating marketing copy, customer communications, public-facing content, or when…

    42k GitHub stars~609 tokensUpdated today
    Writing & ContentAuto-check passed
  • Ralph Copywriter

    muratcankoylan/ralph-wiggum-marketer

    A skill your agent uses when the user asks to "analyze my content", "learn my writing style", "research competitors", "find content angles", "improve my blog", "write like me", "embody my brand…

    778 GitHub stars~2.4k tokensUpdated 6 mo ago
    Writing & ContentAuto-check passed

More from growthenginenowoslawski/coldoutboundskills

All 49 skills in this repo
  • Email Deliverability Audit

    growthenginenowoslawski/coldoutboundskills

    Diagnostic audit for a running cold email program. An agent skill from growthenginenowoslawski/coldoutboundskills.

    753 GitHub stars~3.4k tokensUpdated 5 days ago
    Auto-check passed
  • Icp Onboarding

    growthenginenowoslawski/coldoutboundskills

    Conversational intake for cold email campaigns. An agent skill from growthenginenowoslawski/coldoutboundskills.

    753 GitHub stars~1.9k tokensUpdated 5 days ago
    Auto-check passed
  • List Builder

    growthenginenowoslawski/coldoutboundskills

    META skill — build the largest possible qualified lead list for any request, end to end.

    753 GitHub stars~4.7k tokensUpdated 5 days ago
    Auto-check: notes
  • Auto Research Public

    growthenginenowoslawski/coldoutboundskills

    Autonomous cold email campaign launcher. An agent skill from growthenginenowoslawski/coldoutboundskills.

    753 GitHub stars~2.9k tokensUpdated 5 days ago
    Auto-check passed
  • Blitz List Builder

    growthenginenowoslawski/coldoutboundskills

    Use the Blitz API to find decision-makers at specific companies when you already have a list of company domains.

    753 GitHub stars~2k tokensUpdated 5 days ago
    Auto-check passed
  • Deliverability Test Public

    growthenginenowoslawski/coldoutboundskills

    Compare reply rates, bounce rates, and positive reply rates broken down by inbox type (SMTP / Gmail / Outlook) for a Smartlead account.

    753 GitHub stars~1k tokensUpdated 5 days ago
    Auto-check passed

Questions about Smartlead Campaign Upload Public

What does Smartlead Campaign Upload Public do?

Upload a CSV of leads + a variants YAML (produced by /campaign-copywriting) to Smartlead as a DRAFT campaign. Smartlead Campaign Upload Public is an agent skill from growthenginenowoslawski/coldoutboundskills. Upload a CSV of leads + a variants YAML (produced by /campaign-copywriting) to Smartlead as a DRAFT campaign.

When should I use Smartlead Campaign Upload Public?

Smartlead Campaign Upload Public fits situations like: tasks that involve Copywriting; tasks that involve Email management; tasks that involve CSV and tabular files.

How do I install Smartlead Campaign Upload Public in Claude Code?

Run `npx skills add growthenginenowoslawski/coldoutboundskills --skill smartlead-campaign-upload-public -a claude-code`. Or copy the skill folder (skills/smartlead-campaign-upload-public in growthenginenowoslawski/coldoutboundskills) into .claude/skills/smartlead-campaign-upload-public in your project. Claude Code loads it when a task matches its description.

How do I install Smartlead Campaign Upload Public in Codex?

Run `npx skills add growthenginenowoslawski/coldoutboundskills --skill smartlead-campaign-upload-public -a codex`. Or copy the skill folder (skills/smartlead-campaign-upload-public in growthenginenowoslawski/coldoutboundskills) into .agents/skills/smartlead-campaign-upload-public in your project. Codex loads it when a task matches its description.

Can I use Smartlead Campaign Upload Public in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add growthenginenowoslawski/coldoutboundskills --skill smartlead-campaign-upload-public -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/smartlead-campaign-upload-public, .gemini/skills/smartlead-campaign-upload-public, .github/skills/smartlead-campaign-upload-public and .opencode/skills/smartlead-campaign-upload-public in your project.

What does Smartlead Campaign Upload Public need to run?

Going by SKILL.md and its folder, Smartlead Campaign Upload Public needs TypeScript for the scripts in its folder, the command-line tools its instructions call (npx) and credentials named SMARTLEAD_API_KEY. Our summary lists: Node.js; A credential in SMARTLEAD_API_KEY.

Does Smartlead Campaign Upload Public access the network?

SKILL.md contains no URLs. Its commands use npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Smartlead Campaign Upload Public safe to install?

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.

What licence does Smartlead Campaign Upload Public use?

Smartlead Campaign Upload Public is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Smartlead Campaign Upload Public use?

About 1.2k tokens (SKILL.md is roughly 4.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 912 tokens, read only when the agent opens those files.

What are the alternatives to Smartlead Campaign Upload Public?

Skills that share tags, products or a category with Smartlead Campaign Upload Public: Data2story Pro (QinghongLin/data2story-skill, 155 stars), Apify Lead Scoring Enrichment (apify/awesome-skills, 266 stars), Asd Ste100 (danyuchn/asd-ste100-skill, 4.3k stars) and AI Copywriter (mikiarlo3/ai-copywriter, 1.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Smartlead Campaign Upload Public?

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.