{"id":"1f668764-64bd-473a-95bf-722578eae6b8","shortId":"6jYDbL","kind":"skill","title":"cold-email-outreach","tagline":"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 fold","description":"# Cold Email Outreach\n\nEnd-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.\n\n## Out of scope — defer to other skills\n\n| Request | Send them to |\n| --- | --- |\n| Lifecycle / nurture sequences for *warm* leads (welcome, onboarding, re-engagement, win-back) | `email-lifecycle` (planned) |\n| LinkedIn DMs, connection requests, or Sales Navigator workflows | (planned) |\n| Lead scoring, routing, deal-stage updates after a reply | `crm-revops` (planned) |\n| Scraping competitor *ads* | `meta-ads-library` |\n\n## Requirements\n\n- **Hyper MCP installed and connected.** [https://app.hyperfx.ai/mcp](https://app.hyperfx.ai/mcp)\n- **Gmail integration** connected at [https://app.hyperfx.ai/integrations](https://app.hyperfx.ai/integrations) — supplies the sending account.\n- **Apollo integration** connected — supplies prospect search and email enrichment.\n- **Firecrawl** (bundled) — for company-page signals.\n- **Optional: LinkedIn scraper** (bundled, runs through Apify) — for richer per-prospect personalization.\n\nIf `gmail_send_message` and `apollo_mixed_people_search` are not in the agent's tool list, stop and tell the user to enable the Hyper MCP and connect Gmail + Apollo.\n\n## Tool surface\n\n| Phase | Tools |\n| --- | --- |\n| Prospect research | `apollo_mixed_people_search`, `apollo_mixed_companies_search`, `apollo_people_bulk_match` (preferred for 2+ enrich), `apollo_people_match` (single only) |\n| Per-prospect signals | `firecrawl_scrape_url`, `firecrawl_batch_scrape`, `firecrawl_extract_branding`, `firecrawl_screenshot`, `scrape_linkedin_profiles` *(conditional — requires LinkedIn Apify integration)* |\n| Drafting | `gmail_create_draft`, `gmail_update_draft`, `gmail_get_draft`, `gmail_list_drafts` |\n| Sending | `gmail_send_message`, `gmail_send_draft`, `gmail_reply_to_message` |\n| Reply routing | `gmail_list_messages`, `gmail_get_message`, `gmail_create_label`, `gmail_add_labels`, `gmail_remove_labels`, `gmail_move_email_to_label` *(takes `label_id` string, not `label_ids` array)* |\n\n## Critical rules\n\n1. **Never loop `apollo_people_match` for multiple prospects.** For 2+ records always batch into `apollo_people_bulk_match`. Apollo's tool description warns about this explicitly — looping single-match calls burns credits and is much slower.\n2. **Default send mode = drafts-first for review.** For any campaign with 4+ prospects, draft the first 1–3 with `gmail_create_draft`, show them to the user, get explicit approval, then batch-send the rest with `gmail_send_message`. Never send a full campaign without showing samples first.\n3. **One label per campaign.** Create a `cold/<campaign-name>` label with `gmail_create_label` 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.\n4. **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.\n5. **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*.\n6. **One ask per email, one CTA.** Interest-based (`Worth exploring?`) beats meeting requests on cold touch 1.\n7. **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.\n\n## Workflow\n\n### Phase 1 — Define the campaign (always do this first)\n\nGet the user to commit to:\n\n1. **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.\"\n2. **The ask** — What does a \"yes\" look like? (15-min call, async reply, demo, intro to someone else.)\n3. **Value prop in one sentence** — \"We help X do Y so they can Z.\"\n4. **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.)\n5. **Trigger / signal (optional but powerful)** — Funding round, hiring, pricing-page change, recent blog post, product launch, leadership change.\n6. **Sender + reply-to** — Which Gmail account is sending. (Confirm with `gmail_list_labels` to verify the integration is live.)\n7. **Volume + cadence** — Total prospects, max sends/day, follow-up gap pattern.\n\nIf they're stuck on any of these, push back. A campaign without proof or a clear ask will not perform regardless of how clever the writing is.\n\n### Phase 2 — Build & enrich the prospect list\n\n```\n# Search by ICP\napollo_mixed_people_search(\n  person_titles=[\"Head of Growth\", \"VP Growth\", \"Director of Growth\"],\n  organization_num_employees_ranges=[\"11,50\"],\n  person_locations=[\"United States\"],\n  per_page=50,\n)\n```\n\nThen for the prospects you actually want to contact, batch-enrich for emails:\n\n```\n# CORRECT — one bulk call for many prospects\napollo_people_bulk_match(\n  details=[\n    {\"first_name\": \"...\", \"last_name\": \"...\", \"domain\": \"...\"},\n    ...up to 10 per call...\n  ],\n  reveal_personal_emails=True,\n)\n```\n\nOnly fall back to `apollo_people_match` for single-prospect lookups (e.g., the user pastes one LinkedIn URL).\n\nFor deeper company-level context (industry, revenue range, tech stack), call `apollo_mixed_companies_search` by organization name on the companies you want to enrich. Note that person search results already include core company fields (headcount, industry, location) — only reach for `apollo_mixed_companies_search` when you need data beyond what the person search returns.\n\n### Phase 3 — Per-prospect signals (the personalization layer)\n\nFor each prospect, gather one *specific* observation that connects to the problem you solve. Use the cheapest signal that works:\n\n| Cost | Tool | Use it for |\n| --- | --- | --- |\n| Free (already have it) | Apollo response fields | Title change, recent role start, company headcount jump, funding |\n| Cheap | `firecrawl_scrape_url` of the careers / pricing / blog page | \"You're hiring 4 SDRs\", \"Pricing pages says enterprise plan launching\", \"Latest blog post is about X\" |\n| Cheap (multi-page) | `firecrawl_batch_scrape` | Same observation across many sites in one call |\n| Medium | `firecrawl_extract_branding` | Brand voice for the email tone, brand colors if you'll send a follow-up image |\n| Higher *(conditional)* | `scrape_linkedin_profiles(profile_urls=[...])` *(requires LinkedIn Apify integration — skip if not connected)* | Recent post, mutual connection, recent job change, school/employer overlap |\n\nPersonalization tiers (use the highest tier you can afford for *this* campaign):\n\n- **Tier 1 (mass / low-effort)** — first name + role + company + industry. Acceptable only when the *value prop* is sharp enough to carry the email on its own. Reply rates: low.\n- **Tier 2 (signal-based)** — the prospect is in a role/stage where the problem you solve is acute (e.g., a new Head of Growth in their first 60 days). Reply rates: meaningfully better.\n- **Tier 3 (observation-based)** — references something from the company site, pricing page, careers page, or a recent product launch. This is the sweet spot.\n- **Tier 4 (deep)** — references a recent LinkedIn post, blog post they wrote, or talk they gave. Reserve for high-value targets.\n\nAnything below Tier 2 should be treated with suspicion — `{{FirstName}}` swaps don't count as personalization.\n\n### Phase 4 — Draft emails (drafts-first by default)\n\nPick a framework that matches the situation. The four shapes that consistently work:\n\n- **Observation → Problem → Proof → Ask** — \"You're hiring SDRs. That usually means meetings/SDR ratio is the bottleneck. We helped [company] hit X. Worth exploring?\"\n- **Question → Value → Ask** — \"Struggling with [problem]? We do [Y]. [Company Z] saw [result]. Worth a look?\"\n- **Trigger → Insight → Ask** — \"Congrats on [funding/launch]. That usually creates [Y challenge]. We've helped similar teams with that. Curious?\"\n- **Story → Bridge → Ask** — \"[Similar company] had [problem]. They [solved it this way with us]. Relevant to you?\"\n\nSee [`references/frameworks.md`](./references/frameworks.md) for full examples and when each shape works best.\n\n**Subject lines.** Short, lowercase, internal-looking. 2–4 words. No emojis, no first names, no urgency tricks. Targets: looks-like-a-colleague-sent-it. Examples: `quick question`, `reply rates`, `hiring ops`, `q3 forecast`, `for {{company}}`. Avoid: `Increase your revenue 10x!`, `John, are you free Thursday?`, `[URGENT] follow-up`.\n\n**Voice rules.**\n\n- Write like a peer, not a vendor. Use contractions. Read it aloud — if it sounds like marketing copy, rewrite it.\n- \"You/your\" should outnumber \"I/we\" by ≥2:1.\n- Every sentence must move the reader toward replying. The best cold emails feel like they could have been *shorter*, not longer.\n- Calibrate to seniority: C-suite → ultra-brief and peer-level. Mid-level → more specific value. Technical → precise, no fluff, respect their intelligence.\n\n**What to avoid (these are the AI-tells reviewers immediately spot):**\n\n- \"I hope this email finds you well.\" / \"I came across your profile.\"\n- \"leverage\", \"synergy\", \"best-in-class\", \"leading provider\", \"circle back\"\n- Feature dumps. One proof point beats ten features.\n- HTML, images, multiple links.\n- Fake `Re:` / `Fwd:` subject lines.\n- Identical templates with only `{{FirstName}}` swapped.\n- Asking for a 30-minute call on touch 1.\n\n**Drafts-first send pattern (default for any 4+ prospect campaign):**\n\n```\n# 1. Create label for the campaign once — capture the returned id\nlabel = gmail_create_label(name=\"cold/q3-growth-leads\")\ncampaign_label_id = label[\"id\"]\n\n# 2. Draft the first 1-3 prospects for user review\nfor p in prospects[:3]:\n    gmail_create_draft(\n      to=p[\"email\"],\n      subject=\"quick question\",\n      body=render_email(framework=\"observation\", prospect=p),\n    )\n\n# 3. Show drafts to user, await explicit approval\n\n# 4. After approval, send and label each message\nfor p in prospects[3:]:\n    result = gmail_send_message(\n      to=p[\"email\"],\n      subject=\"quick question\",\n      body=render_email(framework=\"observation\", prospect=p),\n    )\n    gmail_add_labels(message_id=result[\"id\"], label_ids=[campaign_label_id])\n```\n\nIf the user wants every email reviewed, use `gmail_create_draft` for all of them and send via `gmail_send_draft` after approval. If the user is confident and the templates are pre-approved (e.g., they've run this campaign shape before), you can skip directly to `gmail_send_message` from prospect 1. Default behavior is drafts-first.\n\n### Phase 5 — Run the follow-up cadence\n\n3–5 total touches with widening gaps. Each follow-up adds something new — a different angle, fresh proof, a useful resource. \"Just checking in\" gives the reader no reason to respond.\n\nDefault cadence (adjust to the user's situation):\n\n| Touch | Day | Angle | Tool |\n| --- | --- | --- | --- |\n| 1 | 0 | Initial framework (observation/question/trigger/story) | `gmail_send_message` |\n| 2 | +3 | Reply in the same thread, add a one-line specific proof | `gmail_reply_to_message` |\n| 3 | +7 | Different angle (if 1 was observation, try question or value-first) | `gmail_reply_to_message` |\n| 4 | +14 | Useful free resource — case study, calculator, teardown | `gmail_reply_to_message` |\n| 5 | +21 | Breakup email. \"Closing your file unless I hear back. Worth keeping the door open?\" | `gmail_reply_to_message` |\n\nAlways reply in the original thread (`gmail_reply_to_message` with the `message_id` returned from the touch-1 send) — preserves context and improves deliverability. See [`references/follow-up-sequences.md`](./references/follow-up-sequences.md) for angle rotation, breakup-email templates, and how to prune prospects mid-sequence.\n\n### Phase 6 — Track replies and route them\n\n```\n# Pull all replies on the campaign label from the last 7 days\ngmail_list_messages(query=\"label:cold/q3-growth-leads is:unread newer_than:7d\")\n```\n\nFor each reply, read the body with `gmail_get_message(message_id=...)`, classify it, and label:\n\n| Classification | Label | What to do |\n| --- | --- | --- |\n| Interested (\"yes / tell me more / send a calendar\") | `cold/q3-growth-leads/interested` | Stop the sequence. Hand off (eventually `crm-revops` once shipped). |\n| Objection (\"we use X / no budget / try us in Q4\") | `cold/q3-growth-leads/objection` | Reply with one specific response, then stop sequence. |\n| Not now (\"circle back later\") | `cold/q3-growth-leads/not-now` | Stop sequence. Re-tag for re-engagement in 90 days. |\n| Unsubscribe (\"remove me / not interested\") | `cold/q3-growth-leads/unsubscribed` | Stop sequence. Add `unsubscribed` global label. Never re-contact. |\n| Out-of-office | `cold/q3-growth-leads/ooo` | Pause sequence, resume after the OOO end date in the message. |\n\nApply classification and clear unread with two separate calls:\n\n```\ngmail_add_labels(message_id=..., label_ids=[classification_label_id])\ngmail_remove_labels(message_id=..., label_ids=[\"UNREAD\"])\n```\n\nCreate the sub-labels once with `gmail_create_label` and capture their IDs before the routing loop.\n\n## Quality check (before any send)\n\nRead each draft against this gut-check. Reject any that fail more than one:\n\n- Does it sound like a human wrote it? (Read it aloud.)\n- Would *you* reply if you got this?\n- Does every sentence serve the reader, not the sender?\n- Is the personalization connected to *the problem you solve* — not just a generic compliment?\n- Is there one clear, low-friction ask?\n- Does the subject line look like it came from a colleague?\n- Is the email under ~120 words on touch 1?\n\n## Reference workflows\n\nFor long-form material — read on demand:\n\n| Reference | When to read |\n| --- | --- |\n| [`references/frameworks.md`](./references/frameworks.md) | Choosing a framework, full examples, calibrating tone by seniority |\n| [`references/follow-up-sequences.md`](./references/follow-up-sequences.md) | Building the multi-touch cadence, angle rotation, breakup email templates |\n| [`references/deliverability.md`](./references/deliverability.md) | Gmail rate limits, sender warming, SPF/DKIM/DMARC, list hygiene, blocklist recovery |","tags":["cold","email","outreach","marketing","skills","hyperfx-ai","agent-skills","ai-agent","claude","claude-code","claude-skills","codex"],"capabilities":["skill","source-hyperfx-ai","skill-cold-email-outreach","topic-agent-skills","topic-ai-agent","topic-claude","topic-claude-code","topic-claude-skills","topic-codex","topic-cursor","topic-google-ads","topic-hermes","topic-marketing","topic-mcp","topic-meta-ads"],"categories":["marketing-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/hyperfx-ai/marketing-skills/cold-email-outreach","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add hyperfx-ai/marketing-skills","source_repo":"https://github.com/hyperfx-ai/marketing-skills","install_from":"skills.sh"}},"qualityScore":"0.462","qualityRationale":"deterministic score 0.46 from registry signals: · indexed on github topic:agent-skills · 24 github stars · SKILL.md body (14,491 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T19:05:15.286Z","embedding":null,"createdAt":"2026-05-07T13:06:42.671Z","updatedAt":"2026-05-18T19:05:15.286Z","lastSeenAt":"2026-05-18T19:05:15.286Z","tsv":"'+14':1776 '+21':1789 '+3':1740 '+7':1758 '-1':1826 '-3':1543 '/integrations](https://app.hyperfx.ai/integrations)':174 '/mcp](https://app.hyperfx.ai/mcp)':167 '/references/deliverability.md':495,2164 '/references/follow-up-sequences.md':1835,2151 '/references/frameworks.md':1302,2140 '0':1732 '000/day':486 '1':345,401,557,587,601,1078,1391,1504,1516,1542,1672,1731,1762,2124 '10':627,846 '10x':1353 '11':804 '120':2120 '15':641 '2':259,355,383,485,632,777,1108,1190,1319,1390,1538,1739 '3':402,434,651,929,1141,1552,1569,1589,1687,1757 '30':1499 '31':679 '4':396,472,666,991,1166,1204,1320,1513,1577,1775 '5':503,695,1680,1688,1788 '50':628,805,812 '500':479 '6':467,539,715,1852 '60':1134 '7':558,736,1868 '7d':1880 '90':681,1957 'accept':1088 'account':178,484,722 'across':1014,1460 'actual':470,818 'acut':1124 'ad':154,157 'add':325,1608,1698,1746,1967,2001 'address':579 'adjust':1721 'afford':1073 'agent':221 'ai':1446 'ai-tel':1445 'aloud':1376,2066 'alreadi':903,963 'alway':357,591,1808 'angl':1703,1729,1760,1837,2158 'anyth':1187 'apifi':201,287,1050 'apollo':22,89,179,213,238,245,249,253,261,348,360,364,786,834,857,884,914,966 'app.hyperfx.ai':166,173 'app.hyperfx.ai/integrations](https://app.hyperfx.ai/integrations)':172 'app.hyperfx.ai/mcp](https://app.hyperfx.ai/mcp)':165 'appli':450,562,1991 'approv':414,1576,1579,1641,1653 'array':342 'ask':541,634,765,1228,1250,1266,1285,1496,2104 'async':644 'avoid':1349,1441 'await':1574 'b2b':10,625 'back':124,757,855,1472,1798,1944 'base':548,618,1111,1144 'batch':274,358,417,823,1010 'batch-enrich':822 'batch-send':416 'beat':551,1478 'behavior':1674 'benefit':83 'benefit-first':82 'best':1311,1401,1466 'best-in-class':1465 'better':1139 'beyond':922 'blocklist':2173 'blog':709,986,1000,1173 'bodi':1562,1600,1886 'bottleneck':1240 'brand':278,1023,1024,1030 'breakup':1790,1840,2160 'breakup-email':1839 'bridg':533,1284 'brief':1421 'budget':1927 'build':778,2152 'bulk':255,362,829,836 'bundl':189,198 'burn':377 'c':1417 'c-suit':1416 'cac':677 'cadenc':738,1686,1720,2157 'calcul':1782 'calendar':1909 'calibr':1413,2146 'call':376,643,830,848,883,1019,1501,1999 'came':1459,2112 'campaign':394,429,438,590,759,1076,1515,1521,1533,1616,1659,1863 'captur':1523,2029 'career':984,1153 'carri':1098 'case':1780 'challeng':1274 'chang':707,714,970,1062 'cheap':978,1005 'cheapest':953 'check':1710,2037,2048 'choos':2141 'circl':1471,1943 'class':1468 'classif':1897,1992,2007 'classifi':1893 'clear':764,1994,2100 'clever':772 'close':1792 'cold':2,12,52,59,441,555,1402 'cold-email':11 'cold-email-outreach':1 'cold/q3-growth-leads':1532,1875 'cold/q3-growth-leads/interested':1910 'cold/q3-growth-leads/not-now':1946 'cold/q3-growth-leads/objection':1932 'cold/q3-growth-leads/ooo':1979 'cold/q3-growth-leads/unsubscribed':1964 'colleagu':1335,2115 'color':1031 'commit':599 'compani':29,192,251,606,875,886,893,906,916,974,1086,1149,1243,1257,1287,1348 'company-level':874 'company-pag':191 'competitor':153 'compliment':2096 'concret':611 'condit':284,1042 'confid':1646 'confirm':725 'congrat':1267 'connect':131,164,170,181,236,506,945,1055,1059,2086 'consist':1223 'consum':482 'contact':821,1974 'context':877,1829 'contract':1373 'copi':1382 'core':905 'correct':827 'cost':957 'could':514,1407 'count':1200 'creat':291,322,405,439,445,1272,1517,1529,1554,1628,2018,2026 'credit':378 'critic':343 'crm':149,1918 'crm-revop':148,1917 'cta':545 'curious':1282 'cut':675 'data':921 'date':1987 'day':501,682,1135,1728,1869,1958 'deal':142 'deal-stag':141 'deep':1167 'deeper':873 'default':45,384,1211,1510,1673,1719 'defer':103 'defin':588 'delet':516 'deliver':1832 'demand':2134 'demo':646 'descript':367 'detail':838 'differ':1702,1759 'direct':1665 'director':797 'dms':130 'domain':843 'door':1802 'draft':33,62,289,292,295,298,301,308,388,398,406,1205,1208,1506,1539,1555,1571,1629,1639,1677,2043 'drafts-first':387,1207,1505,1676 'dump':1474 'e.g':865,1125,1654 'effort':1082 'els':650 'email':3,13,35,53,126,186,332,519,538,543,826,851,1028,1100,1206,1403,1454,1558,1564,1596,1602,1624,1791,1841,2118,2161 'email-lifecycl':125 'emoji':1323 'employe':629,802 'enabl':231 'end':7,9,56,58,1986 'end-to-end':6,55 'engag':121,1955 'enough':1096 'enrich':19,187,260,779,824,897 'enterpris':996 'eventu':1916 'everi':453,1392,1623,2075 'exampl':685,690,1305,1338,2145 'execut':86 'explicit':371,413,1575 'explor':550,1247 'extract':277,1022 'fail':2052 'fake':1485 'fall':854 'featur':1473,1480 'feel':1404 'field':907,968 'file':1794 'find':1455 'firecrawl':90,188,270,273,276,279,979,1009,1021 'first':84,389,400,433,594,839,1083,1133,1209,1325,1507,1541,1678,1770 'firstnam':1196,1494 'fluff':1435 'fold':51 'follow':64,744,1038,1361,1684,1696 'follow-up':743,1037,1360,1683,1695 'forecast':1346 'form':2130 'four':1220 'framework':39,74,1214,1565,1603,1734,2143 'free':962,1357,1778 'fresh':1704 'friction':2103 'full':428,1304,2144 'fund':701,977 'funding/launch':1269 'fwd':1487 'gap':746,1693 'gather':940 'gave':1180 'generic':2095 'geographi':610 'get':297,319,412,595,691,1889 'give':1712 'global':1969 'gmail':42,95,168,209,237,290,293,296,299,303,306,309,315,318,321,324,327,330,404,422,444,475,483,721,727,1528,1553,1591,1607,1627,1637,1667,1736,1753,1771,1784,1804,1814,1870,1888,2000,2010,2025,2165 'got':2072 'ground':70 'growth':614,794,796,799,1130 'gut':2047 'gut-check':2046 'hand':1914 'head':612,792,1128 'headcount':908,975 'hear':1797 'help':658,673,1242,1277 'high':1184 'high-valu':1183 'higher':1041 'highest':1069 'hire':703,990,1231,1343 'hit':1244 'honor':559 'hook':38,73 'hope':1452 'html':1481 'hubspot':631 'human':2061 'hygien':2172 'hyper':17,98,160,233,583 'i/we':1388 'icp':602,785 'id':337,341,1526,1535,1537,1611,1613,1615,1618,1821,1892,2004,2006,2009,2014,2016,2031 'ident':1490 'imag':1040,1482 'immedi':561,1449 'improv':1831 'includ':904 'increas':1350 'industri':605,878,909,1087 'initi':1733 'insight':1265 'instal':162 'integr':169,180,288,733,1051 'intellig':1438 'interest':547,571,1902,1963 'interest-bas':546 'intern':1317 'internal-look':1316 'intro':647 'isn':524 'job':1061 'john':1354 'jump':976 'keep':1800 'label':50,323,326,329,334,336,340,436,442,446,461,565,729,1518,1527,1530,1534,1536,1582,1609,1614,1617,1864,1874,1896,1898,1970,2002,2005,2008,2012,2015,2022,2027 'last':841,1867 'later':1945 'latest':999 'launch':712,998,1159 'layer':936 'lead':116,138,1469 'leadership':713 'led':77 'level':876,1425,1428 'leverag':1463 'librari':158 'lifecycl':111,127 'like':640,1333,1366,1380,1405,2059,2110 'limit':478,2167 'line':1313,1489,1750,2108 'link':1484 'linkedin':32,92,129,196,282,286,870,1044,1049,1171 'list':224,300,316,728,782,1871,2171 'live':735 'll':1034 'locat':807,910 'long':2129 'long-form':2128 'longer':1412 'look':639,1263,1318,1332,2109 'looks-like-a-colleague-sent-it':1331 'lookup':864 'loop':347,372,2035 'low':1081,1106,2102 'low-effort':1080 'low-frict':2101 'lowercas':1315 'made':683 'make':465,521 'mani':832,1015 'market':1381 'mass':1079 'match':256,263,350,363,375,837,859,1216 'materi':2131 'max':741 'mcp':18,99,161,234 'mean':1235 'meaning':1138 'medium':1020 'meet':552 'meetings/sdr':1236 'messag':211,305,312,317,320,424,1584,1593,1610,1669,1738,1756,1774,1787,1807,1817,1820,1872,1890,1891,1990,2003,2013 'messages/day':480 'meta':156 'meta-ads-librari':155 'mid':1427,1849 'mid-level':1426 'mid-sequ':1848 'min':642 'minut':1500 'mix':214,246,250,787,885,915 'mode':386 'move':331,1395 'much':381 'multi':1007,2155 'multi-pag':1006 'multi-touch':2154 'multipl':352,1483 'must':505,1394 'mutual':1058 'name':840,842,890,1084,1326,1531 'natur':532 'navig':135 'need':920 'never':346,425,574,1971 'new':1127,1700 'newer':1878 'note':898 'notion':674 'num':801 'number':76 'number-l':75 'nurtur':112 'object':1922 'observ':943,1013,1143,1225,1566,1604,1764 'observation-bas':1142 'observation/question/trigger/story':1735 'offic':1978 'onboard':118 'one':435,540,544,655,669,694,828,869,941,1018,1475,1749,1935,2055,2099 'one-lin':1748 'ooo':1985 'op':1344 'open':513,530,1803 'option':195,698 'organ':800,889 'origin':1812 'out-of-offic':1975 'outnumb':1387 'outreach':4,14,54,60 'overlap':1064 'p':1549,1557,1568,1586,1595,1606 'pace':502 'page':193,706,811,987,994,1008,1152,1154 'pain':80 'pain-point':79 'past':868 'pattern':747,1509 'paus':1980 'peer':1368,1424 'peer-level':1423 'peopl':215,247,254,262,349,361,788,835,858 'per':25,205,267,437,481,487,500,542,810,847,931 'per-day':499 'per-prospect':24,204,266,930 'perform':768 'person':34,207,504,512,790,806,850,900,925,935,1065,1202,2085 'phase':241,466,586,776,928,1203,1679,1851 'pick':1212 'plan':128,137,151,997 'point':81,668,1477 'post':710,1001,1057,1172,1174 'power':700 'pre':620,1652 'pre-approv':1651 'pre-seed-to-series-a':619 'precis':1433 'prefer':257 'preserv':1828 'price':705,985,993,1151 'pricing-pag':704 'problem':509,948,1120,1226,1253,1289,2089 'product':711,1158 'profil':283,1045,1046,1462 'proof':667,761,1227,1476,1705,1752 'prop':653,1093 'prospect':20,26,183,206,243,268,353,397,740,781,816,833,863,932,939,1113,1514,1544,1551,1567,1588,1605,1671,1847 'proven':37,72 'provid':1470 'prune':1846 'pull':1858 'push':756 'q3':1345 'q4':1931 'qualiti':2036 'queri':1873 'question':78,1248,1340,1561,1599,1766 'quick':1339,1560,1598 'rang':803,880 'rate':1105,1137,1342,2166 'ratio':1237 're':120,537,576,750,989,1230,1486,1950,1954,1973 're-contact':1972 're-engag':119,1953 're-tag':1949 're-target':575 'reach':912 'read':1374,1884,2041,2064,2132,2138 'reader':1397,1714,2079 'real':693 'reason':1716 'recent':708,971,1056,1060,1157,1170 'record':356 'recoveri':2174 'refer':1145,1168,2125,2135 'references/deliverability.md':494,2163 'references/follow-up-sequences.md':1834,2150 'references/frameworks.md':1301,2139 'regardless':769 'reject':2049 'relev':1297 'remov':328,568,1960,2011 'render':1563,1601 'repli':48,67,147,310,313,457,468,572,645,718,1104,1136,1341,1399,1741,1754,1772,1785,1805,1809,1815,1854,1860,1883,1933,2069 'reply-to':717 'request':107,132,553 'requir':159,285,1048 'research':61,244 'reserv':1181 'resourc':1708,1779 'respect':1436 'respond':1718 'respons':967,1937 'rest':420 'result':671,902,1260,1590,1612 'resum':1982 'return':927,1525,1822 'reveal':849 'revenu':879,1352 'review':391,1448,1547,1625 'revop':150,1919 'rewrit':1383 'richer':203 'role':603,972,1085 'role/stage':1117 'rotat':1838,2159 'round':702 'rout':47,66,140,314,469,1856,2034 'rule':344,1364 'run':5,87,199,1657,1681 'saa':626 'safe':44 'sale':134 'sampl':432 'saw':1259 'say':995 'school/employer':1063 'scope':102 'score':139 'scrape':23,152,271,275,281,980,1011,1043 'scraper':93,197 'screenshot':280 'sdrs':992,1232 'search':184,216,248,252,459,783,789,887,901,917,926 'see':493,1300,1833 'seed':621 'send':40,63,108,177,210,302,304,307,385,418,423,426,454,477,491,724,1035,1508,1580,1592,1635,1638,1668,1737,1827,1907,2040 'sender':716,2082,2168 'sends/day':742 'senior':1415,2149 'sens':522 'sent':1336 'sentenc':656,1393,2076 'separ':1998 'sequenc':113,1850,1913,1940,1948,1966,1981 'seri':623 'serv':2077 'shape':1221,1309,1660 'sharp':1095 'ship':1921 'short':1314 'shorter':1410 'show':407,431,1570 'signal':27,194,269,697,933,954,1110 'signal-bas':1109 'similar':1278,1286 'singl':264,374,862 'single-match':373 'single-prospect':861 'site':30,1016,1150 'situat':1218,1726 'size':607 'skill':106 'skill-cold-email-outreach' 'skip':1052,1664 'slower':382 'solv':950,1122,1291,2091 'someon':649 'someth':1146,1699 'sound':1379,2058 'source-hyperfx-ai' 'space':490 'specif':670,942,1430,1751,1936 'spf/dkim/dmarc':2170 'spot':1164,1450 'stack':609,882 'stage':143 'start':449,973 'state':809 'stay':473 'still':520 'stop':225,1911,1939,1947,1965 'stori':1283 'strategi':68 'string':338 'struggl':1251 'stuck':751 'studi':1781 'sub':2021 'sub-label':2020 'subject':1312,1488,1559,1597,2107 'suit':1418 'suppli':175,182 'surfac':240 'suspicion':1195 'swap':1197,1495 'sweet':1163 'synergi':1464 'tag':1951 'take':335 'talk':1178 'target':577,1186,1330 'team':1279 'teardown':1783 'tech':608,881 'technic':1432 'tell':227,1447,1904 'templat':1491,1649,1842,2162 'ten':1479 'thread':1745,1813 'thursday':1358 'tier':1066,1070,1077,1107,1140,1165,1189 'titl':791,969 'tone':1029,2147 'tool':223,239,242,366,958,1730 'topic-agent-skills' 'topic-ai-agent' 'topic-claude' 'topic-claude-code' 'topic-claude-skills' 'topic-codex' 'topic-cursor' 'topic-google-ads' 'topic-hermes' 'topic-marketing' 'topic-mcp' 'topic-meta-ads' 'total':739,1689 'touch':556,1503,1690,1727,1825,2123,2156 'toward':1398 'track':456,1853 'treat':1193 'tri':1765,1928 'trick':1329 'trigger':696,1264 'true':852 'two':1997 'ultra':1420 'ultra-brief':1419 'unit':808 'unless':1795 'unread':1877,1995,2017 'unsubscrib':560,564,1959,1968 'updat':144,294 'urgenc':1328 'urgent':1359 'url':272,871,981,1047 'us':617,1296,1929 'us-bas':616 'use':36,630,951,959,1067,1372,1626,1707,1777,1924 'user':229,411,489,597,867,1546,1573,1621,1644,1724 'usual':1234,1271 'valu':652,1092,1185,1249,1431,1769 'value-first':1768 've':1276,1656 'vendor':1371 'verifi':731 'via':41,1636 'voic':1025,1363 'volum':737 'vp':795 'want':819,895,1622 'warm':115,497,2169 'warn':368 'way':1294 'welcom':117 'well':1457 'widen':1692 'win':123 'win-back':122 'without':430,760 'word':1321,2121 'work':471,528,956,1224,1310 'workflow':136,585,2126 'workspac':488,584 'wors':687 'worth':549,1246,1261,1799 'would':2067 'write':774,1365 'wrote':1176,2062 'x':659,1004,1245,1925 'y':661,1256,1273 'yes':638,1903 'you/your':1385 'z':665,1258","prices":[{"id":"18519d0c-ebb3-44d3-ad6d-e973779c1c17","listingId":"1f668764-64bd-473a-95bf-722578eae6b8","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"hyperfx-ai","category":"marketing-skills","install_from":"skills.sh"},"createdAt":"2026-05-07T13:06:42.671Z"}],"sources":[{"listingId":"1f668764-64bd-473a-95bf-722578eae6b8","source":"github","sourceId":"hyperfx-ai/marketing-skills/cold-email-outreach","sourceUrl":"https://github.com/hyperfx-ai/marketing-skills/tree/main/skills/cold-email-outreach","isPrimary":false,"firstSeenAt":"2026-05-07T13:06:42.671Z","lastSeenAt":"2026-05-18T19:05:15.286Z"}],"details":{"listingId":"1f668764-64bd-473a-95bf-722578eae6b8","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"hyperfx-ai","slug":"cold-email-outreach","github":{"repo":"hyperfx-ai/marketing-skills","stars":24,"topics":["agent-skills","ai-agent","claude","claude-code","claude-skills","codex","cursor","google-ads","hermes","marketing","mcp","meta-ads","openclaw","seo"],"license":"mit","html_url":"https://github.com/hyperfx-ai/marketing-skills","pushed_at":"2026-05-09T22:58:46Z","description":"Marketing skills for AI agents — paid ads, social media, SEO, competitor research, creative generation, email, analytics, and more. Powered by Hyper MCP.","skill_md_sha":"dd994922b7e726c3bfe1451b6fa22fd63825a1c9","skill_md_path":"skills/cold-email-outreach/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/hyperfx-ai/marketing-skills/tree/main/skills/cold-email-outreach"},"layout":"multi","source":"github","category":"marketing-skills","frontmatter":{"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."},"skills_sh_url":"https://skills.sh/hyperfx-ai/marketing-skills/cold-email-outreach"},"updatedAt":"2026-05-18T19:05:15.286Z"}}