# Journalist Fit Check

Gate a pitch against one journalist at a time.

- Repository: https://github.com/elvisun/newsjack (1668 stars)
- Category: Data and ML
- License: MIT
- Last updated: 2026-10-25
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add elvisun/newsjack --skill journalist-fit-check -g -a claude-code -y`
Codex: `npx skills add elvisun/newsjack --skill journalist-fit-check -g -a codex -y`
Cursor: `npx skills add elvisun/newsjack --skill journalist-fit-check -g -a cursor -y`
Gemini CLI: `npx skills add elvisun/newsjack --skill journalist-fit-check -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add elvisun/newsjack`

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

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# 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:

The rest: https://github.com/elvisun/newsjack/blob/HEAD/plugins/newsjack/skills/journalist-fit-check/SKILL.md
