Agent skill
cold-email-sequence
Write cold email sequences (5–7 touch, 14–21 day) using the CCQ copy framework, Pain-Trigger-Outcome openers, mobile-first formatting, and a hard ban on cliché openers.
Filed under Outbound email.
From devangk003/gtm-agent-skills · 32 skills · 0 · pushed 2026-06-18
What it does when it runs
Write cold email sequences (5–7 touch, 14–21 day) using the CCQ copy framework, Pain-Trigger-Outcome openers, mobile-first formatting, and a hard ban on cliché openers. Gates every touch on the personalization-hook contract and email_status. Use when a Tier-1/2 lead list is enriched and scored, an ICP-grounded outbound burst is being planned, or an existing sequence's reply rate is below the 3% floor.
Read from the skill and the 3 files bundled beside it. A skill’s own description is written to be selected by an agent, so it describes the job and not the dependencies.
- Keys and connectors you must supply
- AGENTIC_APP_TOKEN
- Hosts it reaches
- No third-party host appears in the skill or its bundled files.
- Tool permissions it declares
- No
allowed-toolsin the frontmatter. It does act, so it runs under whatever permissions your session already grants. - Actions present in the files
- shell
Install it
View source on GitHub ↗git clone --depth 1 --filter=blob:none --sparse https://github.com/devangk003/gtm-agent-skills.git /tmp/gtm-agent-skills git -C /tmp/gtm-agent-skills sparse-checkout set "cold-email-sequence" mkdir -p ~/.claude/skills/cold-email-sequence cp -R "/tmp/gtm-agent-skills/cold-email-sequence/." ~/.claude/skills/cold-email-sequence/
Picked up without a restart. A project skill of the same name is shadowed by your personal one. For one repository only, swap ~/.claude/skills for .claude/skills. Claude Code docs ↗
The folder is the same in every client that implements the format — 46 of them — so if yours is not above, only the destination changes.
Before you install: this skill will not complete its job on a bare agent. It needs AGENTIC_APP_TOKEN, which you have to obtain separately.
The skill
Source on GitHub ↗Reproduced in full from devangk003/gtm-agent-skills/blob/6b9a1b0094ffd83d6c02bc03b7ce1610661a1644/cold-email-sequence/SKILL.md, which is licensed MIT (skill frontmatter). 1,239 words, 9 headings.
Cold Email Sequence
Produce a 5–7 touch cold email sequence (14–21 day arc) using the CCQ copy framework. Each touch is grounded in the recipient's verified personalization hook, formatted mobile-first, and audited for clichés before send. Default rule: touch with [unverified — needs check] hook triggers Clarification Protocol (enrich / proceed-generic / skip / override) — NOT a hard block.
Framework(s) used: CCQ (Context-Connection-Question) copy framework + Pain-Trigger-Outcome openers — proven for B2B cold outbound with verified hooks. If multiple frameworks apply, trigger Clarification Protocol so the user picks.
Clarification Protocol
When you encounter any of the following, STOP and ask the user — do NOT make a silent assumption, and do NOT flatly refuse:
- Ambiguous or missing input
- A fork in approach (multiple valid frameworks, segments, scopes, or sources)
- A rule that would block progress
- An assumption that materially shapes the output
- Unverified data that a downstream step depends on
Present 2–4 concrete options with trade-offs and your recommendation.
Format:
Decision needed: <what's being decided> Options:
- A) <option> — trade-off
- B) <option> — trade-off
- C) <option> — trade-off My recommendation: <X> because <reason>. Confirm or pick a different option before I continue.
Refusing to proceed is NEVER the final answer. Every "block" must come with an override option. If the user picks an override, honor it on the first request — do not re-prompt the same block multiple times in one run.
Scope
This skill ONLY produces 5–7 touch cold email sequences with verified hooks, mobile-first formatting, and compliance footers (CAN-SPAM). Do not expand into adjacent topics. If the user's request implies adjacent scope, trigger Clarification Protocol with options to (A) stay in scope, (B) note the adjacent need as a follow-up, (C) hand off to a different skill.
When to Use
- Tier-1/2 enriched lead list ready for outbound copy
- Reply rate below 3% floor — diagnose and rewrite
- Need A/B variants for opener testing
- Sending from Gmail natively — need drafts + per-touch runbook
- Pre-launch copy generation when leads are enriched + scored
- Existing sequence flagged by campaign-management for reply-rate breach
Quick Reference
| Concept | Value |
|---|---|
| Default sequence | 5–7 touches over 14–21 days; day_offsets 0/3/7/11/15/19/45 |
| Default framework | CCQ (Context/Compliment-or-Connection/Question) |
| Word targets | Subject ≤8 words; opener body 50–80; later touches 40–100 |
| Per-touch frameworks | T1 CCQ+Pain; T2 CCQ+Vision; T3 RTA; T4 Compelling-Event; T5 Outcome-proof; T6 Break-up; T7 Resurrection (D+45) |
| Default hook rule | personalization_hook [verified] preferred; unverified → Clarification Protocol (enrich / proceed-generic / skip / override) |
| Default email_status rule | Drop risky/role-based/catch-all-domain/invalid by default; user may override per Clarification Protocol |
| Cliché blocklist | "I hope this finds you well" / "I noticed" / "we help X do Y" / multi-question CTAs |
| Buzzword blocklist | flexibility, visibility, scalable, strategic, leverage, synergy, robust, holistic |
| Mobile format | ≤2-line opener / one CTA / ≤4-line paragraphs / ≤3-line signature |
| Quiet hours | 8pm–8am recipient local + weekday-only |
| Per-domain cap | 30/day (50 absolute ceiling) |
| Primary metric | Reply rate ≥3% floor (5–10% solid; 10%+ excellent) |
Legend — Personalization-Hook Strength
- [H] High — verified, specific, recent (≤30d) signal with citable source URL
- [M] Medium — inferred from role/firmographic but plausible; no specific event
- [L] Low — generic-but-relevant; no recipient-specific data; mark
lower-personalization
Procedure
-
Validate prerequisites + determine mode — Read scored Leads, ICP P-T-O, message house, infrastructure readiness flag. API key → API mode; seat → manual; native → BYO. If any gate fails, default to surface + trigger Clarification Protocol with options (A) fix gate, (B) proceed with documented risk, (C) cancel — do not silently block.
-
Filter recipient list — Default: drop bad
email_status; apply tier filter; split GDPR jurisdiction. For unverifiedpersonalization_hook, trigger the Clarification Protocol prompt below — do NOT auto-route to a review queue. See${HERMES_SKILL_DIR}/references/ccq-framework.mdfor framework rules.Decision needed: This lead has no verified personalization hook. Options:
- A) Enrich now (run data-enrichment, returns within ~minutes)
- B) Proceed with a generic-but-relevant angle (mark
lower-personalization) - C) Skip this lead
- D) Override and use the unverified hook anyway (mark
lower-personalization) My recommendation: A if time permits, else B. Confirm or pick a different option before I continue.
User override of the hook rule is permitted and must be honored on the first request. The hook rule is a default, not a hard gate. If the user says "proceed," "skip this rule," "refuse this," or similar, continue and mark affected emails as
lower-personalizationin the output. Do NOT re-prompt the same block multiple times in one run. Tag per-email metadatapersonalization_status: lower-personalizationfor any email generated under override. -
Pre-flight: capacity check — Compute
eligible × sequence_lengthvsper-domain cap × pool × duration. Surface; wait for authorization if over capacity. -
Generate per-touch copy + audit — Per recipient × position: pick framework per touch default; draw verified hook; compose subject (≤8 words) + body (within target); inject List-Unsubscribe header + physical address (CAN-SPAM) or LIA + opt-out (GDPR). Each draft passes cliché + word-count + mobile-format + buzzword audit; failures regenerate; second-fail surfaces for review.
-
Compose Touch records — Per conventions §2.1: full provenance on content/compliance/provenance.copy;
scheduled_for(quiet-hours + weekday). Reference${HERMES_SKILL_DIR}/references/push-to-crm-mapping.mdfor CRM field mapping. -
Build cadence + schedule — Per conventions §2.2: 5–7 touches at default day_offsets. API → create sequence in tool; manual → paste-ready config; BYO → per-touch runbook.
-
Push to CRM + run summary — Run
${HERMES_SKILL_DIR}/scripts/push_to_crm.pyper touch. One-screen summary: eligible count, dropped counts, capacity headroom, audit flags, recommended next skill.
Pitfalls
- Optimizing on open rate — Apple MPP made it noise; reply rate is primary
- Generic openers — "I noticed your company…" with no specific verified detail = low reply rate
- Long emails — >125 words drops reply rate sharply; 50–80 is opener sweet spot
- Multiple CTAs — Two questions in close = no answer
- Buzzword stuffing — Each buzzword costs ~3% reply rate
- Skipping the break-up — Touch 6 break-up generates real replies
- Treating the hook rule as a hard gate — It is a default, not a wall. User override is permitted and must be honored on the first request; mark affected emails
lower-personalizationand continue. Do NOT re-prompt the same block twice.
Verification
- Every Touch's
provenance.copyresolves to a hook URL, carries[user-provided]for outcome claims, or is taggedpersonalization_status: lower-personalizationunder explicit user override; reply rate ≥3% by D+10 - Bounce rate <2% (warn) / <5% (pause); complaint rate <0.1% (target) / <0.3% (pause)
- Zero touches sent during quiet hours/weekends; zero touches with cliché-blocklist phrases
Output Format
- Sections required: Sequence Plan (per touch), Per-Touch Email Bodies, Compliance Footer Block, Send Schedule
- Tables / fields: Sequence Plan =
Touch # | Day offset | Channel | Hook source | Status [primary/lower-personalization/skipped]; Per-Touch =Subject | Preview | Body | CTA | Word count - Length target: per-email ≤120 words; sequence brief ≤500 words
- File type: markdown (with email bodies as fenced blocks)
- Mandatory closing sections: Verification Notes, Next Step
Files bundled with it
These load only when the skill asks for them, so they cost nothing until it runs.
Other skills for the same job
Different authors, same problem. Matched on the words in the skill name, across every library in the catalogue except this one.
- cold-email-4-sequence by Frontal-so · 4
- cold-email by coreyhaines31 · 45,947
- email-sequence by OpenClaudia · 664
- cold-outreach-sequence by BrianRWagner · 403
- email-sequence by louisblythe · 136
- cold-email-outreach by thatrebeccarae · 119
- email-sequence by impecablemee · 66
- cold-email by markster-public · 61
Need help setting it up?
This page tells you what cold-email-sequence does and what it needs. Cheetah builds the agent setup it runs inside: data, CRM, sequencing and the guardrails.
Book a call →The directory stays free. There is nothing gated behind this.