<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Elvis</title>
    <description>The latest articles on DEV Community by Elvis (@elvissun).</description>
    <link>https://dev.to/elvissun</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4018073%2Fabdeb79a-b99b-4371-b752-bb0a5522f1a5.jpg</url>
      <title>DEV Community: Elvis</title>
      <link>https://dev.to/elvissun</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/elvissun"/>
    <language>en</language>
    <item>
      <title>Turn Claude Into a PR Associate That Never Sleeps: Installing Newsjack's 18 Open-Source Skills</title>
      <dc:creator>Elvis</dc:creator>
      <pubDate>Fri, 10 Jul 2026 13:41:29 +0000</pubDate>
      <link>https://dev.to/elvissun/turn-claude-into-a-pr-associate-that-never-sleeps-installing-newsjacks-18-open-source-skills-281i</link>
      <guid>https://dev.to/elvissun/turn-claude-into-a-pr-associate-that-never-sleeps-installing-newsjacks-18-open-source-skills-281i</guid>
      <description>&lt;p&gt;Newsjack is 18 open-source PR skills you install into Claude once. By the end of this post you'll have them running in chat, a journalist list with verified email addresses, and a Claude Code agent that checks the news overnight and leaves a pitch-ready brief every morning at 8 a.m. Everything is public at &lt;a href="https://newsjack.sh" rel="noopener noreferrer"&gt;newsjack.sh&lt;/a&gt; — skills, source code, updates.&lt;/p&gt;

&lt;p&gt;This is the written version of my 27-minute install video; the &lt;a href="https://medialyst.ai/blog/newsjack-install-walkthrough" rel="noopener noreferrer"&gt;canonical walkthrough&lt;/a&gt; has the embed and chapter timestamps if you'd rather watch.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 1 — Install the skills
&lt;/h2&gt;

&lt;p&gt;Two options.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Option A: paste one prompt.&lt;/strong&gt; Scroll down on &lt;a href="https://newsjack.sh" rel="noopener noreferrer"&gt;newsjack.sh&lt;/a&gt; to the install instructions, copy the install prompt, paste it into any AI chat, and send. The agent walks itself through setup.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Option B: Claude's Customize tab.&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;In Claude, open &lt;strong&gt;Customize&lt;/strong&gt; in the left sidebar (this is where any Anthropic plugin installs).&lt;/li&gt;
&lt;li&gt;Plus sign → &lt;strong&gt;Create plugin&lt;/strong&gt; → &lt;strong&gt;Add a marketplace&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Choose &lt;strong&gt;Add from a repository&lt;/strong&gt; — it asks for a GitHub repository or git URL.&lt;/li&gt;
&lt;li&gt;Copy the project URL from newsjack.sh, paste it in, hit &lt;strong&gt;Sync&lt;/strong&gt;. Claude finds the project.&lt;/li&gt;
&lt;li&gt;Click the plus sign on the found project. You get a detail view of exactly what came in.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Verify the install by typing a forward slash in any new chat:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The slash menu lists every skill available to you, including everything Newsjack just brought in.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2 — Run the chat skills
&lt;/h2&gt;

&lt;p&gt;A good starting sequence is strategy → angles → headlines.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;/pr-strategist&lt;/strong&gt; takes a URL or a plain paragraph:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/pr-strategist
I'm an AI engineer. How can I do PR for myself?
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It researches and comes back with your advantages and suggested positionings. While a skill loads, click it to read exactly what it's asking the model to do — every skill is a file in the open-source repo, and installing the plugin gives you an exact copy of what's online. No black boxes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;/angle-generator&lt;/strong&gt; takes a news story, searches the web, and brainstorms ways in.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;/headline-generator&lt;/strong&gt; is worth running before you write anything — generate headlines first, then work backwards toward the story. One-line prompts get passable output; give it context and the headlines get meaningfully better.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 3 — The part where LLMs hit a wall
&lt;/h2&gt;

