From Newsjack
Tracks keyword press coverage by searching news sources, deduplicating and classifying articles, storing decisions in SQLite, and alerting on new real coverage. Supports CLI-automated and manual modes.
How this skill is triggered — by the user, by Claude, or both
Slash command
/newsjack:coverage-trackerWhen to use
User wants to run coverage alerts, check new mentions, track press coverage, monitor brand/company keyword coverage, or execute a previously configured coverage tracker.
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Track whether configured keywords appeared in real coverage. Keep this simple: `news-search` collects dated article evidence, you dedupe and judge with the keyword's meaning snippet, and the CLI only stores config plus seen/alert state.
Track whether configured keywords appeared in real coverage. Keep this simple: news-search collects dated article evidence, you dedupe and judge with the keyword's meaning snippet, and the CLI only stores config plus seen/alert state.
This is not newsjack-detector. Do not score newsjacking opportunities, generate angles, assess standing, or use monitor profiles.
curl, npm, or on-demand CLI installation. Run a one-off manual coverage check from pasted/searchable evidence and disclose that no tracker config, SQLite state, or repeat suppression was used.Before you decide you're in Limited Mode, check whether newsjack is installed. It ships as a prebuilt, bundled binary — you do not need Go, a compiler, or any build/install step to run it. Never look for a Go toolchain, and never declare the CLI "missing" or tell the user they need a "Go environment" without running this check first:
newsjack --version. If it prints a version, you're in Full Mode — use plain newsjack ... for every command.newsjack isn't on PATH, try the bundled location ~/.newsjack/bin/newsjack --version. If that prints a version, use that full path in place of newsjack everywhere below.The bundled binary is almost always already installed — assume Full Mode and verify, don't assume it's missing.
In Limited Mode, skip the CLI state steps and:
In Full Mode, run the persistent workflow:
Find the tracker.
newsjack coverage status <slug>.bin/newsjack.config_path.Search each keyword.
Read the current date from the system (e.g. run date); do not recall it from memory. Compute since_date as that date minus lookback_days from the config, defaulting to 2.
For each keyword, call news-search with exactly:
"keyword" after:YYYY-MM-DD
If the keyword has aliases, search each alias the same way, but keep the original keyword entry attached.
Keep dated, attributed article fields from news-search: title, url, outlet, author, published_at, and snippet/summary when available.
Dedupe and check stored decisions before using the LLM.
Dedupe exact canonical URLs first, then obvious same-article duplicates by title/outlet/date.
Create a minimal candidate JSON file only because the CLI helper consumes a file. Put it in a temporary location, or in a timestamped run folder if your harness normally keeps run artifacts:
{
"items": [
{
"keyword": "profound",
"title": "Article title",
"url": "https://...",
"outlet": "Outlet",
"author": "Author or null",
"published_at": "2026-06-05T12:00:00Z",
"snippet": "Search snippet or summary"
}
]
}
Run:
newsjack coverage check <slug> --input candidates.json
Do not reclassify known_items unless the user explicitly asks for a fresh review. Use their prior_decision to count filtered/known results and suppress repeat alerts.
Classify only unknown_items.
LLM classify unknown items.
means field as the authority for entity matching.profound.Use these verdicts:
real_feature: the article is substantially about the intended entity/product/person. Alert.substantive_mention: meaningful paragraph-level mention, but not a feature. Save, normally no alert.passing_mention: brief mention only. Save, no alert.wrong_entity: the keyword refers to something else. Save, no alert.junk: SEO, scraper, duplicate landing page, job post, docs/help page, or non-news. Save, no alert.uncertain: insufficient evidence. Save, no alert.Record only newly classified unknown items.
If there are no unknown_items, skip coverage record and report from the coverage check result.
If you classified new items, write the minimum decisions.json needed by the CLI:
{
"items": [
{
"keyword": "profound",
"title": "Article title",
"url": "https://...",
"outlet": "Outlet",
"author": "Author or null",
"published_at": "2026-06-05T12:00:00Z",
"verdict": "real_feature",
"confidence": "high",
"alert": true,
"rationale": "Why this is about the intended keyword."
}
]
}
Include every newly classified unknown item, not only alerts. Saving rejects lets future runs skip them through coverage check.
Persist decisions and suppress repeat alerts.
newsjack coverage record <slug> --input decisions.json
Add --run-dir RUN_DIR only when you already created a run folder for harness provenance. Read the command's JSON stdout directly. Do not write record.json unless the user or harness explicitly wants artifacts. Only articles in new_alerts are newly alertable; previously alerted URLs must not be re-alerted.
Deliver the result to the user.
SQLite is the durable record. Do not write a separate report file; compose a short, readable message straight to the user from coverage check and, when run, coverage record:
new_alerts is non-empty, lead with the new real coverage items.This skill is meant to run unattended on a schedule, so the message must stand alone — the user should not have to open any file to understand the run.
news-search cannot recover a date, classify cautiously.angle-generator, journalist-fit-check, or meanest-editor.npx claudepluginhub elvisun/newsjack --plugin newsjackCreates a keyword coverage tracker (like Google Alerts) that monitors for brand, product, or company mentions. Run directly or via the coverage-tracker skill's recurring schedule.
Produces a structured monitoring brief with sources, cadence, and alert thresholds for reporters tracking developing stories. Use when setting up a systematic watching routine for a long-running topic.
Monitors Hacker News for keywords using the HN Algolia API, deduplicates against a local SQLite cache, and sends Slack alerts for new matching posts.