Agent skill · Audited from source
journalist-fit-check
skill · elvisun/newsjackMIT licenceAudited 27 Oct 2026 · source 384ad36be393
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,…
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
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
| Layer | What we check | Result | Findings |
|---|---|---|---|
L0 Provenance | Repo owner, licence, archive status, activity | PASS | 0 |
L1 Static source | Secrets, path traversal, supply chain, hidden code | NA | 0 |
L2 Instructions | Prompt injection, authority framing, hidden directives | PASS | 0 |
L3 Inventory | The files and declarations match the source | PASS | 0 |
L4 Sandbox | Run in isolation and watch behaviour | SKIPPED why | 0 |
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
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
- ✓SAFE B 89 / 100
first audit · source
384ad36be393
README badge
For maintainers · shows the latest audit
[](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
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…
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.
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…
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…
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…
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…
Add this badge to your README
[](https://modelsatlas.com/skills/elvisun/journalist-fit-check/)
<a href="https://modelsatlas.com/skills/elvisun/journalist-fit-check/"><img src="https://modelsatlas.com/skills/elvisun/journalist-fit-check/badge.svg" alt="ModelsAtlas: SAFE B"></a>
Questions about journalist-fit-check
What does the journalist-fit-check skill do?
Is journalist-fit-check safe to install?
What can journalist-fit-check access on my machine?
How current is this page?
Sources
- github.com/elvisun/newsjack/tree/main/skills/journalist-fit-chec — the audited source at commit 384ad36be393 and every finding aboveObserved · 27 Oct 2026
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.
- What does the journalist-fit-check skill do?
- Is journalist-fit-check safe to install?
- What can journalist-fit-check access on my machine?