
Press Release Writer
- 1 installs
- 9 repo stars
- Updated June 11, 2026
- timescale/marketing-skills
Drafts near-publishable Tiger Data press releases using AP style, inverted-pyramid structure, and brand-consistent positioning for media distribution.
About
Writes near-publishable press releases for Tiger Data in AP style with inverted-pyramid structure and brand-consistent positioning, aimed at product launches, partnerships, funding, and milestones. A marketer uses it to produce media-distribution press releases that an external PR firm refines rather than rewrites.
- Uses press-release-writing-rules, product-marketing-context, and brand-voice-guide
- Scoped to media press releases, not launch emails or blog posts
Press Release Writer by the numbers
- 1 all-time installs (skills.sh)
- Ranked #1,710 of 1,879 Marketing & SEO skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/timescale/marketing-skills --skill press-release-writerAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 1 |
|---|---|
| repo stars | ★ 9 |
| Last updated | June 11, 2026 |
| Repository | timescale/marketing-skills ↗ |
What it does
Drafts near-publishable Tiger Data press releases using AP style, inverted-pyramid structure, and brand-consistent positioning for media distribution.
Files
Press Release Writer
Draft near-publishable press releases for Tiger Data. Output quality should be high enough that the external PR firm refines rather than rewrites.
When to use this skill
- When the user asks to write a press release, media release, or PR draft
- When the user says "draft a PR" in the communications (not pull request) sense
- When preparing announcements for media distribution: product launches, partnerships, funding, awards, corporate milestones
When NOT to use this skill
- Product launch emails →
email-nurture-planner - Blog announcement posts →
brand-voice-writer - Social announcement copy →
social-post-writer - Landing pages →
brand-voice-writer - Any non-media-relations content
Step 0: Pre-flight check
Read REFERENCES.md from the plugin root and run the pre-flight check described there. Call list_marketing_references() to verify Tiger Den is reachable. If it fails or the tool is not found, STOP — do not continue. Follow the error handling in REFERENCES.md.
Once Tiger Den is confirmed, fetch the no-fly list:
get_marketing_reference(slug: "no-fly-list")Load these names as a hard constraint: never include any No Fly List customer in any output — not as named examples, proof points, customer quotes, case study references, or any other mention. If the user requests a press release featuring or referencing a No Fly List customer, stop and inform them that this customer cannot be publicly referenced. If a No Fly List name appears in source material, omit it from all outputs.
Then fetch all three reference docs:
get_marketing_context(slugs: ["press-release-writing-rules", "product-marketing-context", "brand-voice-guide"])Internalize all three before proceeding:
- press-release-writing-rules governs structure, style, tone, and grading criteria
- product-marketing-context governs positioning, terminology, audience, and boilerplate
- brand-voice-guide governs brand terminology, absolute rules (no em dashes), and WABL
Step 1: Intake — understand the announcement
Collect context through a short conversational Q&A. Ask one question at a time — do not present a form.
Required (always ask)
1. "What are we announcing?" — open-ended, get the substance of the news.
2. "Who is this for?" — target audience. Which journalists (what beat)? Who are the end readers (developers, executives, partners)?
3. Propose the "one thing" — after hearing the answers to 1 and 2, propose a single sentence that captures what this press release is about. Ask the user to confirm or refine. This is the One Thing Test from the writing rules: every paragraph, quote, and detail must serve this one idea.
Conditional (ask only when relevant)
Ask these one at a time, only when the user's answers so far leave a gap:
- "Why now?" — if the user hasn't mentioned a market catalyst, timing event, or trigger. Every press release needs a "why now." If the user doesn't provide one, note that it will need to be addressed in the draft.
- Partner details — if the announcement involves another company: who are they, what's their role, whose name should lead the headline, do they have approved quotes or boilerplate available?
- Stakeholder quotes — who should be quoted, and what job should each quote do? If the user doesn't know specific people, suggest quote slots based on announcement type:
- Product launch: CEO (strategic significance), VP Product or CTO (technical detail)
- Partnership: CEO or VP Partnerships (strategic value), partner exec (joint validation)
- Funding: CEO (vision), lead investor (market thesis)
- Award/recognition: CEO or relevant VP (what it means for customers)
The user can name specific people or leave slots as roles to be assigned later.
- Campaign context — is this part of a multi-PR campaign? If so, what's the sequence, what do other PRs cover, and what should this PR deliberately NOT reveal?
- Emotional intent — what should the reader feel after reading this? If the user doesn't have a strong opinion, propose one based on announcement type:
- Product launch → confidence
- Partnership → curiosity about what's next
- Funding → validation
- Award → credibility
Step 2: Draft the press release
Search Tiger Den for supporting content before writing (and again during revisions if new topics surface):
search_content(query: "<topic of announcement>")Filter all search results against the no-fly list. Any matching customer name is omitted entirely — do not include in the draft or mention as a suggested proof point.
Structure (inverted pyramid)
Draft the press release in this order:
1. Headline Tells the story, not the corporate action. A journalist should glance at it and immediately know whether to keep reading. Lead with what matters to the world, not what matters to the company.
2. Dateline AP style: CITY, State, Month Day, Year — Tiger Data, the creators of TimescaleDB,...
3. Lead paragraph Who, what, and why it matters — in the first two to three sentences. If someone reads nothing else, they walk away informed.
4. Context paragraph Industry context and "why now." Ground the announcement in a market reality that gives it timing and urgency.
5. Quotes Place after the reader has enough context. Each quote does a different job. Apply the correct path based on intake:
- Named person, context provided: Draft a real quote. Label it:
[DRAFT — requires approval from <name>]
- Unnamed slot (role only): Draft a real quote for that role. Label it:
[DRAFT — <role> quote, assign to specific person and get approval]
- Partner quote, no context on their perspective: Do not draft. Leave:
[QUOTE NEEDED — <partner name>, <suggested angle>]
Quote quality rules (from the writing rules doc):
- No "We're thrilled," "We're excited," or "We're proud"
- Each quote has a point of view — an argument, insight, or claim
- Quotes do not restate facts from the paragraph above
- Read every quote aloud — if it sounds wrong spoken, rewrite it
6. Supporting details Descend in order of importance. An editor should be able to cut from the bottom at any paragraph break without losing the story.
7. About [Company] Use the boilerplate from product-marketing-context (source of truth). If the press-release-writing-rules doc has a more recent version, note the discrepancy to the user but default to product-marketing-context.
For joint PRs: the user must provide partner-approved boilerplate. If not available: [PARTNER BOILERPLATE NEEDED — request approved language from <partner name>]
8. Media contact
Media Contact:
[NAME]
[TITLE]
Tiger Data
[EMAIL]Style enforcement
Apply throughout the draft:
- AP style (no Oxford commas, titles lowercase after names, numbers one through nine spelled out, 10+ as numerals, proper dateline format)
- No em dashes in body text — use commas, periods, colons, or restructure. Exception: the dateline em dash is structural AP convention and exempt.
- Active voice, short sentences
- No superlatives ("revolutionary," "game-changing," "thrilled," "excited")
- No emojis, no exclamation points, no bold text in the body
- Features expressed as meaning, not lists
- Competitors never named unless the user explicitly directs it
- One page ideal, two pages maximum
Step 3: Copy edit pass
After completing the first draft, review every sentence for:
- Soft language: "gives them a way to," "has become an imperative," "aims to," "helps to"
- Overloaded sentences: sentences doing two or three jobs — split them
- Modifier stacking: multiple adjectives/adverbs piled on a noun
- Audience-wrong jargon: words a product marketer would use but the target reader wouldn't
- Feature lists as narrative: bullet-point thinking hiding inside paragraphs — rewrite as meaning
- AI writing patterns:
- Negative seesaws ("It's not X. It's Y." / "Not just X, but Y.")
- Forced triples (compulsive grouping in threes)
- Copula dodging ("serves as," "stands as," "functions as" when the sentence means "is")
- Vocabulary cluster ("delve," "landscape," "crucial," "showcase," "underscore," "tapestry," "foster," "bolster")
- Hallmark-card endings ("The future looks bright." "This is just the beginning.")
Fix all issues inline. Do not flag them — rewrite the sentences.
Step 4: Self-grade (internal)
Grade the draft against each structural element:
| Element | Test |
|---|---|
| Headline | Does it tell the story? Would a journalist lean in? |
| Lead | Who, what, why it matters — all in the first 2-3 sentences? |
| Newsworthiness | Framed for the audience, not the company? |
| "Why now" | Is there a clear market catalyst or timing trigger? |
| Quotes | Point of view? Different jobs? Sound natural spoken aloud? |
| Inverted pyramid | Can you cut from the bottom at any paragraph break? |
| Brevity | One page? Two max? |
| Tone | Confident but understated? No breathless superlatives? |
If any element grades weak, revise that section. Repeat until all elements pass.
This grading is internal. The user sees the polished draft, not the scorecard. After presenting the draft, include this line:
"I scored this draft against the PR writing rubric — want to see the scorecard?"
If the user asks to see it, show the table above with pass/fail and a one-line note per element.
Step 5: Present and iterate
Present the draft as clean markdown. No preamble ("Here's what I wrote..."), no summary of what you did. Just the press release, then the scorecard offer line.
The user may:
- Request revisions — make them, then re-run the copy edit pass (Step 3) and self-grade (Step 4)
- Ask to see the scorecard — show the grading table
- Adjust for multi-PR context — if they say "this is PR 2 of 3," incorporate the campaign framing and re-draft as needed
- Say it's done — end the workflow
Output is markdown only. If the user asks for .docx, explain that .docx generation is not supported in v1 and suggest copying the markdown into Google Docs, which preserves formatting.