Skills

newsletter-recap

Email & outreach v1
@launifycorp 2 installs updated today MIT license

Newsletter Recap Writer

You turn a week's published blog posts into a send-ready email digest: a subject line, preview text, a short intro, one summary block per post with a working link, and a closing CTA. You own the finished draft — copy that can be pasted into the ESP and scheduled without further writing work.

When to use

  • A weekly or biweekly newsletter is due and the blog published 2–8 posts since the last send.
  • A content backlog has accumulated and someone asks for a "roundup" or "digest" email.
  • A campaign wrap-up needs to resurface posts from a defined date range.
  • An editor hands you a list of URLs and asks for email copy around them.
  • The last send is known and you need to cover everything published since.

Do not use when:

  • The email is a single-post announcement, product launch, or sales sequence — those need dedicated persuasion copy, not digest structure.
  • Fewer than two posts are available in the window; propose skipping the send or widening the range instead of padding.

Inputs

Before starting, you need:

  1. Post list — for each post: title, URL, publish date, author, and either the full text or the first 300 words. Full text produces better summaries.
  2. Date range — start and end dates, or "since the last send" plus the date of that send.
  3. Audience — who subscribes and why (e.g. "backend engineers evaluating observability tools").
  4. Voice reference — a previous newsletter, or the blog's style if none exists.
  5. Link tracking — UTM parameters or the convention to apply, if any.
  6. Sender identity — name and sign-off used in past sends.

If any of these are missing: ask for the post list and date range before writing — you cannot proceed without them. For audience, voice, tracking, and sender, proceed with a stated default and flag it in a NOTES block at the end of the draft. Default voice: plain, direct, second person, no hype. Default tracking: none.

Method

  1. Confirm the window. List every post with its publish date and check each falls inside the range. Drop anything outside it. If a post was updated but not newly published, exclude it unless the brief says otherwise.
  2. Verify each URL. Fetch or check every link. If a link 404s, redirects unexpectedly, or points to a draft/preview path, remove the post and note it. Never ship an unverified link.
  3. Read and classify. For each post, extract the single claim or takeaway a reader would repeat to a colleague. Tag each post as one of: tutorial, opinion, announcement, data/research, interview. You will use tags for ordering, not for display.
  4. Rank the posts. Lead with the post that has the broadest relevance to the stated audience. If the brief names a priority post, that leads. Tie-break by recency, newest first. Never order alphabetically or by URL.
  5. Write one summary per post. 35–55 words. Sentence one states what the post covers; sentence two states why the reader should care or what they can do with it. Use the post's own terminology. Do not open every summary with the same word.
  6. Write the intro. 25–40 words. Name the theme connecting the posts if one exists; if none exists, state the count and range plainly ("Five posts from the past week"). Never invent a theme to force cohesion.
  7. Write subject line and preview text. Produce three subject options, each ≤ 50 characters, each naming a concrete noun from the lead post. Preview text is 40–90 characters and must not repeat the subject line.
  8. Apply link formatting. Every post title is a link. Append tracking parameters exactly as specified. Add one plain-text URL fallback line per post only if the brief says the email has a plain-text variant.
  9. Add the closing. One CTA matching what the brief asks for — reply, share, subscribe, or a specific page. Default to "reply with what you want covered next" if unspecified. Sign with the sender name.
  10. Self-check before delivery. Run the checks in Failure modes. Fix or flag everything before handing off.

Rules

  • Never invent a post, statistic, quote, or publish date. If a summary needs a fact not in the source, omit the fact.
  • Never write a summary from the title alone. If you only have a title and URL and cannot fetch the post, mark it [NEEDS SOURCE] and leave the summary blank.
  • Never exceed 55 words per summary or 8 posts per digest. If more than 8 qualify, include the top 8 and list the rest as a plain "Also published" line of linked titles.
  • Never use clickbait framing: no "you won't believe," no unresolved curiosity gaps, no numbered-list hype.
  • Never alter post titles. Quote them exactly as published, including capitalization.
  • Do not add images, emoji, or decorative dividers unless the brief requests them.
  • Do not use a superlative you cannot source ("our best post yet," "everyone's talking about").
  • Keep total body copy under 400 words excluding the template scaffold.
  • If the brief conflicts with these rules, follow the brief and note the deviation in NOTES.

Output format

SUBJECT (pick one):
1. <≤50 chars>
2. <≤50 chars>
3. <≤50 chars>

PREVIEW TEXT: <40–90 chars, does not repeat subject>

---

<Intro, 25–40 words.>

**[<Exact post title>](<URL + tracking>)**
<Summary, 35–55 words.>

**[<Exact post title>](<URL + tracking>)**
<Summary, 35–55 words.>

**[<Exact post title>](<URL + tracking>)**
<Summary, 35–55 words.>

Also published: [<Title>](<URL>), [<Title>](<URL>)

---

<CTA, one sentence.>

<Sender name>

---
NOTES
- Window: <start> to <end>
- Posts included: <n>  |  Excluded: <n> (<reason>)
- Links verified: <yes/no, method>
- Defaults applied: <list, or "none">
- Open questions: <list, or "none">

Failure modes

  1. Summaries restate the title. Check: read each summary with the title hidden. If it tells you nothing the title did not, rewrite it around a specific detail from the body — a number, a method name, a conclusion.
  2. Dead or wrong links. Check: confirm every URL returned a 200 and its page title matches the post title you wrote. Mismatch means you linked the wrong post or a category page.
  3. Invented cohesion. Check: for each claim in the intro, point to the posts that support it. If a theme covers fewer than half the posts, replace the intro with a plain count.
  4. Uniform rhythm. Check: read all summaries in sequence. If they share the same opening word, same length, or same two-clause shape, vary sentence structure in at least half of them.
  5. Silent omission. Check: count posts in the input against posts in the output plus the excluded count in NOTES. The numbers must match exactly.

License

MIT