&lt;p&gt;Run &lt;code&gt;/find-journalists&lt;/code&gt; and you reach the step where Claude or ChatGPT normally breaks: models have no verified journalist contact data, and they can't look up someone's past articles or understand their beat. So they do what models do with missing data — hallucinate email addresses, or confidently return a journalist who isn't current.&lt;/p&gt;

&lt;p&gt;The fix is a data source, not a better prompt. The connector is bundled in the plugin: back in &lt;strong&gt;Customize&lt;/strong&gt;, under Newsjack, click &lt;strong&gt;Connect&lt;/strong&gt;. It links a &lt;a href="https://medialyst.ai" rel="noopener noreferrer"&gt;Medialyst&lt;/a&gt; project — full disclosure, that's my product; it's what gives the agent journalist enrichment, contact info, and news search.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Gotcha from the video:&lt;/strong&gt; after connecting, refresh the page and start a new chat. Paste in your previous chat history and &lt;code&gt;/find-journalists&lt;/code&gt; picks up exactly where you left off.&lt;/p&gt;

&lt;p&gt;The result is a table of journalists. Scroll right for the column that matters: actual, verified email addresses. Then iterate conversationally:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;find me 10 more journalists who cover model releases like GPT or Opus
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Step 4 — 24/7 monitoring needs a runtime
&lt;/h2&gt;

&lt;p&gt;Website chat can't run long enough to watch the news while you sleep. Your runtime options:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Runtime&lt;/th&gt;
&lt;th&gt;Notes&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Claude Code&lt;/td&gt;
&lt;td&gt;included in the $20 plan most people already pay for&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Codex&lt;/td&gt;
&lt;td&gt;OpenAI's equivalent&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Hermes Agent&lt;/td&gt;
&lt;td&gt;open source, free to install&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;OpenCloud&lt;/td&gt;
&lt;td&gt;open source, runs on your machine&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;This walkthrough uses Claude Code since most people already have it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 5 — Set up the daily monitor
&lt;/h2&gt;

