Markdown Article Formatter
JimLiu/baoyu-skills
Reformats plain text or Markdown articles with frontmatter, a title, a summary, headings, bold, lists and code blocks, and saves a separate formatted copy.
Gate a pitch against one journalist at a time. An agent skill from elvisun/newsjack.
$ npx skills add elvisun/newsjack --skill journalist-fit-check -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install elvisun/newsjack journalist-fit-check --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/elvisun/newsjack.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/journalist-fit-check .claude/skills/journalist-fit-check && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "journalist-fit-check" agent skill from https://github.com/elvisun/newsjack/tree/main/skills/journalist-fit-check into .claude/skills/journalist-fit-check/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "journalist-fit-check", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/elvisun/newsjack/tree/main/skills/journalist-fit-checkType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add elvisun/newsjack --skill journalist-fit-check -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install elvisun/newsjack journalist-fit-check --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/elvisun/newsjack.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/journalist-fit-check .agents/skills/journalist-fit-check && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "journalist-fit-check" agent skill from https://github.com/elvisun/newsjack/tree/main/skills/journalist-fit-check into .agents/skills/journalist-fit-check/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "journalist-fit-check", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add elvisun/newsjack --skill journalist-fit-check -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install elvisun/newsjack journalist-fit-check --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/elvisun/newsjack.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/journalist-fit-check .cursor/skills/journalist-fit-check && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "journalist-fit-check" agent skill from https://github.com/elvisun/newsjack/tree/main/skills/journalist-fit-check into .cursor/skills/journalist-fit-check/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "journalist-fit-check", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/elvisun/newsjack.git --path skills/journalist-fit-check--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add elvisun/newsjack --skill journalist-fit-check -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install elvisun/newsjack journalist-fit-check --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/elvisun/newsjack.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/journalist-fit-check .gemini/skills/journalist-fit-check && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "journalist-fit-check" agent skill from https://github.com/elvisun/newsjack/tree/main/skills/journalist-fit-check into .gemini/skills/journalist-fit-check/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "journalist-fit-check", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install elvisun/newsjack journalist-fit-checkInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add elvisun/newsjack --skill journalist-fit-check -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/elvisun/newsjack.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/journalist-fit-check .github/skills/journalist-fit-check && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "journalist-fit-check" agent skill from https://github.com/elvisun/newsjack/tree/main/skills/journalist-fit-check into .github/skills/journalist-fit-check/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "journalist-fit-check", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add elvisun/newsjack --skill journalist-fit-check -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install elvisun/newsjack journalist-fit-check --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/elvisun/newsjack.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/journalist-fit-check .opencode/skills/journalist-fit-check && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "journalist-fit-check" agent skill from https://github.com/elvisun/newsjack/tree/main/skills/journalist-fit-check into .opencode/skills/journalist-fit-check/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "journalist-fit-check", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
journalist-fit-checkGate a pitch against one journalist at a time. An agent skill from elvisun/newsjack.
Journalist Fit Check is an agent skill from elvisun/newsjack. Gate a pitch against one journalist at a time. Runs the pair through proven media-relations checks (last-10-bylines audit, 90-day topic sweep, beat-vs-angle-vs-one-off, the 5 forms of journalism, source-mirror, stated-preferences, database triangulation) and returns fit, soft-fit, no-fit, or unknown with a real recent anchor and specific edits.
Its SKILL.md is about 6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
The repository describes itself as: The open-source skills that turn your agent into a full PR team. The licence is MIT.
12 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit b5a8dc8. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
bloomberg.comtechcrunch.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Journalist Fit Check loads about 6k tokens when it runs. Until then it costs about 92 tokens; SKILL.md has 3,538 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from elvisun/newsjack at commit b5a8dc8, republished under its MIT licence (© elvisun). 3,538 words, ~5,951 tokens.
.claude/skills/journalist-fit-check/SKILL.md (or your agent's skills folder).This is the Journalist Fit Check skill inside newsjack.sh. It is the gatekeeper. It exists because too many pitches go to the wrong people: irrelevant stories, stale contacts, and mail-merge "personalization" sent to journalists who never asked for it.
It checks one journalist and one pitch at a time, and gives you one of four answers:
Every Fit, Soft-fit, or No-fit answer must point to a real, dated, recent article (a "byline" — a piece with this journalist's name on it) published in the last 90 days. No real recent piece, no confident answer.
This skill is blunt on purpose. It will not soften a no or pad a maybe. A clear, specific answer beats a polite one.
If you ask about 20 or 50 journalists, this skill checks them one at a time. Stopping the mass-blast is someone else's job; this skill will never be the thing that greases a batch send.
Accept one journalist identifier:
Accept one pitch:
Accept context:
current_time_iso (today's date and time) is required. Never guess what "now" is from memory.client_or_subject (who or what the pitch is about) is optional.decay_stage is optional; it carries over from breaking-news workflows to flag how fast a story is moving.If today's date and time is missing, the answer is Unknown (reason: missing current time).
Find the journalist's recent work using the best source available:
medialyst (the built-in media database) when you are logged inhost-agent-search (public web search) otherwisecache only when you explicitly hand over saved article evidenceLook in places that are likely to hold their current work: the outlet's author page, Google News or similar web results, the journalist's personal site, their Substack or newsletter archive, LinkedIn snippets, and their Twitter/X profile or specific posts when those can be opened.
The answer must say which source it used. If no source turns up a named article with a date and a link, the answer is Unknown.
These are the actual methods media-relations practitioners use to test one journalist against one pitch. They replace "do your research" with specific moves. Run the pitch through them, gather the evidence, and let it drive the verdict. A real Fit needs all three of the triangulation axes (relevance, timing, format) to hold; two of three is a Soft-fit; a missing relevance axis is a No-fit.
A single journalist will light up several checks at once. That convergence is the verdict — not any one check alone.
Mechanic: Don't trust the outlet section or the database beat label. Pull this journalist's last ~10 bylines and ask what percentage actually covers your topic. Below roughly 80% topic-hit across the recent window means the targeting is wrong, not the pitch wording.
Worked example: Pitch = a new enterprise password manager. Journalist is tagged "Technology" at a national outlet, but their last 10 bylines are 7 on AI regulation, 2 on chip supply chains, 1 on a Big Tech earnings call. Cybersecurity-product = 0/10 in the recent window. → No-fit — right vertical label, wrong actual coverage.
Mechanic: Start from the byline, not the outlet. Pull the last 90 days of this journalist's coverage on your specific topic. Coverage older than ~3 months is a red flag they've moved on; reporters change beats every 12–18 months. One old hit does not establish a current beat.
Worked example: Pitch = a fintech fraud-detection launch. The journalist wrote a strong fraud feature — but 5 months ago, and nothing on fraud or fintech since (recent work is all crypto regulation). The fraud piece is now outside the freshness window and the beat has drifted. → Soft-fit at best — pitch only with a tight, current peg, or find a fresher fraud byline.
Mechanic: Read across 6–12 months of bylines and separate three things. Standing beat = the topic recurs repeatedly → safe to pitch. Angle preference = within that beat, the slice they keep choosing (covers "AI" but always the labor angle, never infrastructure). One-off = the topic appears once with no follow-up → coincidence, not a beat. Repetition is a beat; a consistent lens is an angle preference; a single appearance is a one-off.
Worked example: A year of AI coverage is consistently the worker-displacement/labor angle (10+ pieces), with exactly one piece on AI chip exports. Your pitch is an AI data-center cooling product. Beat (AI) matches, but their angle preference is labor, and the chip piece is a one-off — not a hardware beat. → No-fit on the product angle; Soft-fit only if you reframe to "what AI infrastructure means for jobs."
Mechanic: Match your pitch shape to the form the writer actually produces. Identify the form from their bylines, then check whether the pitch supplies what that form needs:
| Form | Identify it by | What the pitch must supply |
|---|---|---|
| Investigative | Data-heavy, multi-source, evidence trails | A data set, expert source, factual narrative — never a product promo |
| News reporting | Straight, timely, who/what/when | A genuine time peg plus facts, fast |
| Feature | Narrative, human-centric, longer | A person/story (Who/What/When/How), not a spec sheet |
| Opinion | First-person ("I believe"), narrow theme | A first-person POV angle — never a product |
| Column | Commentary + reporting, recurring themes | A perspective hook tied to current events — not a launch |
| Review/roundup | "Top 20…" comparisons or single-item tests | Honest product access, comparison framing, audience value |
Worked example: Pitch = "Our new project-management app launched today," sent to an opinion columnist who writes first-person takes on workplace culture. Product launches are exactly what their non-promotional mandate rejects. → No-fit (wrong form). The same app pitched to a review/roundup writer who does "best productivity tools" comparisons = Fit.
Mechanic: Read 2–3 recent pieces and catalog who they quote and what sources they lean on — academics vs. practitioners, named executives vs. independent analysts, primary data/interviews vs. vendor reports. Then ask whether the source you're offering matches the type they actually use. Tech reporters especially favor credible/independent voices over marketing ones.
Worked example: Pitch offers your VP of Marketing as the expert; the journalist's last three pieces quote only independent academics and named end-users, never vendor marketers. The source type mismatches. → Soft-fit — swap the offered source to a data scientist or a customer and it becomes a Fit.
Mechanic: Before judging anything inferred from bylines, check the journalist's declared rules: Muck Rack "pitching preferences," bio, X/social bio, a "how to pitch me" page. A stated "I don't cover X" overrides any byline inference. If they say no attachments, exclusives-only, or no funding rounds, those are hard constraints.
Worked example: Beat and recency look good, but the Muck Rack profile says "exclusives only, no embargoes, and I don't cover funding rounds." Your pitch is a Series B announcement going to five outlets. Two stated rules broken. → No-fit by self-declaration, regardless of beat match.
Mechanic: Use database signals (Muck Rack and similar) as evidence inputs, not the verdict. They surface recent articles, self-declared preferences, geographic focus, and 12-month topic coverage. Triangulate three axes before any Fit:
All three = Fit. Two of three = Soft-fit. Missing relevance = No-fit.
Worked example: Pitch = a SaaS security data report. Relevance ✓ (5 cybersecurity pieces in 90 days), format ✓ (writes data-driven news), timing ⚠️ (no current peg; last breach cycle was weeks ago). → Soft-fit — hold until a news peg, or lead with the data's own novelty as the peg.
Right outlet, wrong section (news pitch to the opinion desk). A stale or one-off byline treated as a current beat. A "today only" peg sent to a feature writer who works on weeks-long lead times. A commercial promo sent to a non-promotional columnist. A marketer offered to a reporter who only quotes independent experts. Irrelevance is the single biggest reason journalists block a contact — these checks exist to catch it before the send.
Confirm this is a real person you can actually check (author page, recent article, profile, newsletter, or any public trace). If you can't, stop and return Unknown (reason: unresolved). If all you were given is a beat (a topic, not a person), return Unknown (reason: unresolved) and ask for a named journalist, an outlet, a profile link, or a recent-article link. Finding journalists in the first place is a job for find-journalists or newsjack-detector. Do not guess from the name alone — a confident "yes" about the wrong person is worse than an honest "I'm not sure."
Run the pitch through the Anti-Slop principle below. If a clear slop tell shows up, return Unknown (reason: slop tells in pitch) and point the user to meanest-editor and voice-extractor. A pitch that still reads like a template never gets a Fit.
An "anchor" is one specific recent article by this journalist that proves the match is real. For Fit or Soft-fit you must name at least one, with all of: the exact title word for word, a working link (article or real social post), the real publication date, published within the last 90 days, and one sentence connecting it to the pitch.
If your reasoning leans on "their recent work," "the outlet covers," "given their beat," or "broadly relevant," you do not have an anchor — find a real article or return Unknown. For Substack writers and independents, anchor to their current newsletter, personal site, or recent posts; don't judge them by an old staff job their newsletter has replaced.
"Decay" is how stale their most recent work is. Every answer reports it:
For independents, a newsletter post or an openable thread counts as a recent piece. The 90-day cutoff still applies either way.
Run the checks above and place the result on this ladder. The confidence number (0 to 1) is how sure the match is. Most honest calls land between 0.50 and 0.75; if everything keeps coming out at 0.85, the check is flattering the pitch.
| Verdict | Confidence | What it means |
|---|---|---|
| Fit | 0.80 or higher | All three triangulation axes hold: the journalist covered this exact angle, company, person, format, or problem in the last 90 days, and the pitch already names that coverage or could be tweaked to it in a minute. Save 0.85+ for an exact-angle match within the last 30 days. |
| Soft-fit | 0.55 to 0.80 | A real but indirect connection — two of three axes hold. They cover the broader topic or a nearby angle, but the pitch needs 1–3 specific edits first. |
| No-fit | 0.30 to 0.55 | Relevance is missing. Wrong beat, wrong outlet, wrong format, or wrong angle. Do not suggest wording fixes. |
| Unknown | below 0.30, or a refusal | Can't identify the journalist, stale evidence, no anchor article, weak search, missing date, or the pitch failed the slop scan. |
There is no road from "broadly on their beat" to Fit. Broad topic categories are exactly how mass-blasting happens.
Keep the "why" to 2–3 sentences: state the verdict, name the anchor article, then name the gap (why it's not a fit) or the driver (why it is). For Soft-fit, give 1–3 concrete edits — each naming the exact paragraph, sentence, hook, or angle to change, tied to a specific anchor article, and doable in under five minutes. For No-fit, offer no edits: the journalist is wrong, not the wording. For Fit, any edits are optional and minimal.
A gate is a hard stop. If any gate trips, the verdict is Unknown no matter how good the rest looks. These are the safety floor of the skill — they are what stops a confident wrong answer from greasing a bad send.
The principle: a pitch must read like something a person wrote for this journalist, not a template a marketing team approved. Reject leftover merge fields, hollow buzzwords, robotic sentence shapes, and generic flattery that never names a specific article. Read the pitch case-insensitively; one clear match fails the slop scan and the verdict is Unknown (slop tells in pitch).
Representative offenders to catch (not exhaustive — judge by the principle): leftover placeholders like {Company Name} / [TOPIC] / <<<merge_field>>>; buzzwords like "world-class," "best-in-class," "revolutionary," "leading provider," "game-changing," "we are thrilled to announce"; robotic shapes like "It's not just X, it's Y" or "In today's fast-paced world"; and hollow greetings like "Hope this email finds you well." Heavy em-dash use in a short pitch is a warning on its own, and a fail when it rides alongside any of the above.
Write the answer as a short, readable note a person can act on — not a data dump. Keep it terse. Use this shape:
When the answer is a refusal, the verdict is Unknown with confidence below 0.30, no anchor articles (unless you need to show a stale one), and a clear next step. The refusal reasons are:
Before the answer leaves the agent, it must clear all of these. Any miss means revise or regenerate:
meanest-editor and voice-extractor.find-journalists or newsjack-detector. This skill checks one named person; it does not discover or rank them.Each example shows the input it received, the answer it returned, and the action that follows. The point is not to flatter the pitch. The point is to stop bad targeting before it becomes email.
Fit (confidence 0.86)
Why: Maxwell Zeff's Apr. 28 TechCrunch piece argued that agent tool-use benchmarks fail against real workflows; your pitch ships the exact thing he flagged as missing. The embargo, the repo opening, and the pilot customers give him a usable scoop.
Anchor article: "Developers say Claude's agent SDK is the easiest to deploy, hardest to evaluate" — TechCrunch, Apr. 28, 2026 — https://techcrunch.com/2026/04/28/claude-agent-sdk-eval-gap/. It names workflow-time benchmarks as the missing piece, which is exactly what the pitch launches.
What to do next: Nothing major — the target is right. Just normal copy polish.
Freshness: Most recent article May 16, 2026 (2 days ago). No freshness concern.
Where this came from: Web search. Checked the TechCrunch author page and recent results; the anchor link above supplied the match. Other recent bylines found May 3, May 11, and May 16.
Send the pitch after normal copy polish. The target is right.
No-fit (confidence 0.41)
Why: Emily Chang's recent Bloomberg work is executive interviews, venture capital, and AI company strategy — not B2B SaaS launches or freelancer tooling. A freelancer-accounting product is outside her lane, and copy edits won't change that.
Anchor article: "Inside Anduril's pitch to the Pentagon" — Bloomberg, May 11, 2026 — https://www.bloomberg.com/news/articles/2026/05/11/anduril-pitch. It shows the company-and-executive-strategy level she covers, which contradicts the freelancer-SaaS ask.
What to do next: Nothing to fix — she's the wrong target. No edits, because the journalist is wrong, not the wording.
Freshness: Most recent article May 15, 2026 (3 days ago). No freshness concern.
Where this came from: Web search. Reviewed the Bloomberg author page and her last five visible articles; none touched SMB accounting, freelancer tooling, fintech for individuals, or product reviews.
Drop the contact. Do not rewrite this for her.
© elvisun, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/journalist-fit-check of elvisun/newsjack.
Open the folder on GitHubat commit b5a8dc8
Journalist Fit Check next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Journalist Fit Check this skillelvisun/newsjack | 1.5k | — | ~6k | Automated safety check: Pass | MIT | |
| Markdown Article FormatterJimLiu/baoyu-skills | 27k | 6 repos | ~3.5k | Automated safety check: Pass | MIT | |
| Socialcoreyhaines31/marketingskills | 54k | 4 repos | ~4.5k | Automated safety check: Pass | MIT | |
| MarkitdownImCa0/just-laws | 781 | 14 repos | ~3.2k | Automated safety check: Notes | MIT | |
| Obsidian MarkdownAtmosphere/atmosphere | 3.8k | 20 repos | ~1.3k | Automated safety check: Pass | Apache-2.0 | |
| DOCXrvdbreemen/OTGW-firmware | 207 | 33 repos | ~4.3k | Automated safety check: Pass | Proprietary |
JimLiu/baoyu-skills
Reformats plain text or Markdown articles with frontmatter, a title, a summary, headings, bold, lists and code blocks, and saves a separate formatted copy.
coreyhaines31/marketingskills
When the user wants help creating, scheduling, or optimizing social media content for LinkedIn, Twitter/X, Instagram, TikTok, or Facebook, or wants to do social listening and engagement triage.
ImCa0/just-laws
Convert files and office documents to Markdown. An agent skill from ImCa0/just-laws.
Atmosphere/atmosphere
Create and edit Obsidian Flavored Markdown with wikilinks, embeds, callouts, properties, and other Obsidian-specific syntax.
rvdbreemen/OTGW-firmware
A skill your agent uses whenever the user wants to create, read, edit, or manipulate Word documents (.docx files).
Azure-Samples/interview-coach-agent-framework
Remove signs of AI-generated writing from text. An agent skill from Azure-Samples/interview-coach-agent-framework.
elvisun/newsjack
Turn an eval study's numbers into on-brand, publish-ready figures using the Newsjack chart room (the eval design system), then validate them with Playwright.
elvisun/newsjack
Audit, question, suggest, or fact-preservingly revise a press release, blog post, contributed article, or expert explainer so AI answer systems can more easily retrieve, understand, quote, and cite…
elvisun/newsjack
Turn a user-owned coverage CSV and reviewed press-clip captures into an honest, source-linked earned-media dashboard and a motion-designed highlight reel (MP4) that scrolls each real article to the…
elvisun/newsjack
Turn a source-bound company and market dossier into testable ideal-customer-profile hypotheses, buying roles, triggers, constraints, disqualifiers, standing, counterevidence, and research gaps.
elvisun/newsjack
Research any company, product, or service from a URL plus description and build a comprehensive, evidence-bound AEO/GEO/AI-visibility prompt panel across buyer jobs, information acts, journey…
elvisun/newsjack
Triage inbound journalist source queries and draft a response only when the user's expertise is a real fit.
Gate a pitch against one journalist at a time. An agent skill from elvisun/newsjack. Journalist Fit Check is an agent skill from elvisun/newsjack. Gate a pitch against one journalist at a time.
Run `npx skills add elvisun/newsjack --skill journalist-fit-check -a claude-code`. Or copy the skill folder (skills/journalist-fit-check in elvisun/newsjack) into .claude/skills/journalist-fit-check in your project. Claude Code loads it when a task matches its description.
Run `npx skills add elvisun/newsjack --skill journalist-fit-check -a codex`. Or copy the skill folder (skills/journalist-fit-check in elvisun/newsjack) into .agents/skills/journalist-fit-check in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add elvisun/newsjack --skill journalist-fit-check -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/journalist-fit-check, .gemini/skills/journalist-fit-check, .github/skills/journalist-fit-check and .opencode/skills/journalist-fit-check in your project.
SKILL.md names no scripts, command-line tools or credentials: Journalist Fit Check is instructions for the agent only.
SKILL.md names 2 domains. As links in the text: bloomberg.com and techcrunch.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Journalist Fit Check is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 6k tokens (SKILL.md is roughly 24k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Journalist Fit Check: Markdown Article Formatter (JimLiu/baoyu-skills, 27k stars), Social (coreyhaines31/marketingskills, 54k stars), Markitdown (ImCa0/just-laws, 781 stars) and Obsidian Markdown (Atmosphere/atmosphere, 3.8k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
elvisun (a GitHub user) maintains it in elvisun/newsjack, which has 1,533 GitHub stars. The repository holds 30 skills in this directory. The repository was last updated on October 7, 2026.
Source: elvisun/newsjack on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.