Skip to content
Marketing
Skill

/cold-email-outreach

Run end-to-end B2B cold-email outreach through the Hyper MCP — enrich prospects with Apollo, scrape per-prospect signals from company sites and LinkedIn, draft personalized emails using proven hook frameworks, send via Gmail with safe defaults, and route replies into labeled

From plugin
hyper-marketing
10830 skills1 MCP

Claude Code

$ npx -y skills add hyperfx-ai/marketing-skills --skill cold-email-outreach --agent claude-code

SKILL.md

cold-email-outreach.SKILL.md
name: cold-email-outreach
description: Run end-to-end B2B cold-email outreach through the Hyper MCP — enrich prospects with Apollo, scrape per-prospect signals from company sites and LinkedIn, draft personalized emails using proven hook frameworks, send via Gmail with safe defaults, and route replies into labeled folders. Use when the user wants to write cold emails, run an outbound sequence, prospect a list, build a follow-up cadence, "reach out to leads," or asks why nobody is replying to their cold emails.
requires_toolkits:
  - gmail
  - instantly_toolkit
icon: gmail
short_description: B2B cold outreach with Apollo prospecting, personalization, Gmail sending, and follow-ups.

Cold Email Outreach

End-to-end cold outreach: research, draft, send, follow up, route replies. Strategy is grounded in proven hook frameworks (number-led / question / pain-point / benefit-first); the execution runs on Apollo, Firecrawl, the LinkedIn scraper, and Gmail through the Hyper MCP.

Out of scope — defer to other skills

| Request | Send them to | | --- | --- | | Lifecycle / nurture sequences for *warm* leads (welcome, onboarding, re-engagement, win-back) | `email-lifecycle` (planned) | | LinkedIn DMs, connection requests, or Sales Navigator workflows | (planned) | | Lead scoring, routing, deal-stage updates after a reply | `crm-revops` (planned) | | Scraping competitor *ads* | `meta-ads-library` |

