Skip to content
Marketing
Skill

/cold-email-outreach

End-to-end cold email outreach orchestration. Handles goal alignment, lead ingestion from any source (CSV, paste, CRM export, database), sequence design, email generation, campaign setup in the user's chosen outreach tool, and launch. Tool-agnostic — supports Smartlead (full MCP

From plugin
goose-skills
1.2k200 skills
Install
$ npx -y skills add gooseworks-ai/goose-skills --skill cold-email-outreach --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/cold-email-outreach

Context preview

The summary Claude sees to decide when to auto-load this skill.

End-to-end cold email outreach orchestration. Handles goal alignment, lead ingestion from any source (CSV, paste, CRM export, database), sequence design, email generation, campaign setup in the user's chosen outreach tool, and launch. Tool-agnostic — supports Smartlead (full MCP

SKILL.md

cold-email-outreach.SKILL.md
name: cold-email-outreach
description: >
  End-to-end cold email outreach orchestration. Handles goal alignment, lead
  ingestion from any source (CSV, paste, CRM export, database), sequence design,
  email generation, campaign setup in the user's chosen outreach tool, and launch.
  Tool-agnostic — supports Smartlead (full MCP automation), Instantly, Lemlist,
  Apollo, or manual CSV export.
tags: [outreach]

Cold Email Outreach

The final mile of the outbound pipeline. Takes leads from wherever the user has them, builds email sequences, loads campaigns into the user's chosen outreach tool, and launches.

**Tool-agnostic:** Asks the user which outreach platform they use. Defaults to Smartlead if they have MCP tools configured. Falls back to CSV export for any other tool or manual workflow.

When to Use

Use this skill when:

  • User says "launch a campaign", "send outreach", "email these leads", "set up cold email"
  • User has a list of leads and wants to run an outbound email campaign
  • User wants to create and configure a campaign in Smartlead or another outreach tool

Supported Outreach Tools

This skill does NOT assume a specific tool. It asks first, then adapts.

| Tool | Integration | How It Works | |------|------------|--------------| | **Smartlead** (default) | MCP tools (`mcp__smartlead__*`) | Full automation: create campaign, add sequences, import leads, allocate mailboxes, configure schedule, launch | | **Instantly** | CSV import | Generate CSV matching Instantly's import format, user uploads manually | | **Lemlist** | CSV import | Generate CSV with Lemlist-compatible columns | | **Apollo** | CSV import | Generate CSV matching Apollo sequence import format | | **Manual / Other** | CSV + instructions | Export leads + emails as generic CSV, provide setup instructions |

**Tool selection logic:** 1. Ask user in Phase 0: "Which outreach tool do you use?" 2. If **Smartlead** → use MCP tools for full automation 3. If **Instantly / Lemlist / Apollo** → generate tool-specific import CSV 4. If **Other or unknown** → generate generic CSV (`email`, `first_name`, `last_name`, `company`, `title`, `subject`, `body` per touch) and ask user for their tool's import requirements

Prerequisites

Environment Variables

**For Smartlead (full automation):**

SMARTLEAD_API_KEY=your_api_key_here

All Smartlead API calls go to `https://server.smartlead.ai/api/v1` with `?api_key=$SMARTLEAD_API_KEY` appended. Rate limit: 10 requests per 2 seconds.

**For CSV-based tools:** No env vars needed.

Phase 0: Intake

Ask all questions at once. Organize by category. Skip any already answered.

Campaign Goal

1. What's the objective? (book meetings, drive demo requests, get replies, nurture) 2. What's the outreach angle or hook? (hiring signal, competitor displacement, event-based, pain-based, cold database) 3. What should we name this campaign?

Outreach Tool

4. Which outreach tool do you use? (Smartlead / Instantly / Lemlist / Apollo / Other / Just give me a CSV)

Lead Source

5. Where are your leads? Accept any of these:

  • **CSV file** — read the file, map columns to required fields
  • **Pasted list** — names, emails, companies pasted directly
  • **CRM export** — Salesforce, HubSpot, or other CRM data
  • **Database query** — if the user has a database, help them query it
  • **Upstream output** — data from a prior task in this conversation

6. Any exclusions? (specific companies, recently contacted leads, certain titles) 7. Max campaign size? (default: 200)

**Minimum required per lead:** email address. Nice to have: first_name, last_name, company, title.

Sequence Design

8. How many touches? (default: 3) 9. Timing between touches? (default: Day 1 / Day 5 / Day 12) 10. Personalization tier? (Tier 1: merge fields only / Tier 2: segment-specific / Tier 3: unique per lead)

Sending Config (skip if CSV export)

11. Which email accounts should send? (list accounts or "use all available") 12. Sending schedule? (default: Mon-Fri 8am-5pm in recipient's timezone) 13. Daily send limit per account? (default: 30/day) 14. Track opens and clicks? (default: opens yes, clicks no)

Phase 1: Lead Ingestion

Parse Leads

Accept leads from whatever source the user provides:

  • **CSV file:** Read the file. Flexibly match columns:
  • `email` (required) — also matches `Email`, `email_address`
  • `first_name` — also matches `firstname`, `first`, `First Name`
  • `last_name` — also matches `lastname`, `last`, `Last Name`
  • `company_name` — also matches `company`, `organization`, `Company`
  • Any extra columns become custom fields
  • **Pasted data:** Parse whatever format the user provides. Extract emails, names, companies.
  • **CRM/Database:** Help the user query or export, then parse the result.

Validate & Deduplicate

  • Remove rows without a valid email
  • Deduplicate by email (keep first occurrence)
  • Report: total rows, valid, invalid, duplicates removed

Present & Confirm

Show a sample table (10-15 leads) with:

  • Name, Title, Company, Email

Tell user: total eligible leads, how many were invalid/removed.

Ask user to confirm or adjust before proceeding.

Phase 2: Sequence Design

Present the sequence plan as a table before writing any copy:

| Touch | Day | Email Type | Framework | CTA | |-------|-----|-----------|-----------|-----| | 1 | 1 | Cold intro | Signal-Proof-Ask | 15-min call | | 2 | 5 | New angle / asset | PAS | Resource offer | | 3 | 12 | Social proof | BAB | Open to chat? |

Get user approval on the structure before generating copy in Phase 3.

Phase 3: Email Generation

Write the email copy directly using these guidelines.

Email Structure Formula

Every cold email follows this skeleton:

Hook (1 sentence) → Evidence (1-2 sentences) → Offer (1 sentence)

**Word count targets:**

  • Cold intro (Touch 1): 50-90 words
  • Follow-up (Touch 2-3): 30-50 words
  • Breakup (final touch): 20-40 words

By Personalization Tier

**Tier 1 (

Read more
Ships withgoose-skills

Put your AI agent on the growth team. Research customers and competitors, analyze what is working, create the next campaign, and learn from the result.

Get the whole plugin

Other skills on goose-skills.