Agent skill · Audited from source

newsjack-triage

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

★ 1,660pushed 3 days ago
✓SAFEGrade B · 89/100 · 29 Oct 2026 · 384ad36
1,660repo 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: 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…

Ask an AI about this pageGChatGPTCClaudePPerplexityGeGeminiXGrok
More
Cite

Cite this page

ModelsAtlas. “newsjack-triage (elvisun/newsjack)”. Retrieved 29 Oct 2026. https://modelsatlas.com/skills/elvisun/newsjack-triage

Trust audit

Audit 0.4.1 · source read 29 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 · 29 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/newsjack-triageThe 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 3 days ago
  • Sandboxed runNot runSkills are read, not executed; layer L4 is skipped

What it tells the agent

Full source on GitHub ↗

Its 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…

---
name: newsjack-triage
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."
when_to_use: "Run as the standing-triage stage of the newsjack-detector pipeline, after the deterministic freshness gate (origin-apply) and before angle-generator. Use whenever a pool of fresh candidate signals needs standing judgment and final same-story consolidation before expensive angle work."
metadata:
  category: Detect
---

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

- `signal_id`, `title`, and `story_origin` (canonical coverage, the first-public clock, and any new development)
- `evidence[]` — each with `metadata.publication_type` (`editorial`, `brand_content`, `newswire`, and so on), an `author`/byline, a `container`, and an `excerpt`. This is your provenance signal for step 2.
- the `story_size` band, any low-confidence `story_size.attention_hint`, and `freshness_gate.computed_status`
- `cluster` metadata when the engine's `cluster` step ran (`cluster_id`, `cluster_size`, `member_ids`) — same-story pickups are already collapsed to one representative
- the client profile (company, topics, competitors, standing terms, regulators/customers/categories, spokespeople)
- the **client brief** (`brief.md`) when present

The client brief is prose that is the **source of truth** for what this client will and won't pitch and how to surface results. A brief is empty or template-only when its section bodies are just HTML comments; that carries no rules, so apply only rules the client has actually written.

## Process

**1. Re-consolidate.** The engine's `cluster` step already collapses same-story pickups, but double-check. If two surviving representatives are obviously the *same public event* — same actors, same action, same facts — merge them, keep the one with the stronger canonical coverage, and record the merge. The downstream report should show *stories*, not *articles*.

**2. Content provenance — is this even a target?** Before judging standing, decide whether the item is independent journalism or someone's *own* content. You cannot newsjack content a competitor or vendor published about themselves; pitching it just amplifies them. Route such items to `watch` with `watch_reason: competitor_or_promotional` and `standing: none` when the item is either:

- a **press release, brand, or sponsored item** — `metadata.publication_type` is `brand_content`, `newswire`, `press_release`, or `sponsored`, or the excerpt is a dateline release (the "CITY, DATE — (Wire) — Company today announced..." shape); or
- **contributed or thought-leadership** content authored by a vendor or consultant on a community site or blog — a first-person "my team / our clients" byline whose thesis *is* a product narrative, especially when the author or their company is one of the client's **named competitors**.

This holds **even when the topic overlaps the client's standing.** A competitor arguing "AI support needs human-curated knowledge" is a competitor's marketing line, not a story the client pitches into.

Draw the line carefully: independent editorial coverage *about* a competitor — a reporter's byline at a real outlet covering "Competitor raised $1B" — is a legitimate signal. That is coverage, not owned content, and it gets judged normally in step 3. The gate is about **who authored the item**, not who it mentions.

**2b. Apply the client brief (authoritative, when present).** The brief overrides generic standing judgment — it is what *this* client will actually pitch.

- A story matching a brief **"We never pitch"** rule can **never** be `pitch_ready`, however strong the topical overlap. If it is **not** a big story, route to `watch` with `watch_reason: client_policy_exclusion`. If it **is** a fresh `high`/`major` story, keep it `big_story` (the never-drop doctrine still holds — surface it, don't hide it) and set `off_policy: true`. Either way, add `policy_rule` quoting the brief rule that fired.
- Use the brief's **Audience** and **We pitch** sections to set the standing **altitude**. Topic overlap is *not* `strong` standing when the story sits at the wrong altitude for the client's audience — for example, a policy or legislative process for a client whose audience is "regular people and their own data." Topical relevance is not pitchability.
- The brief's **How to surface** is a presentation preference for the report, not a reason to drop. Never silence a tier; only collapse it to a disclosed count (the report

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/newsjack-triage/badge.svg)](https://modelsatlas.com/skills/elvisun/newsjack-triage/)

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

Similar skills

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
journalist-fit-check✓SAFE

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,…

★ 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/newsjack-triage/badge.svg)](https://modelsatlas.com/skills/elvisun/newsjack-triage/)

Questions about newsjack-triage

What does the newsjack-triage skill do?
The open-source skills that turn your agent into a full PR team.
Is newsjack-triage 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 newsjack-triage 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-29. 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.