AGENT SKILLBY RETIEEDRA-PROFOUND
Newsletter copy
AT A GLANCE
Newsletter copy is an agent skill for content. Generate newsletter sponsorship copy with 2-3 ready-to-paste variants, tracking URLs via link-creator, and placement-spec compliance. It is published by retieedra-profound in the retieedra-profound/skills-marketing-library GitHub repository under the MIT license. To add it, run npx skills add retieedra-profound/skills-marketing-library --skill newsletter-copy
- REPO STARS
- NOT AVAILABLE
- LICENSE
- MIT
- SKILL.MD SIZE
- 16.4 KB401 LINES
QUICK ANSWER
- WHAT IT IS01
- Generate newsletter sponsorship copy with 2-3 ready-to-paste variants, tracking URLs via link-creator, and placement-spec compliance. Pulls approved angles from an upstream ICP campaign when applicable. It brings Wispr Flow's specific operating context into email marketing, so the agent is guided by a sharper source than a generic prompt.
- INPUTS02
- Context for email marketing: your goals, audience, constraints, and any source material the skill asks for.
- OUTPUT03
- A ready-to-use result for email marketing: the analysis, copy, or recommendations the agent produces.
INSTALL
One command adds this skill from its source repository.
npx skills add retieedra-profound/skills-marketing-library --skill newsletter-copyREAD THE SKILL.MD BELOW BEFORE YOU RUN IT. SKILLS INSTRUCT YOUR AGENT.
SKILL.MD
The full file, as published in the source repository. Copy it, download it or open it on GitHub.
ON THIS PAGE · 36
Newsletter Copy Generator#
Generate newsletter sponsorship copy briefs with ready-to-paste variants optimized for conversion. This skill produces complete copy briefs including multiple variants, tracking URLs, and placement specs.
Adapt the paths, domains, and IDs below to your own setup. This is the anchor of a sponsorship waterfall: it ingests a deal, researches the audience and prior performance, writes copy on proven best practices, then hands off to link-creator for tracked links and to copy-editing / writing for the final voice pass.
Pre-flight reminders#
Before generating copy, check the per-user state file for reminders whose surface_when matches today AND whose surface_trigger includes newsletter-copy invocation. If one matches, surface it at the top of the output and list the pending placements whose submit-by dates are within 7 days.
Integration with an upstream ICP campaign#
When a newsletter placement targets an ICP that already has a campaign package, read the campaign's messaging/approved-angles.md before writing. The newsletter copy becomes a short-form render of the anchor angle for the most relevant subgroup.
Handoff flow:
- An ICP campaign produces angle cards
/newsletter-copypulls the subgroup-relevant card and writes 2-3 newsletter-length variants/link-creatorprovides the Dub tracking URL for each variant/copy-editingpolishes before send to partner/writingfinal voice pass
When NOT to use#
- Paid ad copy → generated within the ICP campaign
- General copy review →
/copy-editing
Process#
- Gather inputs: newsletter name, placement date(s), placement type, campaign goal
- Pull partner performance from Dub (see Phase 0.5 below), required when the partner has ≥1 shipped placement. Drives angle selection.
- Load messaging: pull ICP messaging from your product context
- Check specs: verify character limits and placement constraints
- Generate variants: write 2-3 copy variants per placement, leaning into proven winners and avoiding recently-shipped angles
- Create a unique Dub link per placement (see Tracking Standards below), one short link per date, tagged with the partner, in the Sponsorships folder
- Deliver brief: complete brief using assets/copy-brief-template.md, with the performance-analysis table at the top so rationale is transparent
- Save the brief to
sponsorships/copy/{partner-slug}/YYYY-MM-DD-{publication}-{placement}.md(one file per send date, see File Organization below)
File Organization#
Every sponsorship brief lives under sponsorships/copy/.
Rules#
- One folder per partner. Folder name is the lowercase-hyphenated partner slug.
- One file per placement. File name is
YYYY-MM-DD-{publication}-{placement}.md.YYYY-MM-DD= send date{publication}= specific show/newsletter (for example,flagship,ai,tech,dev,founders,pm){placement}= ad unit (for example,primary,secondary,quicklinks,takeover,midroll)
- Never merge multiple send dates into one file. If you're drafting two placements on the same day, write two separate files so each has its own Dub link, compliance check, and sign-off trail.
_library/inside a partner folder = multi-placement planning docs (quarterly plans, master briefs). Overviews, not the final copy that ships._archive/inside a partner folder = superseded drafts, deprecated messaging. Keep for reference, never ship from here.- New partner? Create the folder using the partner slug and note any quirks in a partner-specific README (for example, a partner with multiple publications under one brand).
Required Inputs#
| Field | Required | Description |
|---|---|---|
| Newsletter Name | Yes | The specific newsletter and publication |
| Placement Type | Yes | Primary, Secondary, Subject Line |
| Campaign Goal | Optional | Awareness, Trial Signups, Upgrades |
| ICP | Optional | Will infer from newsletter audience |
Placement Specs#
| Placement | Char Limit | Purpose |
|---|---|---|
| Subject Line | ≤45 chars | Inbox hook (rarely available) |
| Preheader | 50-90 chars | Preview text |
| Primary | 150-250 words | Main ad unit (most common) |
| Secondary | 100-125 words | Shorter placement |
Phase 0: Silent Context Load#
Before generating any copy, silently read your shared product context. Extract:
company.icps, use for audience matching per newslettercompany.messaging.value_props, use as proof points and angle sourcescompany.messaging.differentiators, use when claims need backing
If these fields are still unpopulated, proceed and infer the ICP from the newsletter audience. Flag at the end.
Phase 0.5: Performance Pre-Flight (REQUIRED)#
Before drafting any copy, pull performance data for prior placements with this partner. Past performance is the single best signal for what angle to write next. This step is required when the partner has ≥1 shipped placement (skip only for net-new partners with no history).
Step 1: Pull placement-level data from Dub#
Use the Dub REST API directly (the workspace-ID MCP lookup can 404):
source .env && curl -s -H "Authorization: Bearer $DUB_API_KEY" \
"https://api.dub.co/links?tagIds={PARTNER_TAG_ID}&pageSize=50&sort=createdAt"Substitute the partner's tag ID from your private lookup. Each link object returns clicks, leads, sales, saleAmount, createdAt, and key (the slug, which encodes the send date).
Step 2: Cross-reference angles with the brief files#
For each link with traffic, open the matching brief in sponsorships/copy/{partner}/YYYY-MM-DD-{publication}-{placement}.md and pull the Angle line. Performance is meaningless without knowing what angle ran.
Step 3: Build the analysis table#
Render a table at the top of the new brief:
| Date | Placement | Angle | Clicks | Leads | Sales | $ | Lead CVR |
Order by send date. Compute lead CVR = leads / clicks.
Step 4: Identify winners, losers, and recent angles#
Write 3-5 bullets under the table covering:
- Top performer by clicks / sales / $. The structural pattern to lean into.
- Top performer by lead CVR. The hook pattern to lean into.
- Anomalies (a placement with near-zero clicks usually means it didn't ship, not that the angle failed, flag, don't penalize).
- Recently-shipped angles (last 30 days). Avoid these to prevent fatigue on overlapping subscriber bases.
- Implication for this placement. State the angle choice and why.
Step 5: Drive angle selection from the read#
The copy you write should clearly inherit from the analysis. If you pick a different angle than the data supports, justify it.
When to skip Phase 0.5#
- Net-new partner with no shipped placements
- Partner tag does not exist yet (create via
POST /tagsfirst) - Same-week reshoot of a placement already drafted (use the existing draft's analysis)
ICP Messaging#
Pull ICP messaging from your shared product context. If not yet populated, use defaults like these until the context is refreshed:
- Knowledge Worker: Speed (type faster by speaking), ease, works everywhere
- Leaders/Executives: ROI, team productivity, premium positioning
- Developers: IDE integration, syntax awareness, prompt power
Critical Copy Rules#
- No em dashes (—) and no double hyphens (--), both signal AI-generated copy. Restructure with periods, commas, or parentheses instead.
- Match ICP voice to newsletter audience, tech newsletters get developer messaging.
- Include 2+ variants per placement, for testing and flexibility.
- Use verified proof points only, keep an approved-claims reference and pull from it.
- Stay under character limits, newsletters enforce strict limits.
- Unique link per placement, never reuse a short link across multiple send dates.
Tracking Standards (Dub.co)#
Every newsletter placement gets its own Dub short link so click attribution lands on the specific send date.
Link pattern#
| Field | Value |
|---|---|
| Domain | ref.wisprflow.ai |
| Slug | {partner}-{mmm}{dd} (readable, year-implicit, for example partnername-apr17) |
| Destination | https://wisprflow.ai/ (or ICP-specific page if targeted) |
| Folder | Sponsorships ({FOLDER_ID}) |
| Tag | The partner's own tag (one tag per main sponsor) |
| Track conversion | true |
| Title | Wispr Flow x {Partner} {Publication} — {Placement} {Date} |
UTM shape#
| Param | Value | Example |
|---|---|---|
utm_source | {partner-slug} — one source per partner, groups all publications | partnername |
utm_medium | newsletter | newsletter |
utm_campaign | {partner}-{publication}-{yyyy}-{mm} (monthly rollup per publication) | partnername-flagship-2026-04 |
utm_content | {placement-type}-{yyyy-mm-dd} (unique per placement) | primary-2026-04-17 |
Partner tags#
Keep one tag per main sponsor in a private lookup. New partner? Create the tag first via POST https://api.dub.co/tags (the Dub MCP cannot create tags), then add the ID to your lookup and to your /link-creator configuration.
How to create the link#
Call your Dub create-link tool with the fields above, or hand off to /link-creator. The link returned is what you paste into the copy; Dub appends the UTMs server-side on redirect.
Output Format#
Deliver a complete copy brief using assets/copy-brief-template.md (opens in a new tab) with:
- Campaign context and goals
- 2-3 copy variants per placement
- Character counts and compliance checks
- UTM tracking URLs
- Proof point sources
- Approval checklist
Cross-References#
- copywriting: for general marketing copy
- copy-editing: for copy review and improvement
- brand-voice: for brand voice consistency checks
- writing: final humanize pass before send
References#
- references/framework.md (opens in a new tab), placement specs, funnel-stage hook mapping, copy patterns, and validation checklist
- assets/copy-brief-template.md (opens in a new tab), the output brief template
Supporting file: assets/copy-brief-template.md#
Newsletter Copy Brief: [Newsletter Name] - [Campaign Name]#
Date: [YYYY-MM-DD] Newsletter: [Newsletter Name] Placement Type: [Primary / Secondary / Subject Line] ICP: [Audience segment] Campaign Goal: [Awareness / Trial Signups / Upgrades]
Campaign Context#
Why this placement? [Brief rationale for targeting this newsletter]
Key message: [One-sentence positioning]
CTA goal: [What action do we want readers to take?]
Copy Variants#
Variant A#
[Paste copy here]
Character count: [X] Compliance: [✓ / ✗] (em dashes removed, char limit met)
Variant B#
[Paste copy here]
Character count: [X] Compliance: [✓ / ✗]
Tracking & UTMs#
Landing page: [URL] UTM parameters:
utm_source=[partner-slug]utm_medium=newsletterutm_campaign=[partner]-[publication]-[yyyy]-[mm]utm_content=[placement-type]-[yyyy-mm-dd]
Full tracking URL:
[short link from link-creator]Proof Points Used#
[List any stats, testimonials, or claims referenced in copy with sources. Verified claims only.]
Approval Status#
- Copy approved by [Name]
- Tracking URLs generated
- Newsletter specs confirmed (char limits, placement details)
- Submitted to newsletter team
Supporting file: references/framework.md#
Newsletter Copy Framework#
Reference for /newsletter-copy. Placement specs, funnel-stage hook mapping, copy patterns, and the validation checklist. Swap the example product framing (Wispr Flow, a voice-to-text tool) for your own, and replace every proof point with a verified claim from your own approved-claims list.
Placement Specs#
| Placement | Character Limit | Purpose |
|---|---|---|
| Subject Line | ≤45 chars | Inbox hook, drives open |
| Preheader | 50-90 chars | Preview text, supports subject |
| Primary | 150-250 words | Main ad unit, full pitch |
| Secondary | 100-125 words | Shorter placement, key points |
| Tertiary | ≤50 words | Brief mention, one hook |
| Link Module | Title + 10-15 words | Clickable link with description |
Match the funnel stage to the audience#
Pick the hook and CTA register from where the newsletter's audience sits relative to your product.
| Stage | Hook strategy | CTA register |
|---|---|---|
| TOF (indifferent) | Curiosity, identity, "did you know" | Soft: "See how", "Learn more" |
| MOF (frustrated) | Pain point, "tired of X?", comparison | Medium: "Try it", "See the difference" |
| MOF (open) | Demo, proof, "watch this" | Medium: "Watch demo", "See it work" |
| BOF (ready) | Social proof, pricing, urgency | Hard: "Start free", "Get started" |
Concept selection#
Choose 1-2 angles that best match the audience. Each angle is a one-line world the copy lives in. Examples for a voice-to-text product:
| Concept | Best for | One-line world |
|---|---|---|
| Understands you | Frustrated typists | "Talk messy. It cleans it up." |
| Works everywhere | Multi-app users | "One mic for every app." |
| Time back | Busy professionals | "Move faster, log off sooner." |
| Prompt power | Developers, AI users | "Better input, better AI output." |
Hook patterns#
Categories that travel well across audiences. Write fresh lines, don't reuse stale ones.
- Playful: lightly anthropomorphize the old way of doing things.
- Historical: frame the status quo as overdue for change.
- Personal discovery: "a tool that changed how I work."
- Tutorial / how-to: lead with a concrete, repeatable win.
- Pain point: name the exact friction the reader feels.
Bullet structure#
Use a bold lead plus a supporting detail. Two to four bullets, never a forced trio.
- **Faster than typing.** Dictate emails, docs, and messages in real time.
- **Cleans up as you go.** Filler words and grammar handled automatically.
- **Works in every app with no setup.** Same shortcut everywhere you type.Social proof#
Use verified, attributable proof only. Never ship a quote you cannot source, and never reuse a retired endorsement. Placeholders:
"{VERIFIED_CUSTOMER_TESTIMONIAL}" — {Name, Title, Company}
Keep a short library of approved quotes with a status column, and pull only from the approved set.
CTA patterns#
| Tone | CTA |
|---|---|
| Casual | "Give your hands a break, start free today" |
| Direct | "Try it free right now" |
| Benefit | "Start turning your voice into clean text, free" |
| Urgency | "Start free →" |
Image direction#
When the placement allows an image, brief the designer to:
- Show the transformation (messy input → clean output)
- Include one piece of social proof if there's room
- Keep on-image text minimal (headline + CTA)
- Use the brand palette and platform badges where relevant
Formatting rules: avoid AI tells#
| Pattern | Rule | Alternative |
|---|---|---|
| Em dashes (—) | Never use | Periods, commas, colons, or "and" |
| "Delve into" | Avoid | "Explore", "look at", "check out" |
| "Leverage" | Avoid | "Use", "with", "through" |
| "Seamlessly" | Avoid | Remove or use "smoothly" |
Examples:
- Bad: "This tool, the voice typing app, works everywhere"
- Good: "This is a voice typing tool that works everywhere"
- Bad: "Get clean text, instantly" (when written with an em dash)
- Good: "Get clean text, instantly" or "Get clean text. Instantly."
Proof points: keep a verified list#
Maintain a table like this and pull only from rows marked Verified. Fill it with your own claims and sources.
| Claim | Status | Source |
|---|---|---|
| {speed claim, e.g. faster than typing} | Verified | Internal testing |
| {language coverage} | Verified | Product spec |
| {works across apps} | Verified | System-level integration |
| {auto-edit feature} | Verified | Core feature |
| {compliance certifications} | Verified | Security/compliance docs |
| {customer testimonial} | Verified | Public endorsement |
Validation checklist#
Before delivering the brief:
- No em dashes anywhere in copy (critical: signals AI-generated)
- Character limits respected for all placements
- Copy matches the selected ICP voice
- At least 2 variants per placement
- Proof points are verified, attributable claims (no retired quotes)
- CTAs are clear and actionable
- UTM structure is correct, unique link per send date
- Image direction aligns with brand
FAQ
07 QUESTIONS
01What is the Newsletter copy agent skill?
Generate newsletter sponsorship copy with 2-3 ready-to-paste variants, tracking URLs via link-creator, and placement-spec compliance. Pulls approved angles from an upstream ICP campaign when applicable. It is listed under content and email in the 100xLab agent skills directory.
02How do I install Newsletter copy in Cursor, Claude Code, or Codex?
Run npx skills add retieedra-profound/skills-marketing-library --skill newsletter-copy in the project where you want it, then ask your agent for the skill by name. The --skill flag installs only Newsletter copy, not every skill in the repository.
03What does the Newsletter copy SKILL.md cover?
The SKILL.md includes sections on Pre-flight reminders, Integration with an upstream ICP campaign, When NOT to use, Process, File Organization and Rules. Read the full text on this page or in plain markdown at /resources/agent-skills/wispr-flow-claude-skills--wispr-flow-newsletter-copy--e9zq4p/raw.
04Which agents can use Newsletter copy?
Newsletter copy installs with the cross-agent skills installer (npx skills add), which sets it up for agents such as Claude Code, Cursor and Codex. Each agent loads the SKILL.md when you ask for the skill by name.
05What license is Newsletter copy under?
The retieedra-profound/skills-marketing-library repository declares the MIT license. Read the license file in the repository before you copy or redistribute the skill.
06Is Newsletter copy free to use?
Reading, copying and installing Newsletter copy costs nothing: it is published in a public GitHub repository under the MIT license. Reuse and redistribution follow that license.
07Where is the source of Newsletter copy?
Newsletter copy comes from https://github.com/retieedra-profound/skills-marketing-library. The SKILL.md is at https://github.com/retieedra-profound/skills-marketing-library/blob/HEAD/wisprflow/newsletter-copy/SKILL.md. The author is retieedra-profound.
Need an agent workflow built around your stack?
Tell us the workflow you want automated. We reply within 4 working hours (IST).
ATTRIBUTION
Newsletter copy was written by its original authors and is published in retieedra-profound/skills-marketing-library (opens GitHub in a new tab) under the MIT license. All rights stay with the original authors.
100xLab did not write, maintain or endorse this skill. This page lists it for discovery. Repo stars belong to the source repository, not to the skill. Review any skill before you install it.