Campaign Strategy Skill
Transform client research into an actionable email strategy for a single segment. Output email sequence blueprints and AI personalization variables for the Email Copywriting skill to execute.
Output Contract
strategy.md is not machine-parsed - it's read by downstream skills (email-copywriting, prompt-writer) for context. Hard rules this skill must honor anyway, since its output flows into files that other tools read:
- AI variable names must be Title Case with spaces:
Subject Line,First Line,PS Line. They become[Title Case]brackets in emails.md and H3 headings in prompts.md - the three have to agree exactly. - AI variable names ≤30 chars (enforced in prompts.md by the prompt-writer contract).
- Never reference data sources personalization tools typically lack (news, funding, events, social media, blogs) - these propagate into prompts.md and break at runtime when the data is not available.
Required Context
Before creating a strategy, always load the client context:
- Read
{workspace}/research.md- Client research: overview, ICP, value prop, case studies, lead magnets - Read
{workspace}/notes.md(if it exists) - Client-specific preferences - Read plan.md from parent directory - Get segment definition, angle, ICP, and testing hypothesis
Directory Structure Reference ({workspace} = the client campaign workspace, default ./cold-email/{slug}/):
{workspace}/
├── research.md # Client research - ICP, value prop, case studies
├── notes.md # Optional client preferences and feedback
└── {plan_folder}/ # One per campaign, e.g. "03-15 - plan 1"
├── plan.md # Plan with ICP, segments, angles, testing hypothesis
├── 1 - {segment}/
│ └── strategy.md # THIS file - segment strategy
├── 2 - {segment}/
│ └── strategy.md
└── ...
Required Inputs
After loading context, gather:
- Segment folder path - e.g.,
{workspace}/03-15 - plan 1/1 - early-stage/ - Plan.md - Read from parent directory of segment folder to get:
- Broad ICP definition
- Segment-specific criteria
- Messaging angle for this segment
- Testing hypothesis (if any)
- Client Research Document - Check
{workspace}/research.mdor uploads - Campaign Goal - What action to drive:
- Book demos/meetings
- Drive traffic to landing page
- Get replies for qualification
- Promote lead magnet
Output Format
Generate a single Markdown document saved to {segment_folder}/strategy.md:
# {Client} - {Segment Name} Strategy
## Segment Overview
- **ICP**: {Broad ICP from plan.md}
- **Segment**: {Specific segment criteria from plan.md}
- **Angle**: {Messaging angle from plan.md}
- **Goal**: reply-based / click-based
- **Funnel Type**: {type}
## Email Sequence
[Markdown format - see references/email-sequence-guide.md]
## AI Personalization Variables
[JSON array - see references/ai-variables-guide.md]
## AI Rewriting (Optional)
Enable: [yes/no]
Tone: [description]
## Sequence Tests (Optional)
[Only when supporting macro test from plan.md Testing Hypothesis]
AI Rewriting Guidelines
Include the AI Rewriting section when:
- Campaign uses AI personalization (first lines, PS lines, body variables)
- Higher quality/variation is desired for personalization outputs
- Budget allows ($5 per 1,000 contacts for rewriting flow)
Skip AI Rewriting when:
- No AI personalization variables exist
- Subject lines only (rewriting too risky for subjects)
- Budget constraints require minimizing AI costs
When enabled, prompt-writer will add a rewriting prompt at the end of prompts.md.
Core Principles
Building block approach - Treat copy and campaigns as modular building blocks (like Legos) that can be tested in many combinations. Volume of combinations is how we discover what works. See
references/building-blocks.mdfor the full philosophy.Start strong, diversify, close strong - Lead email uses strongest angle. Middle emails try new angles. Final email is a breakup with second-strongest angle.
Relevance over personalization - Don't just use {firstName}. Show deep understanding of their world using AI variables sourced from LinkedIn/website.
One idea per email - Each email has one goal, one CTA, one main point.
Value-first - Every touch provides insight, education, or genuine help.
Data constraints - AI variables can ONLY use: company website main page, LinkedIn company page, LinkedIn individual profile. No news, events, funding announcements, or timely triggers.
Sequence Structure
- 3-5 emails maximum
- Delays: 0 days for first, 2-4 days between follow-ups
- CTAs: Reply-based for meetings, click-based for lead magnets. Every email's CTA asks for the actual offer, including Email 1 (which leads with the strongest version of that ask). No soft diagnostic questions as CTAs. Never send naked booking links - ask a direct question first.
- Length: keep static bodies punchy - at or under ~80 words (follow-ups well under). email-review enforces a hard ceiling.
- Format: AI variables use
{{Title Case}}; every email signs with{sender_signature}.
Workflow
- Receive segment folder path
- Read plan.md from parent directory to get ICP, segment definition, and angle
- Load client research from
{workspace}/research.md - Read references:
- references/building-blocks.md - Campaign testing philosophy
- references/email-sequence-guide.md - Sequence planning details
- references/ai-variables-guide.md - Personalization patterns
- references/sequence-tests-guide.md - Email sequence A/B testing
- Check for test opportunities (optional):
- Read plan.md Testing Hypothesis section
- Evaluate if sequence tests would SUPPORT (not conflict with) macro test
- Only propose tests that refine HOW, not change WHAT (ICP/angle/offer)
- Skip tests if first campaign for client, low TAM, or no clear hypothesis
- Generate strategy document with email sequence (Markdown) and AI variables (JSON)
- Save to
{segment_folder}/strategy.md
Alignment Checklist
Before finalizing, verify:
- Value props from client research are woven through sequence
- Segment-specific pain points inform email hooks
- Angle from plan.md is reflected in the messaging
- Funnel type matches campaign goal
- Lead magnets integrated at appropriate point
- AI variables feasible with available data sources
- Each email has distinct purpose in sequence progression
Edit Mode (Improvement Context)
When invoked with improvement context (mode: "edit"), this skill edits/rewrites portions of strategy.md while preserving what works.
Detecting Edit Mode
Check for improvement context in the conversation:
mode: "edit"indicates edit modetrigger: "analytics"ortrigger: "feedback"indicates sourceimprovement_instructioncontains specific changes to make
Edit Mode Workflow
- Read improvement context: Extract
improvement_instructionobject - Load existing strategy.md: Parse current strategy from segment folder
- Identify preservation zones: What should NOT change (see below)
- Identify change zones: What specifically to modify
- Apply scoped changes: Only modify specified sections
- Generate diff: Show before/after for changed sections
- Get approval: Wait for user to confirm changes
- Save: Update strategy.md with approved changes
- Cascade check: Notify if changes affect downstream files (emails.md, prompts.md)
- Log: Update improvement-log.md in plan folder
Handling Edit Scopes
| Scope | Action | What Changes | Cascades To |
|---|---|---|---|
| "email sequence" | Rewrite email descriptions | Email blueprint section | emails.md, prompts.md |
| "AI variables" | Update AI variable definitions | AI variables JSON | prompts.md |
| "segment overview" | Update ICP, goal, funnel type | Overview section | May affect all |
| "pivot angle" | Change messaging angle | Multiple sections | emails.md, prompts.md |
| "full rewrite" | Generate new strategy | Everything | All downstream |
Preservation Rules
When editing strategy.md:
Always preserve (unless explicitly changing):
- ICP and segment definition (unless pivoting)
- Available data sources and constraints
- Funnel type (reply-based vs click-based)
- Core value proposition from client research
Consider preserving:
- Email sequence structure if only changing copy angle
- AI variable names if prompts are working
Safe to change:
- Email descriptions and goals
- AI variable definitions
- Messaging angle and hooks
- Offer/CTA specifics
Edit Mode Output Format
## Proposed Changes to strategy.md
### Email Sequence Section
**Before:**
Email 3:
- primary_goal: Re-engage with social proof
- description: Share a case study relevant to their industry
- delay_in_days: 3
**After:**
Email 3:
- primary_goal: Re-engage with curiosity hook
- description: Ask a thought-provoking question about their growth strategy, no case study yet
- delay_in_days: 3
**Rationale:** Email 3 has 15% lower opens - case study subject lines may feel too salesy
### Cascade Impact
- emails.md: Email 3 will need rewriting (invoke email-copywriting after approval)
- prompts.md: No changes needed (same AI variables)
---
Approve these changes? [Yes/No/Modify]
Analytics-Informed Editing
When analytics_context is provided:
- Use
sequence_statsto identify which emails need strategic changes - Reference
weak_spotsfor specific improvement areas - Consider
sibling_comparisonto learn from winning campaigns
Common patterns:
- Low Email 1 opens = Strengthen opening hook strategy
- Drop-off after Email 2 = Email 3 strategy needs pivot
- Low replies across all = CTA or offer strategy issue
Feedback-Informed Editing
When feedback_context is provided:
- "Wrong angle" = Pivot messaging strategy
- "Offer not resonating" = Update lead magnet/CTA strategy
- "ICP mismatch" = Update segment overview section
- "Emails too long" = Adjust email descriptions
Cascade Notifications
After editing strategy.md, check if changes affect downstream files:
| Change Type | Affects | Action Needed |
|---|---|---|
| Email descriptions | emails.md | Re-run email-copywriting |
| AI variables | prompts.md | Re-run prompt-writer |
| ICP or offer | All files | Consider full regeneration |
Notify user: "Strategy updated. These downstream files may need regeneration: [list]"
Edit Mode Checklist
Before saving edits, verify:
- Only specified sections were modified
- Preservation zones respected
- Changes align with client research
- Cascade impacts identified
- Diff shown and approved by user
Sequence Test Guidelines
Define micro-level email sequence tests that complement (not duplicate) macro-level tests from campaign-planning.
Two A/B levels - don't confuse them. This skill defines email-step A/B (
### Variant A/Binside one step - subject, hook, CTA). Testing whole sequences against each other is a different thing: a segment-level sequence A/B test, set up in campaign-planning aspercentagemode (random %-distribution arms, each arm a totally different sequence). If the plan is inpercentagemode, each arm is its own segment folder and you write its full sequence normally - the "test" is the arm itself, so you usually skip within-step variants in that arm.
What campaign-planning handles (DON'T duplicate):
- ICP testing (different personas/industries)
- Messaging Angle testing (different hooks/pain points)
- Lead Magnet testing (different offers)
- Whole-sequence testing (
percentagemode - each arm a different full sequence)
What sequence tests handle:
- Email execution tests within a SINGLE segment/arm
- Tests defined here, implemented in emails.md by email-copywriting skill
- Variants appear in same emails.md file (Variant A / Variant B)
Testable Variables
Only email sequence tests (no prompt tests):
| Category | Variables |
|---|---|
| Subject Line | Personalized vs static, short vs medium, question vs statement |
| Opening Hook | With/without AI first line, question vs observation |
| Body Structure | Short (3-4 lines) vs medium (5-7 lines), paragraph vs bullets |
| Social Proof | Include vs exclude case study reference, metric vs name drop |
| CTA Phrasing | Low commitment ("Curious if...") vs direct ("Worth 15 min?") |
| Tone | Casual vs professional, humble vs assertive |
| PS Line | With vs without, personal vs professional content |
| Timing | Short delays (2-2-3 days) vs long (3-4-5 days) |
| Email Length | Concise vs detailed |
| Proof Placement | Early (email 1-2) vs late (email 3) |
When to Propose Tests
- Plan has clear macro hypothesis to support (sequence test refines delivery)
- Campaign targets 5,000+ prospects (enough volume to split 50/50)
- Two reasonable approaches exist for an element
- Client expressed preference worth validating
- Historical data suggests optimization opportunity
When to Skip Tests
- Macro test is already complex (don't add noise)
- Limited TAM (<2,000 contacts - not enough volume)
- First campaign for client (establish baseline first)
- No clear hypothesis (testing for testing's sake)
- Tests would conflict with plan's macro test variable
Test Design Rules
- Maximum 1 test per strategy (keep it simple)
- Must reference plan.md's test variable (show how it supports the macro test)
- Hold constant: ICP, messaging angle, offer, AI variables
- Vary only: Delivery elements (subject format, PS line, body length, CTA phrasing, timing)
- Clear hypothesis: State expected outcome and why
- Measurable: Define primary metric (open rate / reply rate / click rate)
Sequence Tests Output Format
When including a sequence test, add this section to strategy.md:
## Sequence Tests
### Test Context
**Plan Test Variable**: [From plan.md - what macro test is running]
**Supporting Hypothesis**: [How this micro-test supports the macro test]
### Active Test
**Test Name**: [e.g., PS Line Inclusion Test]
**Variable**: [What's being tested]
- **Variant A (Control)**: [Default approach - describe]
- **Variant B (Test)**: [Alternative approach - describe]
- **Hypothesis**: [Why we think B might outperform A]
- **Primary Metric**: [Open rate / Reply rate / Click rate]
- **Affected Emails**: [Which emails have variants - e.g., "Email 1 only", "All emails", "Emails 2-3"]
**Implementation for email-copywriting:**
[Clear instructions on how to create variants in emails.md]
Example: PS Line Inclusion Test
## Sequence Tests
### Test Context
**Plan Test Variable**: Messaging Angle (guarantee vs ROI)
**Supporting Hypothesis**: The guarantee angle may perform differently with/without personal PS lines - testing whether personalization adds or detracts from the focused offer message.
### Active Test
**Test Name**: PS Line Inclusion Test
**Variable**: PS Line
- **Variant A (Control)**: Include AI-personalized PS line after signature
- **Variant B (Test)**: No PS line - end email at CTA
- **Hypothesis**: The guarantee message is already strong; PS line may dilute focus or add unnecessary length
- **Primary Metric**: Reply rate
- **Affected Emails**: Email 1 and Email 4 (the emails that currently use {{PS Line}})
**Implementation for email-copywriting:**
- Email 1: Write two versions - one with {{PS Line}} placeholder, one without
- Email 4: Write two versions - one with {{PS Line Final}} placeholder, one without
- Emails 2-3: No variants needed (they don't have PS lines)
Alignment with Campaign Planning
Before defining a sequence test, verify it SUPPORTS (not conflicts with) the macro test:
| Plan Tests | Compatible Sequence Tests | Why Compatible |
|---|---|---|
| Messaging Angle | Subject format, PS line, body length | Same audience, same offer, different delivery |
| ICP | None recommended | Keep execution identical to isolate ICP |
| Lead Magnet | CTA phrasing, proof placement | Same audience, refines offer delivery |
Rule: If plan.md is testing ICP, skip sequence tests entirely to get clean ICP comparison.