算法艺术创作
algorithmic-art
通过代码和可调参数创作生成艺术与交互式视觉效果。
newsletter-writer【设计与创意】Write recurring newsletter issues with a consistent format and POV using the Curiosity Gap (George Loewenstein) and David Perell's Online Writing framework. Different from one-off emails (use /content-writer or /email-nurture). Use when the user asks for a newsletter, weekly/monthly newsletter, "write this week's issue", recurring email, Substack iss…
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Writes recurring newsletter issues. Optimizes for consistent format, distinctive POV, and subscriber retention. Uses the Curiosity Gap (George Loewenstein) to engineer subject lines and Perell's Online Writing framework to discipline every issue to one shiny idea.
Curiosity is triggered when there is a gap between what we know and what we want to know. For a gap to work, it must be:
Loewenstein's key finding: curiosity peaks when you know JUST ENOUGH to know what you're missing.
Why "5 tips for better writing" fails: you don't know what you're missing. Why "The one email mistake that costs 40% of your opens" works: you know exactly what gap exists.
Subject line formula: [Specific thing the reader doesn't know] + [implied payoff if they close the gap]
Examples:
Applying Perell's five to an issue, in order. Each stage has a decision at the end of it, and you do not move on until that decision is made.
| Stage | What you produce | The decision | If it fails |
|---|---|---|---|
| 1. Shiny Dime | One sentence naming the single idea | Does the sentence contain "and", or two verbs with two objects? | Split into two issues, or cut to the stronger half |
| 2. Unique angle | The author's specific claim on this idea | Could a competent stranger have written this sentence? | Source a real story, number or observation the author personally has |
| 3. Show your work | One process detail, mistake or piece of reasoning | Is there a moment where the author was wrong or uncertain? | Ask the author for the version of the story that includes the mistake |
| 4. Compress insight | The repeatable one-liner | Can a reader say it to a colleague from memory? | Cut clauses until they can |
| 5. Specific beats general | The concrete replacements | Count abstract nouns with no example attached | Replace each one, or delete the sentence |
The kill rule. If stage 2 fails twice, do not write the issue. A generic issue costs more than a skipped one, because a subscriber who opens two forgettable issues in a row stops opening. Tell the user the angle is not there yet and ask for the material that would make it specific.
| Type | Audience | Cadence | Format |
|---|---|---|---|
| Industry POV (Substack-style) | External, subscribers | Weekly or biweekly | Long-form essay + curated links |
| Product newsletter | Customers | Monthly | What's new + how to use it + customer story |
| Curated roundup | External subscribers | Weekly | Annotated links, short |
| Internal newsletter | Employees | Weekly or monthly | Wins, updates, asks |
| Sales/partner newsletter | Channel partners or sales reps | Monthly | Enablement, wins, comp updates |
| Investor update | Investors and board | Monthly or quarterly | Metrics, narrative, asks |
Load context. Read brand voice and persona. Look in knowledge/content-library/newsletter/ (if exists) for prior issues to match format and voice.
Run the Shiny Dime test. Before writing a single word:
Answer: "What is the ONE thing this issue teaches, argues, or reveals?"
If the answer contains "and" or a second complete idea, stop. Split into two issues or cut to the stronger one. The Shiny Dime test is mandatory - an issue that tries to say two things says nothing.
Find the unique angle. Answer:
If the answer is "nothing specific," the issue is generic. Push for a tighter angle or source a specific story, data point, or observation the author actually has.
Engineer the subject line using the Curiosity Gap formula.
Draft 3 subject line options. For each, evaluate:
Pick the one with the strongest gap. Reject any subject line that merely describes the topic.
Subject line rubric:
| Test | Pass | Fail |
|---|---|---|
| Specific gap | "The metric SaaS CMOs ignore" | "Marketing tips" |
| Closeable | One issue addresses it fully | "Everything about content" |
| Valuable payoff | Revenue, time, clarity implied | Vague improvement |
Establish the newsletter's spine (do this once on the first issue, then reuse):
Lock these on issue 1:
If prior issues exist, lift the spine from them. Do not invent a new format every week. Subscribers want consistency.
Write the issue.
Subject: <Curiosity Gap formula. 30-50 chars. Specific gap.>
Preview text: <Complementary, 30-90 chars. Don't repeat subject.>
# <Issue title>
<Hook: 80-150 words. Personal observation, news reaction, or contrarian claim. Show your work - share how you arrived at this. Earns the read.>
## <Main piece title>
<800-1500 words. One core argument - the Shiny Dime. Specific examples. POV is required.
Include at least one "show your work" moment: a mistake, a process detail, or behind-the-scenes reasoning.
Use specific language: "a 45-person B2B SaaS team" not "small companies".>
## <Recurring segment>
<200-400 words. Three items, links, or quick takes. Consistent across issues.>
## What I'm reading / watching / building
<3-5 annotated links. Each: title, URL, 1-line take. Why does it matter to THIS reader?>
---
<Sign-off line, consistent across issues>
<Author name>
P.S. <Optional. Often a soft ask: "Reply with your take" or "Forward to a friend who'd like this">
Subject: <Curiosity gap from a customer outcome. Not a feature name.>
Preview text: <Complementary>
## What's new
<3-5 features released. Each: name, what it does, who it's for, link to docs/changelog>
## How to use it
<One feature deep-dive. Step-by-step or 3-tip format. 200-300 words. Show the work - include a real use case.>
## Customer of the month
<One customer story, 100-150 words. Outcome + quote + link to full case study. Specific: company size, use case, result number.>
## What's coming
<2-3 things on the roadmap. Only commit to what will actually ship.>
## CTA
<One call to action: book demo, attend webinar, try new feature>
Subject: <Curiosity gap tease on the most surprising item in the issue>
Preview text: <Tease the second-most interesting one>
## <Issue title>
<Hook: 50-100 words. Why does this week's collection matter now?>
## <Section header>
- **<Title 1>**: <2-line annotation. Why does this matter? What's the gap it fills?> [Link]
- **<Title 2>**: <annotation> [Link]
- ... 5-10 items total
## <Optional second section>
<Same format, different category>
## Closing
<Sign-off + ask for forwards/replies>
Subject: <Theme of the week>
## This week's wins
- <3-5 wins, with credit>
## What's shipping
- <Roadmap items moving this week>
## What we learned
<1-2 short retros from the team>
## Asks
- <Where the team needs help, hires, intros>
## Heads up
<Process changes, all-hands logistics, etc.>
Voice rules:
knowledge/brand/voice.mdSelf-check (run before finalizing). Each item is settled by quoting or counting the draft, not by judging how the issue feels.
Curiosity Gap checks:
Perell framework checks:
Sourcing checks:
knowledge/ or the user.
List each one with its source[NEEDS INPUT: <what>] in the draftFormat checks:
Save to output/newsletter/<DD-MM-YYYY>-<issue-slug>.md with frontmatter:
---
format: newsletter
type: <type>
issue-number: <N>
issue-title: <title>
theme: <theme>
shiny-dime: <one sentence>
curiosity-gap-subject: <yes/no and notes>
words: <count>
created: DD-MM-YYYY
---
Offer derivative content:
/linkedin-post)knowledge/learnings.md with what works.knowledge/content-library/case-studies/ or the user. If any part is missing, write
[NEEDS INPUT: <what>] rather than completing the pattern.Do not send, and name the condition that fired.
[NEEDS INPUT: <what>]. Never complete the pattern with a plausible detail.Never compare against an external benchmark this file does not have. Compare against this publication's own trailing average, which is the only honest baseline available.
| Signal | What it points at | First thing to change |
|---|---|---|
| Open rate below the trailing 6-issue average for 2 consecutive issues | The subject lines stopped opening a gap | Rerun step 4, draft 3 subject lines, pick on gap strength not cleverness |
| Opens holding but clicks falling | The issue is readable but the CTA is buried or vague | Move the single CTA up, make the verb specific |
| Unsubscribes rising after a format change | You broke the spine subscribers subscribed to | Revert the spine, change one section at a time |
| Replies near zero on a POV newsletter | No POV, or no explicit invitation to reply | Sharpen the angle first, then add one direct ask |
| Forwards concentrated on one section | That section is the real product | Consider promoting it from segment to main piece |
Record what you find in knowledge/learnings.md so the next issue starts from it.
/email-nurture when the sequence is lifecycle-triggered rather than a recurring publication/content-writer for a one-off email or announcement that is not part of the newsletter/thought-leadership-writer when the main piece is really a standalone 1800-word argument/linkedin-post for the derivative post pulling the strongest insight out of this issue/content-repurposer to turn one issue into a run of assets across channels/social-calendar to plan the issue themes alongside the rest of the calendar/case-study-writer when the customer segment needs a real documented story behind it/kpi-review for the periodic read on open rate, click rate and list growth/brand-context first, whenever knowledge/brand/voice.md does not exist yetThese are real limitations of this skill, and none of them can be resolved from knowledge/.
Ask the user or emit [NEEDS INPUT: <what>].
Any cadence, character count, best-day, format spec or benchmark in this skill is a starting default recorded at authoring time, not a published platform rule. Two obligations:
knowledge/learnings.md or the
team's analytics contradict a default here, follow the data and say so in the output.Never present a default from this file to a client as though the platform published it. That is the claim their in-house specialist corrects in the meeting, and the correction discredits everything else in the document.