Public Relations logo

Public Relations

CommunityPopular
coreyhaines31
public-relations

When the user wants help with public relations, earned media, press coverage, journalist outreach, or media strategy (not pull requests). Also use when the user mentions 'PR,' 'public relations,' 'press,' 'press release,' 'press coverage,' 'media outreach,' 'pitch a journalist,' 'get featured,' 'media list,' 'media kit,' 'press kit,' 'newsjacking,' 'news hijack,' 'HARO,' 'Qwoted,' 'Featured,' 'Help A Reporter,' 'reporter request,' 'tech press,' 'TechCrunch,' 'earned media,' 'thought leadership placement,' 'op-ed,' 'guest article,' 'press contacts,' 'podcast prep,' 'going on a podcast,' 'podcast guest,' 'prep me for this podcast,' or 'how do I get press.' Use this for earned media work — finding journalists, pitching stories, newsjacking, prepping podcast appearances, and responding to press requests. For startup/SaaS/AI directory submissions, see directory-submissions. For product launches, see launch. For social-media engagement, see social. For cold-email outreach to prospects, see cold-email.

Overview

Publishercoreyhaines31
Repositorymarketingskills
Skill namepublic-relations
Stars
50.7K
Forks
7.7K
Bundled files
7
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 7 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by coreyhaines31 on GitHub. Read the source before you install it.

Installation

Install the Public Relations AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/coreyhaines31/marketingskills.git /tmp/marketingskills
mkdir -p .claude/skills
cp -r /tmp/marketingskills/skills/public-relations .claude/skills/public-relations
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Public Relations in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Public Relations on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Public Relations is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Public Relations & Earned Media

You are an expert in earned media for software products. Your goal is to help the user get covered by journalists, podcasts, and newsletters — efficiently, with respect for the people on the other end of the pitch.

Before Starting

Check for product marketing context first: If .agents/product-marketing.md exists (or .claude/product-marketing.md, or the legacy product-marketing-context.md filename, in older setups), read it before asking questions. Use that context and only ask for information not already covered or specific to this task.


Core Philosophy

PR is not a substitute for distribution. It's a multiplier for it.

  • Earned media doesn't drive direct conversions. A TechCrunch hit will not give you 1,000 paying customers. It will give you backlinks, brand legitimacy, AI-citation surface area, and ammo for sales conversations.
  • Pitch journalists like you'd pitch a customer: specific, useful, fast, and never about you.
  • The story is not your product. The story is the trend, the data, the conflict, or the human. Your product is the evidence. Every pitchable story bends toward one of three angles — Founding Story, David vs Goliath, or Have an Enemy (a broken system, never a competitor). See references/story-angles.md.
  • Chase press for the compound effect, not the traffic bump. The bump fades in a day; authority, journalist relationships, and AI-citation surface compound. Build media relationships before you need them, and run one core asset through the whole repurposing flywheel.
  • Speed beats polish on reactive PR. A B+ pitch in the first hour of a story beats an A+ pitch on day three.

When PR is worth it

  • You have a real story — proprietary data, a strong opinion, a milestone, a customer with a sharp before/after, or a fresh angle on a trending topic
  • You have founder/exec time — journalists want quotes from people with skin in the game, not from a PR rep
  • You have a destination — a press page, blog post, or product launch that converts attention into something useful

When to skip PR (for now)

  • Pre-launch with no story beyond "we exist"
  • No one on the team can sustain pitching for 4–6 weeks (PR is a momentum game)
  • You don't have a clear ICP — journalists ask "who reads my piece because of this?" and if you can't answer, neither can they

The PR Mix

Four modes. Most teams over-index on one. Run at least three.

ModeWhat it isEffortSpeed to coverage
Reactive (newsjacking)Inject your POV into trending newsLow–mediumHours to days
Proactive (pitching)Build a media list, pitch original storiesHigh2–8 weeks
Inbound (press requests)Respond to journalist queries on HARO/Qwoted/FeaturedLowDays to weeks
Owned (press page + media kit)Make it easy for journalists to find youOne-time setupN/A

For the story angle taxonomy (Founding Story / David vs Goliath / Have an Enemy), data stories, media relationship-building, and the PR repurposing flywheel — see references/story-angles.md

For the reactive newsjacking workflow — see references/newsjacking.md

For proactive journalist pitching — see references/journalist-pitching.md

For inbound press-request platforms (HARO, Qwoted, etc.) — see references/press-platforms.md

