Agent skill · Audited from source

journalist-fit-check

skill · elvisun/newsjackMIT licenceAudited 27 Oct 2026 · source 384ad36be393

★ 1,656pushed 1 day ago
✓SAFEGrade B · 89/100 · 27 Oct 2026 · 384ad36
1,656repo stars · whole elvisun/newsjack

Is it safe? Yes — SAFE, grade B (89/100). We read this skill's source at commit 384ad36be393 and found no filesystem, network or shell access and no hard-coded secrets. What it does: 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,…

Ask an AI about this pageGChatGPTCClaudePPerplexityGeGeminiXGrok
More
Cite

Cite this page

ModelsAtlas. “journalist-fit-check (elvisun/newsjack)”. Retrieved 27 Oct 2026. https://modelsatlas.com/skills/elvisun/journalist-fit-check

Trust audit

Audit 0.4.1 · source read 27 Oct 2026

Trust score89/100✓SAFE B
0 critical0 high0 medium0 low0 info

SAFE means nothing in the source contradicts what the skill says it does. Grade B is shared by 13,985 of 14,816 audited skills.

What the source does

  • FilesystemNone observedNo reads or writes in the source
  • NetworkNone observedNo outbound calls in the source
  • ShellNone observedNo commands run in the source
  • DependenciesPinnedNothing floats
  • SecretsNone foundNo keys in source

Five audit layers

LayerWhat we checkResultFindings
L0 ProvenanceRepo owner, licence, archive status, activityPASS0
L1 Static sourceSecrets, path traversal, supply chain, hidden codeNA0
L2 InstructionsPrompt injection, authority framing, hidden directivesPASS0
L3 InventoryThe files and declarations match the sourcePASS0
L4 SandboxRun in isolation and watch behaviourSKIPPED why0

Gates applied: no behavioural pass.

Findings (0)

No findings at any severity. We re-audit when the source changes.

Audit 0.4.1 · source sha 384ad36be393 · 27 Oct 2026Report an issue or request a re-scan

Provenance

Who published it, and what the verdict is pinned to

  • Publisherelvisun GitHub userOwner of the repository this skill is read from
  • Source folderelvisun/newsjack/skills/journalist-fit-checkThe exact folder we audited
  • LicenceMITAs the repository states it
  • Commit pinned for this verdict384ad36be393A new audit runs when the source changes
  • Repository statusNot archivedLast push 1 day ago
  • Sandboxed runNot runSkills are read, not executed; layer L4 is skipped

What it tells the agent

Full source on GitHub ↗

Its description: 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,…

---
name: journalist-fit-check
description: "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."
when_to_use: "User asks whether a specific journalist is a fit for a pitch, wants a pre-send relevance check, tries to add one journalist to a media list, or asks 'should I pitch this person?'"
metadata:
  category: Act
---

# Journalist Fit Check

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:

- **Fit** — pitch this person, the match is real.
- **Soft-fit** — close, but the pitch needs a few specific edits first.
- **No-fit** — wrong person, do not pitch.
- **Unknown** — not enough solid evidence to say yes or no.

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.

## Boundaries

- Do not build media lists.
- Do not rank journalists against each other.
- Do not send anything.
- Do not keep or trust a contact database.
- Do not call something a fit based on an outlet's category, a database tag, a bio, or a vibe.
- Do not make up articles, dates, titles, links, outlets, or social posts.
- Do not say **Soft-fit** when the honest answer is **Unknown**.

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.

## Required Inputs

Accept one journalist identifier:

- name + outlet
- profile URL
- recent byline URL
- a beat description (the topic area they cover) is useful context only; a beat on its own cannot identify a specific journalist and cannot produce an answer

Accept one pitch:

- full pitch text
- subject line if present
- body text as written

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).

## Retrieval

Find the journalist's recent work using the best source available:

- `medialyst` (the built-in media database) when you are logged in
- `host-agent-search` (public web search) otherwise
- `cache` only when you explicitly hand over saved article evidence

Look 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**.

## The Checks — how to judge fit

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.

### 1. The Last-10-Bylines Audit — beat verification

**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.

### 2. The 90-Day Topic Sweep — recency / decay gate

**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.

### 3. Beat vs. Angle Preference vs. One-Off — the three-way read

**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 i

Excerpt, first 6,000 characters of SKILL.md, verbatim from the audited commit. It is text from someone else’s repository, quoted so you can judge it before your agent reads it.

Install

Pinned to the audited commit 384ad36

Download folder ↗
git clone https://github.com/elvisun/newsjack
git -C newsjack checkout 384ad36be393

The author documents no install command, so this uses the repository directly. Our verdict covers commit 384ad36be393 only.

Works in

The author has not said which agents this skill supports, and we have not tested it in any.

Audit history

Every audit, every source change

  1. ✓SAFE B 89 / 100

    first audit · source 384ad36be393

README badge

For maintainers · shows the latest audit

ModelsAtlas: SAFE BMODELSATLASSAFE · B
[![ModelsAtlas: SAFE B](https://modelsatlas.com/skills/elvisun/journalist-fit-check/badge.svg)](https://modelsatlas.com/skills/elvisun/journalist-fit-check/)

The badge shows our verdict and grade for this skill, and links back to this page. It changes when the audit does.

Similar skills

newsjack-triage✓SAFE

elvisun/newsjack

Consolidate freshness-gated newsjack signals and route them by client standing before angle generation. Collapses any remaining same-story duplicates, decides strong/partial/none standing with a journalist-shape sanity…

★ 1.7kGrade B
meanest-editor✓SAFE

elvisun/newsjack

Roast a pitch or press release with the eye of a veteran PR director. Honest, sharp, constructive — never cruel for its own sake.

★ 1.7kGrade B
news-search✓SAFE

elvisun/newsjack

Search current news for a topic, company, competitor, or hook and return dated, attributed articles. Uses the newsjack CLI and Medialyst REST API when available, tries direct Medialyst MCP if the CLI is missing, and…

★ 1.7kGrade B
headline-generator✓SAFE

elvisun/newsjack

Generate headline candidates from a story's raw facts: news-style headlines, press-release headlines, and pitch subject lines. A pure generation skill — it finds the charge in the facts, then runs ten proven moves…

★ 1.7kGrade B
find-journalists✓SAFE

elvisun/newsjack

Build a researched, fit-checked journalist list for a specific PR campaign. Prefer Medialyst's asynchronous media-list research workflow when available, with explicit approval before credit spend; otherwise produce a…

★ 1.6kGrade B
fact-check✓SAFE

elvisun/newsjack

Extract factual claims from PR copy, verify each claim independently, attach concrete citations, and warn when certainty is low. Runs each claim through proven newsroom verification methods (lateral reading, source-tier…

★ 1.6kGrade B

Add this badge to your README

[![ModelsAtlas: SAFE B](https://modelsatlas.com/skills/elvisun/journalist-fit-check/badge.svg)](https://modelsatlas.com/skills/elvisun/journalist-fit-check/)

Questions about journalist-fit-check

What does the journalist-fit-check skill do?
The open-source skills that turn your agent into a full PR team.
Is journalist-fit-check safe to install?
The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean skill reads B.
What can journalist-fit-check access on my machine?
The audit observed no filesystem, network or shell use at all in its source.
How current is this page?
The grade is for one exact copy of the source (384ad36be393), read on 2026-10-27. The repository is watched, and a new audit runs when it changes — this is the first audit.

Sources

Spotted something wrong? Report a correction · Methodology

Keep going in your AI

Opens with this page as the source. We add nothing else to the prompt.