# Copy Generator **Skill:** `/write-copy ` **Type:** Claude Code slash command **Channels:** Email, LinkedIn --- ## What It Does Generates personalized multi-step outreach sequences for a specific customer. Given a customer name, channel, and campaign goal, it reads the customer's profile, applies the relevant playbook, checks past campaigns to avoid repeating angles, and produces 3-4 step sequences with personalization placeholders ready to load into an outbound tool. The output is production-ready copy that follows tested frameworks and benchmarks — not generic templates. --- ## How It Works ``` /write-copy | v +-------------------------+ | Read Customer Profile | | (ICP, goals, messaging) | +------------+------------+ | v +-------------------------+ | Load Channel Playbook | | (cold-email or linkedin)| +------------+------------+ | v +-------------------------+ | Review Past Campaigns | | (avoid repeated angles) | +------------+------------+ | v +-------------------------+ | Generate Sequence | | 3-4 steps per channel | | with personalization | +------------+------------+ | v Formatted Copy Output ``` --- ## Usage ```bash # Generate a LinkedIn sequence for demo booking /write-copy acme-corp linkedin demo-booking # Generate a cold email sequence for a free trial offer /write-copy acme-corp email free-trial # Generate LinkedIn copy aimed at starting a conversation /write-copy acme-corp linkedin conversation-start ``` --- ## Arguments | Argument | Required | Description | |----------|----------|-------------| | `customer` | Yes | Customer folder name (matches `customers//profile.md`) | | `channel` | Yes | `email` or `linkedin` | | `goal` | Yes | Campaign objective: `demo-booking`, `free-trial`, `conversation-start`, `event-invite`, etc. | --- ## What It Reads 1. **Customer Profile** (`customers//profile.md`) - ICP: who are we targeting (titles, company size, industry) - UVP: what the customer offers and why it matters - Messaging context: tone, past objections, competitor positioning - Triggers: what signals indicate a prospect is ready 2. **Channel Playbook** (`campaigns/playbooks/cold-email.md` or `linkedin-outbound.md`) - Sequence structure and timing - Copy constraints (word limits, format rules) - Benchmarks to target 3. **Past Campaigns** (`customers//campaigns/`) - Previous angles, hooks, and CTAs used - Ensures new copy takes a different approach --- ## Copy Rules ### Email - **Under 120 words** per email — no exceptions - Subject lines: 3-5 words, all lowercase, no caps or emojis - Problem-first framing — lead with the pain, not the product - One CTA per email — never stack asks - No attachments, no links in first email - Threaded follow-ups reference the previous email naturally ### LinkedIn - **Under 300 characters** per message (platform limit for connection notes) - Connection request: blank or extremely short (never pitch) - M1 opens with personalization, asks a question - M2 provides proof/math, includes a soft CTA - Never use "I'd love to" or "Let's hop on a call" ### Personalization Placeholders - `{{first_name}}` — Prospect's first name - `{{company}}` — Prospect's company name - `{{custom_line}}` — One-line personalization (recent post, news, shared connection) - `{{PERSONALIZATION}}` — Extended personalization block (2-3 sentences of research) --- ## Output Format ```markdown ## Campaign: [Customer] — [Channel] — [Goal] **Target:** [ICP description from profile] **Sender:** [Recommended sender from profile] **Angle:** [The hook/angle being used — distinct from past campaigns] --- ### Connection Request (LinkedIn only) [Blank or short note] ### Step 1 — [Label] [Copy with placeholders] ### Step 2 — [Label] [Copy with placeholders] ### Step 3 — [Label] [Copy with placeholders] --- **Timing:** [Recommended spacing between steps] **Notes:** [Any implementation notes — A/B test ideas, segment variations, etc.] ``` --- ## Example Output — 2-Step LinkedIn Sequence ```markdown ## Campaign: Acme Analytics — LinkedIn — Demo Booking **Target:** VP Finance, CFO, Head of FP&A at mid-market SaaS (200-2000 employees) **Sender:** CEO **Angle:** "Analyst bottleneck" — leadership wants more insights but hiring is frozen --- ### Connection Request BLANK ### M1 — Open with Personalization (Day 1) {{first_name}}, thanks for connecting. {{custom_line}} — quick question: what happens when leadership wants a new analysis but your team is already stretched across three other requests? ### M2 — Proof + Soft CTA (Day 3-5) {{first_name}}, here's the math — most finance teams we talk to spend 60% of analyst time on recurring reports that could be automated. We built something that handles the repetitive work. Worth a quick look? --- **Timing:** M1 on accept, M2 3-5 days after M1 if no reply **Notes:** A/B test M1 question — try "what if reports wrote themselves?" as alternate hook. Do not pitch in connection request. ``` --- ## Key Design Decisions - **Past campaign check is critical.** Without it, the skill generates the same angles repeatedly. Checking `customers//campaigns/` ensures each campaign takes a fresh approach. - **Playbook enforcement keeps quality consistent.** Every piece of copy is validated against the playbook rules before output — word count, CTA count, subject line format. - **Profile-driven, not prompt-driven.** The customer profile is the source of truth for ICP, messaging, and tone. The skill does not ask the user to re-specify what is already documented.