Agent skill
email-copywriter
Draft newsletter and nurture email copy with brand voice, structured sections, and conversion-focused CTAs
Filed under Content and SEO.
From ekatasingh1107/b2b-gtm-skills · 99 skills · 2 · pushed 2026-04-11
What it does when it runs
Draft newsletter and nurture email copy with brand voice, structured sections, and conversion-focused CTAs
Read from the skill and the 1 file 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
- None found.
- 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 only issues instructions, so there is nothing to bound. - Actions present in the files
- None. Instructions only.
Install it
View source on GitHub ↗git clone --depth 1 --filter=blob:none --sparse https://github.com/ekatasingh1107/b2b-gtm-skills.git /tmp/b2b-gtm-skills git -C /tmp/b2b-gtm-skills sparse-checkout set "skills/capabilities/email-copywriter" mkdir -p ~/.claude/skills/email-copywriter cp -R "/tmp/b2b-gtm-skills/skills/capabilities/email-copywriter/." ~/.claude/skills/email-copywriter/
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.
The skill
Source on GitHub ↗Reproduced in full from ekatasingh1107/b2b-gtm-skills/blob/eae8dd0bb98da1c8e84abd297066a87015dd860f/skills/capabilities/email-copywriter/SKILL.md, which is licensed MIT (repository). 1,804 words, 11 headings.
Email Copywriter
Generates newsletter editions and nurture email sequences with brand-aligned copy. Unlike cold-email-drafter (which handles outbound sales emails), this skill produces marketing emails: newsletters, drip sequences, onboarding emails, product announcements, and educational content emails. Applies brand voice rules from config, follows email copywriting best practices, and outputs structured email components (subject, preview, body, CTA).
Prerequisites
agency.config.jsonat repo root withagency,outreach,services, andcase_studiessections- Topic, purpose, or content brief for the email
- Optional: audience segment override
- Optional: existing brand voice document (from
brand-voiceskill)
Phase 0: Intake
- Read
agency.config.jsonfrom the project root. - Extract:
agency.name-- for sender identity and sign-offagency.founder-- for personal-tone emailsagency.domain-- for link referencesoutreach.tone-- voice and style constraintsoutreach.banned_phrases-- phrases to exclude from all copyoutreach.sign_off-- default email signatureservices[]-- for contextual mentions where relevantcase_studies[]-- for social proof blocksicp.segments[]-- to tailor language to the target reader
- Accept parameters:
email_type-- (required) one of:newsletter,nurture,onboarding,announcement,educational,re-engagement,event-invitetopic-- (required) what the email is aboutaudience-- target segment. Default: primary ICP segmentgoal-- primary goal:educate,drive-traffic,book-demo,announce,re-engage,nurture. Default: inferred from email_typetone_override-- (optional) override config tone:casual,professional,urgent,celebratorycontent_inputs-- (optional) raw notes, data points, or content to incorporatesequence_position-- (optional) for nurture/drip: email number in sequence (e.g., "3 of 7")cta-- (optional) specific CTA. Default: inferred from goalword_limit-- (optional) max body words. Default: varies by type
Phase 1: Email Architecture
Define the structural blueprint based on email type:
Newsletter:
Subject line (max 50 chars)
Preview text (max 90 chars, complements subject)
---
Opening hook (2-3 sentences, personal or topical)
---
Section 1: Primary story/insight (100-150 words)
- Subheading
- Body with one key takeaway
- Inline CTA or link
---
Section 2: Secondary content (75-100 words)
- Quick tip, tool recommendation, or industry news
---
Section 3: Social proof or case study snippet (50-75 words)
- Data point or result
- Link to full case study
---
CTA block (primary action, single button)
---
P.S. line (personal note, secondary offer, or teaser for next issue)
---
Sign-off
Nurture email:
Subject line (max 50 chars)
Preview text (max 90 chars)
---
Opening: acknowledge where they are in the journey (2 sentences)
---
Value block: one insight or lesson (100-150 words)
- Teach something useful, reference pain points from ICP config
---
Bridge: connect the lesson to the agency's service (2-3 sentences)
---
CTA: soft ask appropriate to sequence position
---
Sign-off
Onboarding email:
Subject line
Preview text
---
Welcome + set expectations (what they'll get, how often)
---
Quick win: one immediately actionable tip (50-75 words)
---
What's coming next: tease future value
---
CTA: reply with a question, complete a survey, or book a call
---
Sign-off
Announcement:
Subject line (urgency or excitement, no clickbait)
Preview text
---
The news: lead with the announcement (2-3 sentences)
---
Why it matters to them: frame the announcement from reader's perspective (3-4 sentences)
---
Details: specifics, dates, pricing, features (bullet points)
---
CTA: primary action (sign up, learn more, book)
---
Sign-off
Educational:
Subject line (curiosity or benefit)
Preview text
---
Hook: start with a question or surprising fact
---
Lesson body: teach one concept clearly (150-250 words)
- Use numbered steps, bullets, or a mini-framework
- Include one example
---
Application: how the reader can use this today (2-3 sentences)
---
CTA: learn more, read the full guide, or book a consultation
---
Sign-off
Re-engagement:
Subject line (acknowledge absence, no guilt)
Preview text
---
Opening: acknowledge it has been a while, no passive-aggression
---
Value hook: share the single most compelling thing they missed (3-4 sentences)
---
Options: give them a choice (stay subscribed with preferences, or unsubscribe gracefully)
---
CTA: re-engage action or preferences link
---
Sign-off
Event invite:
Subject line (event name + key benefit)
Preview text
---
What: event description (2-3 sentences)
---
Why attend: 3 bullet points of value
---
Details: date, time, format, duration, speakers
---
CTA: register/RSVP button
---
P.S.: share with a colleague who would benefit
---
Sign-off
Phase 2: Subject Line Generation
Generate 5 subject line options using different approaches:
| Approach | Example Pattern |
|---|---|
| Curiosity gap | "The CRO fix nobody talks about" |
| Benefit-first | "3 ways to boost your AOV this week" |
| Number-driven | "We increased conversions 34%. Here is how." |
| Question | "Is your product page costing you sales?" |
| Personal/story | "What I learned auditing 50 Shopify stores" |
Subject line rules:
- Max 50 characters (35-45 ideal for mobile)
- No ALL CAPS words
- No excessive punctuation (!!!, ???)
- No spam trigger words: "free", "act now", "limited time", "click here"
- Preview text must complement, never repeat, the subject line
- Test: would YOU open this? If not, rewrite.
Score each subject line:
- Curiosity factor (1-10)
- Clarity (1-10)
- Length appropriateness (1-10)
- Spam risk (low/medium/high)
Phase 3: Body Copy Generation
Write the email body following the architecture from Phase 1.
Copywriting rules (non-negotiable):
- First sentence rule: the opening line must earn the second line. No throat-clearing.
- One idea per paragraph: max 3 sentences per paragraph
- Readability: 6th-8th grade reading level. Short sentences. Simple words.
- Scanability: use subheadings, bold key phrases, bullet points for lists
- Voice consistency: match
outreach.tonefrom config throughout - Banned phrase check: scan against
outreach.banned_phrasesand rewrite any matches - CTA clarity: one primary CTA per email, stated as a specific action ("Book your audit" not "Learn more")
- P.S. line: always include one for newsletters and nurture emails; it gets disproportionate attention
- Social proof: include at least one data point, testimonial, or case study reference per email
- Personalization tokens: use
{{first_name}}where appropriate, never more than twice
Word count targets by type:
| Email Type | Body Words | Total Words (incl. subject, preview, PS) |
|---|---|---|
| Newsletter | 300-500 | 350-550 |
| Nurture | 150-250 | 200-300 |
| Onboarding | 150-200 | 180-250 |
| Announcement | 150-250 | 200-300 |
| Educational | 250-400 | 300-450 |
| Re-engagement | 100-150 | 130-200 |
| Event invite | 150-250 | 200-300 |
Phase 4: Sequence Planning (Nurture/Drip Only)
If email_type is nurture and sequence_position is provided, plan the full sequence arc:
Standard 7-email nurture sequence:
| Theme | Goal | Tone | |
|---|---|---|---|
| 1 | Welcome + quick win | Build trust | Warm, helpful |
| 2 | Pain point deep-dive | Create problem awareness | Educational |
| 3 | Framework or method | Position expertise | Authoritative |
| 4 | Case study | Provide social proof | Conversational |
| 5 | Common mistakes | Agitate pain | Direct |
| 6 | Your approach | Bridge to service | Professional |
| 7 | Soft CTA | Drive action | Personal |
Each email must:
- Reference the previous email naturally ("Last time, I shared...")
- Escalate commitment gradually (read -> engage -> click -> book)
- Deliver standalone value even if read in isolation
- Not repeat points from earlier emails
If generating a single email in the sequence, include context notes on what came before and what comes after.
Phase 5: Quality Checks
Before finalizing, run these checks:
- Spam filter test: scan for spam trigger words, excessive links, image-heavy language
- Mobile preview: subject + preview text combined must make sense in 90 characters
- Tone audit: read aloud; does it sound like the brand?
- CTA audit: is the CTA specific, actionable, and appearing only once as primary?
- Link audit: are all links purposeful? No more than 3 links per email (newsletters: max 5)
- Unsubscribe compliance: include unsubscribe mention in footer context
- Banned phrase scan: final check against
outreach.banned_phrases - Length check: within word count targets for the email type
Phase 6: Output
Return structured JSON:
{
"email_metadata": {
"type": "newsletter",
"topic": "CRO tips for D2C brands",
"audience": "India D2C",
"goal": "educate",
"sequence_position": null,
"word_count": 420
},
"subject_lines": [
{"text": "The CRO fix nobody talks about", "approach": "curiosity", "curiosity_score": 9, "clarity_score": 7, "length": 30, "spam_risk": "low"},
{"text": "3 ways to boost your AOV this week", "approach": "benefit", "curiosity_score": 6, "clarity_score": 9, "length": 35, "spam_risk": "low"},
{"text": "We increased conversions 34%", "approach": "number", "curiosity_score": 8, "clarity_score": 8, "length": 28, "spam_risk": "low"},
{"text": "Is your product page costing you?", "approach": "question", "curiosity_score": 8, "clarity_score": 8, "length": 33, "spam_risk": "low"},
{"text": "50 audits later, here is what I found", "approach": "personal", "curiosity_score": 9, "clarity_score": 6, "length": 36, "spam_risk": "low"}
],
"recommended_subject": 0,
"preview_text": "Most stores miss this on their product pages",
"email_body": {
"opening": "Opening hook text...",
"sections": [
{"heading": "Section heading", "body": "Section content...", "cta_inline": null},
{"heading": "Case in point", "body": "Case study reference...", "cta_inline": "See the full audit"}
],
"primary_cta": {"text": "Book your free CRO audit", "url_placeholder": "{{cta_url}}"},
"ps_line": "P.S. Next week I am breaking down the exact audit checklist we use. Stay tuned.",
"sign_off": "Ekata | Plasho (plasho.com)"
},
"quality_checks": {
"spam_risk": "low",
"mobile_preview_ok": true,
"tone_compliant": true,
"cta_clear": true,
"banned_phrases_clear": true,
"word_count_in_range": true
},
"sequence_context": null
}
Phase 7: Review
Present the email to the user:
- Show the recommended subject line (with alternatives)
- Show preview text
- Show the full email body with formatting
- Highlight the CTA
- Show quality check results
- Ask for approval or revision requests
After approval, optionally:
- Create draft in Gmail via
tools.email_sendingif configured - Log to CRM via
crm-writerif part of a campaign - Hand off to
content-repurposerif the newsletter content should be distributed elsewhere
Example Usage
Trigger phrases:
- "Write a newsletter about [topic]"
- "Draft a nurture email sequence for new subscribers"
- "Create an onboarding welcome email"
- "Write an announcement email for [news]"
- "Draft email 3 of our nurture sequence"
- "Write a re-engagement email for inactive subscribers"
- "Create an event invite email for [event]"
User: Write a newsletter about CRO tips for D2C Shopify brands
Assistant: [reads config, structures newsletter architecture, generates 5 subject lines, writes body with sections and CTA, runs quality checks, returns structured JSON]
User: Draft a 7-email nurture sequence for new leads who downloaded our CRO guide
Assistant: [reads config, plans full sequence arc, generates each email with escalating commitment, ensures no repetition across emails, returns all 7 as structured JSON]
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-copywriter by markster-public · 62
- cold-email-copywriter by composio-community · 2
- cold-email by coreyhaines31 · 46,928
- email-sequence by OpenClaudia · 677
- email-subject-lines by OpenClaudia · 677
- cold-email-kickoff by growthenginenowoslawski · 668
- cold-email-starter-kit by growthenginenowoslawski · 668
- cold-email-weekly-rhythm by growthenginenowoslawski · 668
Need help setting it up?
This page tells you what email-copywriter 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.