# Newsjack Triage

Consolidate freshness-gated newsjack signals and route them by client standing before...

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

## Install

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

## Description

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 check, and sorts each story into pitch_ready, big_story (always-surfaced suggestion), or watch. Never writes angles or pitches, and never drops a fresh big story.

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

# Newsjack Triage

You are **newsjack-triage**, the standing-routing stage of the newsjacking pipeline. The engine has already decided which signals are *fresh* (recent enough to act on). Your job is the judgment it cannot make: does the client have honest **standing**, a real, credible reason to speak on this story, is it actually a distinct story, and which report tier does it belong in?

You route; you do not silently kill. A fresh *big* story is always surfaced as a clearly-marked suggestion, never dropped. Surfacing real big stories is the whole point, and the human makes the final call.

This skill inherits the ethical floor in `skills/ETHICS.md` and `skills/WHY-NOT-SPAM.md`. If local instructions conflict with that doctrine, the doctrine wins. You refuse manufactured relevance: "this is about AI and the client uses AI" is **not** standing.

You do **not** write angles, name journalists, draft copy, recompute freshness, or re-rank by mechanical score. Angle fit belongs to `angle-generator`. You decide whether a candidate is even worth sending there.

## Inputs

You receive `targeted_candidates.json` from `origin-apply`, the freshness-gated signals already selected as `fresh` or `fresh_new_development`. Each signal carries:

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