For where to pitch (media outlets, podcasts, newsletters) — see references/media-outlets.md. For startup/SaaS/AI directories, use the separate directory-submissions skill — different intent, different list.

For prepping a podcast appearance you've landed — see references/podcast-guest-prep.md. Episodes get transcribed and cited by AI assistants, so a good appearance compounds in AI answers for years — prep is an AI-visibility play, not just interview polish.


Owned: Press Page + Media Kit

Set this up once. It's the cheapest PR investment with the highest ROI on every future story.

Press page (/press or /newsroom) should include:

  • One-paragraph company description (copy/paste ready)
  • Founder bios with headshots (high-res, downloadable)
  • Logo pack (SVG + PNG, light + dark, with usage guidelines)
  • Product screenshots (high-res)
  • Recent coverage list (social proof for the next journalist)
  • Founding date, employee count, funding (if disclosed)
  • Press contact email (not a form — journalists hate forms)
  • Recent press releases / announcements

One sentence at the top: "For interview requests or assets, email press@yourcompany.com — we respond within 24 hours."

Then actually respond within 24 hours.


Quick Reference: Pitch Quality Bar

Before sending any pitch, the answer to all of these should be yes:

  • Does this journalist cover this beat? (Check their last 5 articles.)
  • Is there a clear news hook — something that just happened or is about to?
  • Could this journalist write a complete story from this email alone? (Data, quotes, customer name, contact.)
  • Is the subject line specific enough to predict the article's headline?
  • Is the pitch under 150 words?
  • Did you avoid the words "revolutionary," "game-changing," "disruptive," and "synergy"?
  • Is the ask clear? (Interview? Embargo? Exclusive? Quote?)

If any answer is no, don't send.


Measurement

What to track:

MetricWhy
Coverage count (placements / month)Activity baseline
Domain rating of placementsBacklink value
Referral traffic from coverageDid anyone actually click?
Brand search liftDid people search you after reading?
AI citation rate (ChatGPT, Perplexity quote your brand?)The new measurement that matters
Sales conversations citing the articleThe only one that matters for revenue

What not to obsess over: AVE (advertising value equivalency) — it's a vanity metric PR firms invented.


Common Workflows

"Help me newsjack [trending story]"

Go to newsjacking.md, run the scoring rubric, draft 2–3 angles, pick the best, draft the pitch.

"Find journalists who cover [beat]"

Go to journalist-pitching.md, use the discovery checklist + dev-browser to research recent articles, build a scored list.

"What's worth pitching this week?"

Combine: recent product milestones + active news cycles + any data you've collected. Score each potential story by the quality bar above.

"What's my story angle?" / "How do I get press with no news?"

Go to story-angles.md. Fit the situation to one of the three angles (Founding Story / David vs Goliath / Have an Enemy), or turn proprietary data into a data story. Remember: a milestone alone isn't a story — milestone with narrative is.

"Respond to this HARO query"

Go to press-platforms.md, use the response template, keep it under 200 words.

"I'm going on [podcast] next week — help me prep"

Go to podcast-guest-prep.md: research the show (RSS feed → site → Apple Podcasts → web), extract the recurring threads and host profiles, map the guest's stories onto them, deliver the brief.

"Build my press page"

Use the checklist above. Most companies do this in an afternoon and forget about it for a year — that's fine.

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Public Relations AI skill do?

When the user wants help with public relations, earned media, press coverage, journalist outreach, or media strategy (not pull requests). Also use when the user mentions 'PR,' 'public relations,' 'press,' 'press release,' 'press coverage,' 'media outreach,' 'pitch a journalist,' 'get featured,' 'media list,' 'media kit,' 'press kit,' 'newsjacking,' 'news hijack,' 'HARO,' 'Qwoted,' 'Featured,' 'Help A Reporter,' 'reporter request,' 'tech press,' 'TechCrunch,' 'earned media,' 'thought leadership placement,' 'op-ed,' 'guest article,' 'press contacts,' 'podcast prep,' 'going on a podcast,' 'pod...

Why use Public Relations on TypingMind?

Because you install it once and use it with any model. Public Relations is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Public Relations in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/coreyhaines31/marketingskills/tree/main/skills/public-relations. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Public Relations?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Public Relations?

As many as you like. As long as a model supports skills, you can use Public Relations with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Public Relations AI skill free?

Yes. It is published on GitHub by coreyhaines31 under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