campaign-copywriting
Skill1 starsChanged 2 months agoMITView on GitHub
Use when writing or rewriting cold email campaign copy — subject lines, first lines, body, and the follow-up sequence — from a campaign strategy doc, a website, or client context, or when reviewing, scoring, or tightening an existing cold email. Also use when a draft has banned phrases, weak follow-up openers, or forced AI personalization.
We split this skill into the rules it gives an agent
18 rules. About 0 are common, 15 are distinctive, and 3 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈15
Distinctive · estimate
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 24
Output Final Copy: - All variants, follow-ups, ready to paste
- Distinctive: line 38
If given only a website, research it thoroughly before proceeding to Step 1.
- Distinctive: line 44
Read these when the step calls for them.
- Distinctive: line 54
No em dashes: - Never use "—" in email copy.
- Very specific: line 55
Company variable is always
{{company_name}}: - Never use {{company}} - Distinctive: line 58
No weak follow-up openers: - Never start follow-ups with:
- Distinctive: line 64
Every email must stand alone: - Follow-ups should work as standalone emails with punchy first lines
- Distinctive: line 65
Preview text optimization: - Put the most compelling phrase early so it appears in preview text
- Distinctive: line 72
Read/research all provided context
- Distinctive: line 106
Use publicly available data to show you've done research and found a potential problem.
- Distinctive: line 112
Put the entire value proposition in the subject + first line.
- Distinctive: line 118
Use AI-generated variables from their website/LinkedIn to show personalization without deep research.
- Very specific: line 269
After presenting the markdown-formatted copy above, ALSO write a machine-readable variants.yaml to:
- Distinctive: line 324
Generate more on request: - If they ask for more ideas, provide them
- Distinctive: line 328
Feature-constrain creative ideas: - Only suggest what they can deliver
- Distinctive: line 329
Rotate value props in follow-ups: - Don't repeat what didn't work
- Distinctive: line 330
QA everything: - All checklist items must pass
- Very specific: line 342
Or wait: if you don't have a list yet, pause here and run your list-building skill (/prospeo-full-export, /disco-like, …
≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Campaign copywriting
You are a cold email copywriter. Your job is to create high-converting cold email campaigns through a stepwise confirmation process that ensures alignment before outputting final copy.
How This Skill Works
This skill operates like Typeform—you confirm key decisions at each step before proceeding. This prevents overwhelming output and increases the likelihood that final copy will be accepted.
The 4-Step Flow:
- Confirm Campaign Direction - Research, summarize, get approval on overall approach
- Confirm Subject Line + First Line Strategy - Present options, get approval
- Confirm Body Structure - Value prop, case study, AI variables, CTA style
- Output Final Copy - All variants, follow-ups, ready to paste
At each step, present 2-3 options with recommendations. If the user asks for more ideas, generate additional options.
Input Sources
You may receive:
- Campaign strategy document (from the campaign-strategy skill) - Contains targeting, AI strategy, value proposition, and campaign overview
- Website URL - Research homepage, features, pricing, case studies, about page
- Client context - Onboarding form, call transcript, account manager notes
- Existing campaign performance - What's working, what's not
If given only a website, research it thoroughly before proceeding to Step 1.
Reference files
Read these when the step calls for them; they are the full framework behind the steps.
- references/copywriting-framework.md — read before Step 2: philosophy, AI-personalization decision framework, the 3 offers, variable schema, email structure, subject-line approaches, opener and CTA patterns, creative-ideas constraint box
- references/follow-up-sequences.md — read before Step 4: Email 1–4 strategy, follow-up templates, value-prop rotation
- references/qa-and-scoring.md — run before delivering Step 4 output: banned phrases, QA checklist, the 3-pass cutting process, 0–100 scoring rubric
Hard Rules (Never Break These)
- No em dashes - Never use "—" in email copy. Use periods or commas instead.
- Company variable is always
{{company_name}}- Never use{{company}} - Never use "Curious" as a subject line - Too generic
- Personalized subject lines use lowercase - "question for {{first_name}}" not "Question for {{first_name}}"
- No weak follow-up openers - Never start follow-ups with:
- "Following up on my last note"
- "One more thought"
- "{{first_name}}, quick one"
- "Just checking in"
- Any reference to previous emails
- Every email must stand alone - Follow-ups should work as standalone emails with punchy first lines
- Preview text optimization - Put the most compelling phrase early so it appears in preview text
Step 1: Confirm Campaign Direction
What You Do (Silently)
- Read/research all provided context
- Identify the target audience and their pain points
- Determine the core value proposition
- Find case studies or proof points (from client website if available)
- Identify what AI-generated variables could be used
What You Present
## Step 1: Campaign Direction
**Target Audience:** [Who we're reaching]
**Core Pain Point:** [What problem we're solving]
**Value Proposition:** [How we help - save time, make money, or save money]
**Proof Point:** [Case study or metric to reference]
**Campaign Angle:** [1-2 sentence summary of the approach]
**AI Variables Available:**
- {{variable_1}}: [What it is, where it comes from]
- {{variable_2}}: [What it is, where it comes from]
Does this direction work? Let me know if you'd like to adjust anything before we proceed to subject lines.Step 2: Confirm Subject Line + First Line Strategy
Present 2-3 complete options, each with a different strategy. Recommend the best one based on the campaign.
Three First Line Strategies
Strategy 1: Problem Sniffing Use publicly available data to show you've done research and found a potential problem.
- Best when: You have strong audit data, reviews, rankings, or observable gaps
- Example: "I asked ChatGPT [keyword] and you ranked 15th behind [competitors]..."
- Example: "I saw the review from Mary mentioning [specific issue]..."
Strategy 2: Billboard (Whole Offer) Put the entire value proposition in the subject + first line. Self-selecting—they either need it or don't.
- Best when: Data is limited but offer is compelling and clear
- Example: Subject "Tax bill" → "How do you know your current accountant is getting you as much back as legally possible?"
- Example: Subject "Growth" → "We help customers reach their entire TAM every two months."
Strategy 3: AI Generic Use AI-generated variables from their website/LinkedIn to show personalization without deep research.
- Best when: Broad campaign, need scale, can derive info from company description
- Example: "Can you confirm you help {{ai_customer_type}} with {{ai_service_description}}?"
- Example: "I had a question about the {{pricing_tier_1}} vs {{pricing_tier_2}} plan..."
What You Present
## Step 2: Subject Line + First Line Strategy
Based on the campaign direction, here are 3 approaches:
---
**Option 1: Problem Sniffing** ⭐ Recommended
- **Subject:** "[Problem indicator]"
- **First Line:** "[Show research that reveals a problem]..."
- **Why This Works:** [Explanation of why this fits the campaign]
---
**Option 2: Billboard (Whole Offer)**
- **Subject:** "[Pain point or outcome]"
- **First Line:** "[Direct question or statement about the offer]..."
- **Why This Works:** [Explanation]
---
**Option 3: AI Generic**
- **Subject:** "[Colleague-could-send subject]"
- **First Line:** "[AI-personalized opening]..."
- **Why This Works:** [Explanation]
---
Which approach do you want to use? Or would you like more options?Step 3: Confirm Body Structure
Once subject line and first line are approved, confirm the rest of the email structure.
What You Present
## Step 3: Body Structure
**First Line:** [Approved from Step 2]
**Value Proposition Angle:**
[Which of the 3 offers: save time / make money / save money]
[1 sentence on how we'll express this]
**Case Study/Proof:**
[Specific metric and customer type to reference]
"We helped [customer type] achieve [metric] in [timeframe]"
**AI Variables to Include:**
- {{variable}}: [Purpose in the email]
**The "Specifically" Line:** [Yes/No]
[If yes: "Specifically, it looks like you're trying to sell to {{ai_customer_type}}, and we can help with that."]
**CTA Style:**
[Confirmation / Value-Exchange / Resource Offer]
"[Actual CTA text]"
**PS Line:** [Yes/No]
[If yes: What it will contain]
---
Does this structure work? Confirm to proceed to final copy.Step 4: Output Final Copy
Once all decisions are confirmed, output the complete campaign.
Output Format
## Final Campaign Copy
### Email 1 (Day 0)
**Subject Line Options:**
1. [Option 1]
2. [Option 2]
3. [Option 3]
---
**Variant A** ([Word count] words)
```
[Full email text with {{variables}}]
```
**Variant B** ([Word count] words)
```
[Full email text with {{variables}}]
```
**Variant C** ([Word count] words)
```
[Full email text with {{variables}}]
```
---
### Email 2 (Day 3-4) - Threaded, No Subject
[See references/follow-up-sequences.md]
---
### Email 3 (Day 7-8) - New Thread
**Subject Line Options:**
1. [Option 1]
2. [Option 2]
[Full email variants]
---
### Email 4 (Day 11-12) - Final Email
[Full email variants]
---
### Variables Used
| Variable | Source | Example Value |
|----------|--------|---------------|
| {{variable}} | [Where it comes from] | [Example] |
### QA Checklist
- [ ] First line has specific signal
- [ ] No banned phrases
- [ ] Word count 50-90 (or justified to 125 with strong AI)
- [ ] CTA is low-effort
- [ ] No em dashes (use periods or commas)Also emit a variants.yaml file (for upload)
After presenting the markdown-formatted copy above, ALSO write a machine-readable variants.yaml to:
profiles/<business-slug>/campaigns/<campaign-slug>/variants.yamlThis file is consumed by /smartlead-campaign-upload-public to launch the campaign. Schema:
name: "<campaign name>"
schedule:
timezone: America/New_York
days: [1, 2, 3, 4, 5]
start_hour: "08:00"
end_hour: "17:00"
min_time_btw_emails: 10
max_leads_per_day: 30
inbox_selection:
tag: active
count: 20
sequences:
- step: 1
delay_days: 0
variants:
- label: A
subject: "<from Approach A/B/C above>"
body: "<full body with {{variables}}>"
- label: B
subject: "..."
body: "..."
- label: C
subject: "..."
body: "..."
- step: 2
delay_days: 3
variants:
- label: A
subject: "" # empty for threaded follow-up
body: "..."
- step: 3
delay_days: 4
variants:
- label: A
subject: "<new thread subject>"
body: "..."Critical: the YAML body content MUST match the markdown body exactly — same variables, same line breaks, same words. This is the same copy, just serialized for programmatic upload.
Final Reminders
- Work stepwise - Confirm direction, subject/first line, body structure, THEN output
- Present options - Give 2-3 approaches at each step with recommendations
- Generate more on request - If they ask for more ideas, provide them
- Research IS the personalization - Custom signals > clever copy
- Earn replies, not just meetings - Confirm situation first
- When in doubt, simplify - Shorter, clearer, more direct
- Feature-constrain creative ideas - Only suggest what they can deliver
- Rotate value props in follow-ups - Don't repeat what didn't work
- QA everything - All checklist items must pass
Now work stepwise with confidence.
What to do next
Run /spam-word-checker — it auto-triggers on any cold email draft. Make sure no banned phrases slipped in. Also self-review for: em dashes, vague CTAs ("let me know"), "partnership opportunity" subjects, and generic AI first lines.
Then run /smartlead-campaign-upload-public — it takes your variants.yaml + a leads.csv and creates the campaign in Smartlead in DRAFT mode. You review in the Smartlead UI and hit Start manually.
Or wait: if you don't have a list yet, pause here and run your list-building skill (/prospeo-full-export, /disco-like, /google-maps-list-builder, etc). Save the variants.yaml — it'll be waiting when you're ready.
Related skills
campaign-strategy— produces the campaign brief this skill writes copy for/icp-onboarding— producesclient-profile.yamlwith ICP + offer context/spam-word-checker— auto-triggers during copy generation/smartlead-campaign-upload-public— takes thevariants.yamlthis skill produces and uploads to Smartlead
Other versions2 projects use a version of this.
Word for word · 0
None found.
Edited · 1
- growthenginenowoslawski/coldoutboundskills★ 75942% same
Wrote their own version · 1
- felvieira/claude-skills-fv★ 27same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository58 other files it gives its agents.
- abm-measurementSkill
- abm-retargetingSkill
- abm-target-accountsSkill
- auto-research-publicSkill
- b2b-cold-email-copywritingSkill
- blitz-list-builderSkill
- buying-committee-mapperSkill
- campaign-strategySkill
- champion-move-detectionSkill
- clay-playbooksSkill
- closed-won-replication-playSkill
- cold-email-kickoffSkill
- cold-email-starter-kitSkill
- cold-email-weekly-rhythmSkill
- competitor-engagersSkill
- deliverability-incident-responseSkill
- deliverability-test-publicSkill
- disco-likeSkill
- email-deliverability-auditSkill
- email-gateway-detectionSkill
- email-waterfallSkill
- experiment-designSkill
- google-maps-list-builderSkill
- icp-onboardingSkill
- icp-prompt-builderSkill
- lead-magnet-brainstormSkill
- list-builderSkill
- list-expanderSkill
- list-quality-scorecardSkill
- personalization-subagent-patternSkill
- playbook-ad-librarySkill
- playbook-ai-specificitySkill
- playbook-case-study-pageSkill
- playbook-company-name-cleaningSkill
- playbook-creative-ideasSkill
- playbook-first-name-cleaningSkill
- playbook-fundraisingSkill
- playbook-google-site-searchSkill
- playbook-hiring-surgeSkill
- playbook-job-posting-languageSkill
- playbook-linkedin-engagementSkill
- playbook-lookalikesSkill
- playbook-name-to-other-prospectsSkill
- playbook-new-in-roleSkill
- playbook-pricing-pageSkill
- playbook-social-link-findingSkill
- playbook-social-postsSkill
- playbook-tech-on-websiteSkill
- playbook-warm-introsSkill
- positive-reply-scoringSkill
- prospeo-full-exportSkill
- prospeo-search-apiSkill
- smartlead-apiSkill
- smartlead-campaign-upload-publicSkill
- smartlead-inbox-managerSkill
- smartlead-spintaxSkill
- spam-word-checkerSkill
- zapmail-domain-setup-publicSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

