pr-pitch-writer
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.
Frameworks
AIDA adapted for media pitching
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."
Ryan Holiday's journalist psychology - "Trust Me I'm Lying"
- Traffic over truth: Journalists need stories that get clicks for their audience. Ask: what would make their readers share this?
- Narrative over facts: Facts support the narrative - the narrative is what gets coverage. Lead with the story angle, support with proof.
- Timeliness over importance: Attach your story to what's already being covered. A story that taps a current conversation gets placed faster than a better story that doesn't.
- Effortlessness: The scarce resource is journalist attention, not pitches. Make it trivially easy to say yes.
- Exclusivity: "I'm offering this story to you first" changes the dynamic. Scarcity creates urgency even for journalists.
Practical implications
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.
When to use
- "Pitch this story to "
- "Write an email to a reporter at "
- "Get me on "
- "Pitch for a briefing"
- "Outreach to newsletter writer X"
Outreach types this skill handles
| 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 |
Inputs needed
- Recipient: name, publication, beat, recent piece they wrote (paste URL or summary)
- Pitch type (from table)
- Story or angle: what's newsworthy or interesting?
- Proof: data, customer, exclusive, expert availability
- Why this person (mandatory): why are they the right journalist/host for this?
- What you're asking for: 15-min interview, embargoed access, comment, podcast booking
Process
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:
- What is happening in the world RIGHT NOW that this story connects to?
- What trend, event, or conversation is this story an instance of?
- If there is no genuine news peg, say so plainly and recommend waiting for one. "Create the
angle" means find the true framing that connects this to a live conversation. It never means
manufacture a trend, a claim, or an urgency that does not exist.
Apply the "lazy journalist" test. Map out the story:
- What is the narrative (not the facts)?
- What proof supports it (data, customer, expert)?
- How much work does the journalist need to do to publish?
- If the answer is more than 2-3 hours of reporting, simplify the angle or provide more of the work upfront.
Identify angle from THEIR perspective. Reframe:
- Why does THEIR audience care? (not "why is this exciting for us")
- What's the tension, controversy, or surprise?
- What data or access can we offer that they can't get elsewhere?
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:
- Specific noun, not generic verb
- Numbers, only ones the user supplied. If a number would strengthen the subject but you
do not have it, write
[NEEDS INPUT: the figure]. Never generate a plausible-looking
statistic. A fabricated stat in a pitch is handed straight to a professional fact-checker.
- No "Quick question", "Following up", "Touching base"
- No clickbait - the email must deliver what the subject promised
- Ask: would this subject line work as a headline for their publication?
Length and pacing:
- 80-180 words total. Journalists scan, not read.
- 5-7 sentences max
- One paragraph is OK if the pitch is tight enough
Voice rules:
- Conversational, not corporate
- Match the journalist's beat. Tech reporter: tighter, faster. Trade pub: more context.
- No jargon unless they use it
- No marketing language ("revolutionary", "best-in-class", "unlock")
- No em dashes
- First person, present tense
Self-check:
AIDA checks:
- ATTENTION: does the subject line work as a headline for their publication?
- INTEREST: does the first sentence prove you know their work and their readers?
- DESIRE: is the news peg clear? Is exclusivity offered if available?
- ACTION: is there exactly one ask, and is it easy to say yes to?
Holiday psychology checks:
- Traffic test: would their readers click and share this story?
- Narrative test: is the story angle leading, not the facts?
- Timeliness test: what is the news peg, and is it current?
- Lazy journalist test: could they publish this with 2 hours of work?
- Effortlessness: have you removed every friction point from saying yes?
Format checks:
- First line proves you know their work
- Hook in the first 30 words
- Specific ask, not vague
- One CTA
- No attachments (mention them, offer to send)
- Subject line under 60 chars
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 (if news pitch) via
/press-release-writer
- Background brief (1-pager) the journalist can use
- 3 follow-up email templates (if no response after 4, 9, 14 days)
- Talking points if a call is booked
Pitch tracker
Maintain 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.
Rules
- One pitch, one recipient. Never BCC. Never "Hi all."
- Specific reference to their work in line 1, or don't send.
- No news peg, no pitch. An undated story is a press release.
- Never overstate. If you say "exclusive," it must actually be exclusive.
- Never attach files in a cold pitch. Offer them.
- If the journalist doesn't reply, follow up at day 4 and day 9. After that, drop it.
- The lazy journalist test is non-negotiable. If the journalist has to construct the story from scratch, the pitch will be ignored.
- Never characterise, quote, or summarise a piece you have not actually read. If it was not
fetched, it does not go in the email.
- Never invent a statistic, a customer name, a quote, or a company milestone. Use
[NEEDS INPUT: ...] and send the pitch to the user to fill before it goes out.
- Never claim an embargo, an exclusive, or "first look" unless it is literally true for this
recipient.
What this skill cannot verify
State these in the output every time:
- Whether the recipient still covers this beat. Beats change and mastheads go stale
- Whether the piece you referenced is their most recent or their most relevant
- Whether a competitor has already pitched this angle to them this week
- Any figure marked
[NEEDS INPUT], which the user must supply and stand behind
Related skills
/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
- Keep the pitch tracker current. Tracking response rate is how this gets better over time.
1---2name: pr-pitch-writer3description: 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", media outreach, podcast pitch, analyst briefing request, or wants to land a story. Reads brand voice and positioning from knowledge/. For the press release itself, see press-release-writer. For the underlying customer story, see case-study-writer.4---56# pr-pitch-writer78Writes 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.910## Frameworks1112### AIDA adapted for media pitching1314**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.1516**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.1718**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.1920**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."2122### Ryan Holiday's journalist psychology - "Trust Me I'm Lying"23241. **Traffic over truth**: Journalists need stories that get clicks for their audience. Ask: what would make their readers share this?252. **Narrative over facts**: Facts support the narrative - the narrative is what gets coverage. Lead with the story angle, support with proof.263. **Timeliness over importance**: Attach your story to what's already being covered. A story that taps a current conversation gets placed faster than a better story that doesn't.274. **Effortlessness**: The scarce resource is journalist attention, not pitches. Make it trivially easy to say yes.285. **Exclusivity**: "I'm offering this story to you first" changes the dynamic. Scarcity creates urgency even for journalists.2930### Practical implications3132**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.3334**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.3536**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.3738## When to use3940- "Pitch this story to <journalist>"41- "Write an email to a reporter at <publication>"42- "Get me on <podcast>"43- "Pitch <analyst> for a briefing"44- "Outreach to newsletter writer X"4546## Outreach types this skill handles4748| Type | Goal | Length | Hook style |49|---|---|---|---|50| **News pitch** (timely story) | Coverage in 1-2 weeks | 80-120 words | News value + exclusive offer |51| **Trend pitch** (you're the expert) | Quoted source for trend piece | 100-150 words | Data + POV |52| **Podcast pitch** | Booking | 100-180 words | Specific to host's recent episode |53| **Newsletter pitch** | Mention or feature | 60-100 words | Match their format |54| **Analyst briefing request** | Briefing slot | 100-150 words | New release + customer proof |55| **Customer story pitch** | Profile of a customer | 150-200 words | Outcome + access to interview |5657## Inputs needed5859- **Recipient**: name, publication, beat, recent piece they wrote (paste URL or summary)60- **Pitch type** (from table)61- **Story or angle**: what's newsworthy or interesting?62- **Proof**: data, customer, exclusive, expert availability63- **Why this person** (mandatory): why are they the right journalist/host for this?64- **What you're asking for**: 15-min interview, embargoed access, comment, podcast booking6566## Process67681. **Load context.** Read `knowledge/brand/voice.md`, `knowledge/markets/positioning.md`, and any case studies that support the pitch.69702. **Research the recipient. Hard gate: never characterise a piece you have not read.**7172 If the user supplied a link, fetch and read it with WebFetch. If you cannot fetch it, or no73 link was supplied, **stop and write `[NEEDS INPUT: link to their recent piece]`.** Do not74 proceed to draft line 1 from what you believe this reporter usually covers.7576 This is the highest-consequence rule in the skill. The failure mode is writing "Your piece on77 X argued Y" to a journalist who wrote nothing of the kind. It is worse than sending nothing:78 it proves the sender automated the email and did not read them, it is the exact thing79 reporters screenshot publicly, and it burns the relationship and the brand in one send.80 A pitch that goes out a day late having actually read the piece beats one that goes out today81 having guessed.8283 Never infer a journalist's position, argument, or beat from their publication, their title, or84 general knowledge. Read the specific piece, or leave the placeholder.85863. **Identify the news peg. Holiday describes newsroom incentives, he does not license us to invent.**8788 "Traffic over truth" and "narrative over facts" are Holiday's account of how media economics89 pull coverage. They are a lens for predicting what gets picked up. They are not instructions90 to bend the facts of our own story. Everything we assert must be true and sourced. If the91 angle only works with a claim we cannot support, the angle is dead, not the sourcing standard.9293 Answer:94 - What is happening in the world RIGHT NOW that this story connects to?95 - What trend, event, or conversation is this story an instance of?96 - If there is no genuine news peg, say so plainly and recommend waiting for one. "Create the97 angle" means find the true framing that connects this to a live conversation. It never means98 manufacture a trend, a claim, or an urgency that does not exist.991004. **Apply the "lazy journalist" test.** Map out the story:101 - What is the narrative (not the facts)?102 - What proof supports it (data, customer, expert)?103 - How much work does the journalist need to do to publish?104 - If the answer is more than 2-3 hours of reporting, simplify the angle or provide more of the work upfront.1051065. **Identify angle from THEIR perspective.** Reframe:107 - Why does THEIR audience care? (not "why is this exciting for us")108 - What's the tension, controversy, or surprise?109 - What data or access can we offer that they can't get elsewhere?1101116. **Write the pitch** applying AIDA line by line:112113 ```114 Subject: <ATTENTION - under 60 chars, specific, not "Quick question" or "Following up">115 <The subject is a headline. It earns the open. It contains a number, a tension, or a specific claim.>116117 Hi <First name>,118119 <INTEREST - Line 1: specific reference to their recent work. Not flattery, but engagement.120 "Your piece on [topic] argued [X] - this is the counter-data.">121122 <DESIRE - Line 2: the hook. The single most interesting fact. Often a number, exclusive, or contrarian claim.123 This is the news peg. It attaches to what they already care about.>124125 <DESIRE - Line 3-4: the offer. What you can give them: data, customer, expert, embargo.126 Make it concrete. Apply exclusivity where true: "I'm offering this to you first before going wider.">127128 <ACTION - Line 5: the ask. Specific. "15-min call this week?" not "Let me know if interested.">129130 <Sign-off>131 <Sender name + role + company>132 <P.S.: optional, 1 line. Often the strongest hook moved here.>133 ```1341357. **Subject line rules**:136 - Specific noun, not generic verb137 - Numbers, **only ones the user supplied**. If a number would strengthen the subject but you138 do not have it, write `[NEEDS INPUT: the figure]`. Never generate a plausible-looking139 statistic. A fabricated stat in a pitch is handed straight to a professional fact-checker.140 - No "Quick question", "Following up", "Touching base"141 - No clickbait - the email must deliver what the subject promised142 - Ask: would this subject line work as a headline for their publication?1431448. **Length and pacing**:145 - 80-180 words total. Journalists scan, not read.146 - 5-7 sentences max147 - One paragraph is OK if the pitch is tight enough1481499. **Voice rules**:150 - Conversational, not corporate151 - Match the journalist's beat. Tech reporter: tighter, faster. Trade pub: more context.152 - No jargon unless they use it153 - No marketing language ("revolutionary", "best-in-class", "unlock")154 - No em dashes155 - First person, present tense15615710. **Self-check**:158159 AIDA checks:160 - ATTENTION: does the subject line work as a headline for their publication?161 - INTEREST: does the first sentence prove you know their work and their readers?162 - DESIRE: is the news peg clear? Is exclusivity offered if available?163 - ACTION: is there exactly one ask, and is it easy to say yes to?164165 Holiday psychology checks:166 - Traffic test: would their readers click and share this story?167 - Narrative test: is the story angle leading, not the facts?168 - Timeliness test: what is the news peg, and is it current?169 - Lazy journalist test: could they publish this with 2 hours of work?170 - Effortlessness: have you removed every friction point from saying yes?171172 Format checks:173 - First line proves you know their work174 - Hook in the first 30 words175 - Specific ask, not vague176 - One CTA177 - No attachments (mention them, offer to send)178 - Subject line under 60 chars17918011. **Save** to `output/pr-pitch/<DD-MM-YYYY>-<recipient-slug>.md` with frontmatter:181 ```yaml182 ---183 format: pr-pitch184 recipient: <name>185 publication: <publication>186 pitch-type: <type>187 news-peg: <one sentence>188 exclusivity: <yes|no>189 ask: <specific ask>190 lazy-journalist-test: <pass|needs work>191 created: DD-MM-YYYY192 sent: <pending|DD-MM-YYYY>193 ---194 ```19519612. **Offer companion assets**:197 - Press release (if news pitch) via `/press-release-writer`198 - Background brief (1-pager) the journalist can use199 - 3 follow-up email templates (if no response after 4, 9, 14 days)200 - Talking points if a call is booked201202## Pitch tracker203204Maintain `output/pr-pitch/_tracker.md` (create if not exists):205206```207# PR pitch tracker208209| Date sent | Recipient | Pub | Pitch | News peg | Status | Follow-up |210|---|---|---|---|---|---|---|211| DD-MM-YYYY | <name> | <pub> | <slug> | <peg> | sent | day +4 |212```213214Update this every time a pitch goes out.215216## Rules217218- One pitch, one recipient. Never BCC. Never "Hi all."219- Specific reference to their work in line 1, or don't send.220- No news peg, no pitch. An undated story is a press release.221- Never overstate. If you say "exclusive," it must actually be exclusive.222- Never attach files in a cold pitch. Offer them.223- If the journalist doesn't reply, follow up at day 4 and day 9. After that, drop it.224- The lazy journalist test is non-negotiable. If the journalist has to construct the story from scratch, the pitch will be ignored.225- **Never characterise, quote, or summarise a piece you have not actually read.** If it was not226 fetched, it does not go in the email.227- **Never invent a statistic, a customer name, a quote, or a company milestone.** Use228 `[NEEDS INPUT: ...]` and send the pitch to the user to fill before it goes out.229- Never claim an embargo, an exclusive, or "first look" unless it is literally true for this230 recipient.231232## What this skill cannot verify233234State these in the output every time:235236- Whether the recipient still covers this beat. Beats change and mastheads go stale237- Whether the piece you referenced is their most recent or their most relevant238- Whether a competitor has already pitched this angle to them this week239- Any figure marked `[NEEDS INPUT]`, which the user must supply and stand behind240241## Related skills242243- `/press-release-writer` for the formal release this pitch may accompany244- `/case-study-writer` for the underlying customer story that gives a pitch its proof245- `/copy-review` to tighten the pitch before it goes out246- `/brand-context` creates the positioning and voice files this reads247- Keep the pitch tracker current. Tracking response rate is how this gets better over time.