&lt;p&gt;Download the Claude desktop app. Top left has two modes: &lt;strong&gt;chat&lt;/strong&gt; (what we've been doing, in a different window) and &lt;strong&gt;code&lt;/strong&gt; — the flagship mode, running on your local machine and considerably more powerful. Installing Newsjack here is one sentence:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;install this for me
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then ask for the monitor:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;set up daily monitoring for me
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Add context: who you are, what stories you're looking for, when to run (mine: 8:00 a.m. daily). You don't have to front-load everything — it asks when it needs something.&lt;/p&gt;

&lt;p&gt;Two settings that matter before you kick it off:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Model: Opus.&lt;/strong&gt; For knowledge-intensive work like PR, the quality gap between Opus and a lesser model is large.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Thinking effort: high&lt;/strong&gt; at minimum — higher if your usage limits have room.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It does the setup, then runs a live test against the day's news. Mine ran almost nine minutes — and that's the point. Claude Code is built for long runs (I've had it going for hours, even days), which is also what unlocks fan-out workflows like brainstorming ten ideas and sending them to separate agents to evaluate from different angles. Chat can't do that.&lt;/p&gt;

&lt;p&gt;When the test finishes, it asks where the monitor should live — a Claude Code routine is what I'd suggest.&lt;/p&gt;

&lt;h2&gt;
  
  
  What you get back
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;show me the report
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Three tiers, waiting every morning at 8:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Pitch-ready stories&lt;/strong&gt; matched to the persona you gave it, angles already attached (generated by the same angle skill from Step 2)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Big stories worth looking into&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Related stories to watch&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It scales per client — one monitor each — and it'll format a brief into a PDF if you ask. Every skill works identically in both places: type &lt;code&gt;/&lt;/code&gt; in Claude Code and call the same angle generator, headline generator, or find-journalists you used in chat.&lt;/p&gt;

&lt;h2&gt;
  
  
  Rough edges, honestly
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;The connector needs that refresh-and-new-chat dance after linking. It's in the video so you don't hit it blind.&lt;/li&gt;
&lt;li&gt;Mapping which skill runs where (chat vs. the four runtimes) turned out far more complicated than I expected — hence the table above.&lt;/li&gt;
&lt;li&gt;The newsworthiness-check skill sounds boring but is foundational: a common failure mode is that AI thinks everything is news, and pitching a non-story ends badly. Start there before you automate anything outbound.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Full walkthrough with the video and all 14 chapter timestamps: &lt;a href="https://medialyst.ai/blog/newsjack-install-walkthrough" rel="noopener noreferrer"&gt;medialyst.ai/blog/newsjack-install-walkthrough&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>opensource</category>
      <category>tutorial</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Turn Claude into a media desk: 11 MCP connectors that run a full PR workflow</title>
      <dc:creator>Elvis</dc:creator>
      <pubDate>Fri, 10 Jul 2026 13:36:37 +0000</pubDate>
      <link>https://dev.to/elvissun/turn-claude-into-a-media-desk-11-mcp-connectors-that-run-a-full-pr-workflow-5fi8</link>
      <guid>https://dev.to/elvissun/turn-claude-into-a-media-desk-11-mcp-connectors-that-run-a-full-pr-workflow-5fi8</guid>
      <description>&lt;p&gt;Wire eleven MCP connectors into Claude and you can research a story angle, find the journalists covering your beat, send and follow up on pitches, and measure what the coverage did - all in one window. Every connector on this list is free; you're connecting tools you already pay for. Here's the stack, in the order a real pitch actually flows.&lt;/p&gt;

&lt;h2&gt;
  
  
  The 30-second setup
&lt;/h2&gt;

&lt;p&gt;MCP (Model Context Protocol) is the open standard Claude uses to talk to outside tools. Claude's connector directory passed 50+ integrations as of early 2026, and everything below is in it - no code required. You connect the tool once, and Claude can query it live from then on. Pasted context is frozen the moment you paste it; connected context reflects what's true right now.&lt;/p&gt;

&lt;p&gt;The workflow order: research, find, context, send, amplify, track, measure.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Perplexity - research the angle
&lt;/h2&gt;

&lt;p&gt;Before you write a word, you need the current state of the story: what's been said, what's saturated, where the gap is. Most weak pitches die here, not at the writing.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Before I pitch this, run a check: what's the fresh hook on [story],
who has already covered it, and where's the gap nobody has taken yet?
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  2. Medialyst - find the journalists
&lt;/h2&gt;

&lt;p&gt;Claude writes a great pitch but has no idea who to send it to. &lt;a href="https://medialyst.ai" rel="noopener noreferrer"&gt;Medialyst&lt;/a&gt; closes that gap: a live journalist database Claude queries directly over MCP, so it targets reporters covering your beat this month instead of a media list built in 2019. It's the only connector on this list purpose-built for PR - the rest are general tools doing PR work.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Find reporters who have covered [beat] in the last month and would be
a fit for this story. Rank them by relevance and tell me why each one.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  3. Granola - pull real quotes from calls
&lt;/h2&gt;

&lt;p&gt;Granola shipped an official MCP connector, so your meeting notes are searchable from inside Claude. The quote in your pitch is the quote from the call - no scrubbing recordings, no "I think they said something like."&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;What did the client actually say about the raise on our last call?
Give me the exact quote from the transcript.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  4. Google Drive - press kit as standing context
&lt;/h2&gt;

&lt;p&gt;Connect Drive and your boilerplate, executive bios, and past coverage become the starting point for every draft. Output sounds like your brand instead of generic AI register someone has to rewrite.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Draft the announcement using our boilerplate and the CEO bio from the
press kit folder. Match the tone of our last two releases.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  5. Gmail - the follow-up sweep
&lt;/h2&gt;

&lt;p&gt;The classic two-hour job: open the sent folder, cross-reference who replied, draft individual nudges. It's one prompt now. Claude does the cross-referencing and drafting; you review and send.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Find every reporter I emailed about the launch who didn't reply,
and draft a personalized follow-up for each.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  6. X API - newsjack before the cycle moves
&lt;/h2&gt;

&lt;p&gt;The journalists you're pitching are on X, Bluesky, and LinkedIn. The bottleneck in newsjacking was never the writing - it was noticing in time and knowing who to call. This closes both.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;What's trending in [industry] right now, who's writing about it
at this moment, and what's our angle into it?
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  7. Canva - story to visual, no designer round-trip
&lt;/h2&gt;

&lt;p&gt;Claude writes the copy, Canva builds the asset, you approve. The brief-wait-revise-wait loop disappears for routine assets: announcement graphic, quote card, one-pager. Your designer's time goes to work that needs a designer.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Turn the three key stats from this announcement into a quote card
and a launch graphic.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  8. Notion - media list and coverage tracker
&lt;/h2&gt;

&lt;p&gt;One workspace Claude can both read and update: contacts, embargo dates, coverage wins. Claude checks the embargo before drafting and logs the placement when it lands. The tracker becomes the thing that's just always right, instead of the thing you update at month-end.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Check the embargo date for [announcement] before drafting anything,
and log today's placement in the coverage tracker.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  9. Slack - retrieve institutional knowledge
&lt;/h2&gt;

&lt;p&gt;That reporter's contact someone dropped in the PR channel six months ago? Found in seconds. "Ask whoever's been here longest" becomes something the agent retrieves.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Search our Slack for the contact info someone shared for the
[outlet] reporter - it was in #pr sometime in the last year.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  10. Google Calendar - book the briefings
&lt;/h2&gt;

&lt;p&gt;Claude finds the open slot and schedules the reporter call. The six-email "does Thursday work?" exchange gets deleted. Small on its own, real in aggregate - briefings are where the relationship gets built.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Find a 30-minute slot next week that works for a reporter briefing
and send the invite.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  11. Google Search Console - prove the coverage did something
&lt;/h2&gt;

&lt;p&gt;Everyone tracks "did we get coverage." Almost nobody tracks whether it moved anything. This is the connector that turns "we got a hit" into "here's what the hit did" - the difference between reporting activity and proving ROI.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;The [outlet] piece went live on [date]. What happened to our search
impressions and clicks in the two weeks after?
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Does this replace the PR person?
&lt;/h2&gt;

&lt;p&gt;No. It deletes the 80% that was never the job - the list-building, the formatting, the "wait, who covers this again?" What's left is what was always the job: judgment about which story matters, relationships with the reporters who cover it, and the call on what your company should say.&lt;/p&gt;

&lt;h2&gt;
  
  
  Setup order
&lt;/h2&gt;

&lt;p&gt;Starting fresh, work the list as a checklist:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;[ ] Research: Perplexity&lt;/li&gt;
&lt;li&gt;[ ] Targeting: Medialyst&lt;/li&gt;
&lt;li&gt;[ ] Context: Granola, Google Drive&lt;/li&gt;
&lt;li&gt;[ ] Outreach: Gmail&lt;/li&gt;
&lt;li&gt;[ ] Speed: X API&lt;/li&gt;
&lt;li&gt;[ ] Assets: Canva&lt;/li&gt;
&lt;li&gt;[ ] Tracking: Notion, Slack&lt;/li&gt;
&lt;li&gt;[ ] Scheduling: Google Calendar&lt;/li&gt;
&lt;li&gt;[ ] Measurement: Google Search Console&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Or start with whichever pain is loudest this week. For most teams that's targeting - a great pitch to the wrong list is still a miss.&lt;/p&gt;

&lt;p&gt;Plug them in this week. Thank me later.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>productivity</category>
      <category>tutorial</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