Requirements

  • **Hyper MCP installed and connected.** [https://app.hyperfx.ai/mcp](https://app.hyperfx.ai/mcp)
  • **Gmail integration** connected at [https://app.hyperfx.ai/apps](https://app.hyperfx.ai/apps) — supplies the sending account.
  • **Apollo integration** connected — supplies prospect search and email enrichment.
  • **Firecrawl** (bundled) — for company-page signals.
  • **Optional: LinkedIn scraper** (bundled, runs through Apify) — for richer per-prospect personalization.

If `gmail_messages_send` is not found, the integration to connect is Gmail; if `apollo_people_search` is not found, it is Apollo.

How to run the tools in this skill

Every tool in this skill is named by its canonical tool name. Run it with the call your surface gives you:

| Surface | Find a tool | Run it | | --- | --- | --- | | Hyper chat | Call the tool by its name; `search_tools(queries=["<provider> <action>"])` shows its parameters | `<name>(...)` | | MCP client (Claude, Cursor, Codex, ChatGPT) | `search("<what you want to do>")`, then `describe("<name>")` | `call_read("<name>", {...})`, `call_write` or `call_destructive`: the one that `describe` names in `call_with` | | Hyper CLI | `hyperai search "<what you want to do>"`, then `hyperai describe <name>` | `hyperai call <name> --json '{...}'` |

If a tool is not found: in Hyper chat, find its toolkit id with `discover_toolkits` and pass it to `enable_toolkit`. On an MCP client or the CLI, tell the user which integration to connect in Hyper.

Tool surface

| Phase | Tools | | --- | --- | | Prospect research | `apollo_people_search`, `apollo_companies_search`, `apollo_people_match_bulk` (preferred for 2+ enrich), `apollo_people_match` (single only) | | Per-prospect signals | `firecrawl_urls_scrape`, `firecrawl_urls_scrape_batch`, `firecrawl_branding_extract`, `firecrawl_screenshots_create`, `scrape_linkedin_profiles` *(conditional — requires LinkedIn Apify integration)* | | Drafting | `gmail_drafts_create`, `gmail_drafts_update`, `gmail_drafts_get`, `gmail_drafts_list` | | Sending | `gmail_messages_send`, `gmail_drafts_send`, `gmail_messages_reply` | | Reply routing | `gmail_messages_list`, `gmail_messages_get`, `gmail_labels_create`, `gmail_labels_add`, `gmail_labels_remove`, `gmail_messages_move_to_label` *(takes `label_id` string, not `label_ids` array)* |

Critical rules

1. **Never loop `apollo_people_match` for multiple prospects.** For 2+ records always batch into `apollo_people_match_bulk`. Apollo's tool description warns about this explicitly — looping single-match calls burns credits and is much slower. 2. **Default send mode = drafts-first for review.** For any campaign with 4+ prospects, draft the first 1–3 with `gmail_drafts_create`, show them to the user, get explicit approval, then batch-send the rest with `gmail_messages_send`. Never send a full campaign without showing samples first. 3. **One label per campaign.** Create a `cold/<campaign-name>` label with `gmail_labels_create` at the start, apply it to every send, then track replies by searching that label. This is what makes Phase 6 reply routing actually work. 4. **Stay under Gmail's send limits.** ~500 messages/day per consumer Gmail account, ~2,000/day per Workspace user. Space sends out — see [`references/deliverability.md`](./references/deliverability.md) for warming and per-day pacing. 5. **Personalization must connect to the problem.** If the personalized opener could be deleted and the email still makes sense, it isn't doing any work. The opener should naturally bridge into *why you're emailing*. 6. **One ask per email, one CTA.** Interest-based (`Worth exploring?`) beats meeting requests on cold touch 1. 7. **Honor unsubscribes immediately.** Apply an `unsubscribed` label on any "remove me / not interested" reply and never re-target that address from the same Hyper workspace.

Workflow

Phase 1 — Define the campaign (always do this first)

Get the user to commit to:

1. **ICP** — Role(s), industry, company size, tech stack, geography. Concrete: "Heads of Growth at US-based pre-seed-to-Series-A B2B SaaS, 10–50 employees, using HubSpot." 2. **The ask** — What does a "yes" look like? (15-min call, async reply, demo, intro to someone else.) 3. **Value prop in one sentence** — "We help X do Y so they can Z." 4. **Proof point** — One specific result: "We helped Notion cut their CAC by 31% in 90 days." (Made up examples are worse than no example — get a real one.) 5. **Trigger / signal (optional but powerful)** — Funding round, hiring, pricing-page change, recent blog post, pr

Read more
@hyperfx-ai
Ships withhyper-marketing

Agent Skills for marketing — paid ads, social media, SEO, AI search, competitor research, ad creative generation, email lifecycle, analytics, operations, and more.

10830 skills1 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
108
Star history of hyperfx-ai/marketing-skills on GitHub, a chart by star-history.com

Other skills on hyper-marketing.

amazon-ads

amazon-ads

Plan and create Amazon Sponsored Products campaigns end-to-end via the Hyper MCP. Use when the user wants to launch Amazon Ads,…

brand-context

brand-context

Create and maintain a single brand-context.md — positioning, audience, personas, pain points, customer language, voice, proof…

More skills from other plugins.

seo

seo

Comprehensive SEO analysis for any website or business type. Full site audits, single-page analysis, technical SEO (crawlability,…

@agricidaniel@agricidanielInstall Skill
brag

brag

Turn the current project website into a short, polished, shareable launch video using Hyperframes. Use when someone says "/brag",…

brag2w21k
@latent-spaces@latent-spacesInstall Skill
geo-audit

geo-audit

Full website GEO+SEO audit with parallel subagent delegation. Orchestrates a comprehensive Generative Engine Optimization audit…

Questions about cold-email-outreach.

Which coding agents can use cold-email-outreach?
cold-email-outreach installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.