算法艺术创作
algorithmic-art
通过代码和可调参数创作生成艺术与交互式视觉效果。
pr-pitch-writer【设计与创意】Write personalized pitch emails to journalists, podcasters, newsletter writers, and analysts using AIDA adapted for media pitching and Ryan Holiday's journalist psychology from "Trust Me I'm Lying." Different from press releases (use /press-release-writer for those). Use when the user asks to pitch a journalist, pitch a reporter, "get coverage in X",…
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Writes pitch emails that journalists actually read. Different from press releases: pitches are personal, short, and earn the click. Built on AIDA adapted for media pitching and Ryan Holiday's journalist psychology.
ATTENTION (subject line): Journalists get 500+ pitches per week. The subject line is a headline, not a description. It must earn the open in a crowded inbox.
INTEREST (first sentence): Why does this story matter to THIS journalist's readers? Not to you - to them. The first sentence is about the audience, not the sender.
DESIRE (the angle / news peg): What makes this story surprising, timely, or uniquely valuable? The "news peg" - what it attaches to in the current conversation.
ACTION (the ask): What you want them to do. Specific and easy. "Reply to this email if you'd like the data" beats "let me know if you're interested."
The "lazy journalist" test: Could the journalist copy the pitch, add 2 hours of reporting, and have a publishable story? If yes, the pitch is doing its job. If they'd need to reconstruct the whole angle, make it easier.
News peg identification: What is happening RIGHT NOW that this story attaches to? A trend piece, a regulatory change, a competitor announcement, a viral conversation? A story without a peg is a press release dressed up as a pitch.
Exclusivity language: "First look," "embargo until [date]," "I'm only sending this to [N] reporters" are legitimate tools when true. Use them when you can. Never fake it.
| Type | Goal | Length | Hook style |
|---|---|---|---|
| News pitch (timely story) | Coverage in 1-2 weeks | 80-120 words | News value + exclusive offer |
| Trend pitch (you're the expert) | Quoted source for trend piece | 100-150 words | Data + POV |
| Podcast pitch | Booking | 100-180 words | Specific to host's recent episode |
| Newsletter pitch | Mention or feature | 60-100 words | Match their format |
| Analyst briefing request | Briefing slot | 100-150 words | New release + customer proof |
| Customer story pitch | Profile of a customer | 150-200 words | Outcome + access to interview |
Load context. Read knowledge/brand/voice.md, knowledge/markets/positioning.md, and any case studies that support the pitch.
Research the recipient. Hard gate: never characterise a piece you have not read.
If the user supplied a link, fetch and read it with WebFetch. If you cannot fetch it, or no
link was supplied, stop and write [NEEDS INPUT: link to their recent piece]. Do not
proceed to draft line 1 from what you believe this reporter usually covers.
This is the highest-consequence rule in the skill. The failure mode is writing "Your piece on X argued Y" to a journalist who wrote nothing of the kind. It is worse than sending nothing: it proves the sender automated the email and did not read them, it is the exact thing reporters screenshot publicly, and it burns the relationship and the brand in one send. A pitch that goes out a day late having actually read the piece beats one that goes out today having guessed.
Never infer a journalist's position, argument, or beat from their publication, their title, or general knowledge. Read the specific piece, or leave the placeholder.
Identify the news peg. Holiday describes newsroom incentives, he does not license us to invent.
"Traffic over truth" and "narrative over facts" are Holiday's account of how media economics pull coverage. They are a lens for predicting what gets picked up. They are not instructions to bend the facts of our own story. Everything we assert must be true and sourced. If the angle only works with a claim we cannot support, the angle is dead, not the sourcing standard.
Answer:
Apply the "lazy journalist" test. Map out the story:
Identify angle from THEIR perspective. Reframe:
Write the pitch applying AIDA line by line:
Subject: <ATTENTION - under 60 chars, specific, not "Quick question" or "Following up">
<The subject is a headline. It earns the open. It contains a number, a tension, or a specific claim.>
Hi <First name>,
<INTEREST - Line 1: specific reference to their recent work. Not flattery, but engagement.
"Your piece on [topic] argued [X] - this is the counter-data.">
<DESIRE - Line 2: the hook. The single most interesting fact. Often a number, exclusive, or contrarian claim.
This is the news peg. It attaches to what they already care about.>
<DESIRE - Line 3-4: the offer. What you can give them: data, customer, expert, embargo.
Make it concrete. Apply exclusivity where true: "I'm offering this to you first before going wider.">
<ACTION - Line 5: the ask. Specific. "15-min call this week?" not "Let me know if interested.">
<Sign-off>
<Sender name + role + company>
<P.S.: optional, 1 line. Often the strongest hook moved here.>
Subject line rules:
[NEEDS INPUT: the figure]. Never generate a plausible-looking
statistic. A fabricated stat in a pitch is handed straight to a professional fact-checker.Length and pacing:
Voice rules:
Self-check:
AIDA checks:
Holiday psychology checks:
Format checks:
Save to output/pr-pitch/<DD-MM-YYYY>-<recipient-slug>.md with frontmatter:
---
format: pr-pitch
recipient: <name>
publication: <publication>
pitch-type: <type>
news-peg: <one sentence>
exclusivity: <yes|no>
ask: <specific ask>
lazy-journalist-test: <pass|needs work>
created: DD-MM-YYYY
sent: <pending|DD-MM-YYYY>
---
Offer companion assets:
/press-release-writerMaintain output/pr-pitch/_tracker.md (create if not exists):
# PR pitch tracker
| Date sent | Recipient | Pub | Pitch | News peg | Status | Follow-up |
|---|---|---|---|---|---|---|
| DD-MM-YYYY | <name> | <pub> | <slug> | <peg> | sent | day +4 |
Update this every time a pitch goes out.
[NEEDS INPUT: ...] and send the pitch to the user to fill before it goes out.State these in the output every time:
[NEEDS INPUT], which the user must supply and stand behind/press-release-writer for the formal release this pitch may accompany/case-study-writer for the underlying customer story that gives a pitch its proof/copy-review to tighten the pitch before it goes out/brand-context creates the positioning and voice files this reads