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
8730 skills1 MCP
Install
$ npx -y skills add hyperfx-ai/marketing-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.

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

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` and `apollo_people_search` are not in the agent's tool list, stop and tell the user to enable the Hyper MCP and connect Gmail + 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 | | --- | --- | --- | | MCP client (Claude, Cursor, Codex, ChatGPT) | `search("<what you want to do>")`, then `describe("<name>")` | `call("<name>", {...})` | | Hyper CLI | `hyperai search "<what you want to do>"`, then `hyperai describe <name>` | `hyperai call <name> --json '{...}'` |

If a tool is not found, its integration is not connected or not enabled for the workspace: stop and tell the user which integration to connect.

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, product launch, leadership change. 6. **Sender + reply-to** — Which Gmail account is sending. (Confirm with `gmail_labels_list` to verify the integration is live.) 7. **Volume + cadence** — Total prospects, max sends/day, follow-up gap patter

Read more
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.

Get the whole plugin
Stats
86
Stars
15
Forks
Active
Maintenance
Python
Language
MIT
License
2d ago
Last commit
4mo ago
Created

Repo: hyperfx-ai/marketing-skills

Other skills on hyper-marketing.