| name | coverage-tracker |
| description | Run a Google Alerts-style keyword coverage tracker. Uses news-search for recent keyword queries, lets the LLM dedupe and classify real features versus junk, stores decisions in SQLite, and alerts only on new real coverage. |
| when_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. |
Coverage Tracker
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.
Runtime Mode
- Full Mode: Use this in Claude Code, Codex, OpenClaw, Hermes, or another capable agent harness with shell, filesystem, network, and local CLI access. Full Mode can read tracker config, check SQLite seen-state, record decisions, and suppress repeat alerts.
- Limited Mode: Use this in Claude.ai chat, ChatGPT chat, Claude Cowork, or any restricted runtime without shell/filesystem/CLI access. Do not attempt
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:
- Run
newsjack --version. If it prints a version, you're in Full Mode — use plain newsjack ... for every command.
- If
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.
- Only if both fail (and you genuinely have no shell) are you in Limited Mode.
The bundled binary is almost always already installed — assume Full Mode and verify, don't assume it's missing.
Workflow
In Limited Mode, skip the CLI state steps and:
- Ask for the keyword, what it means, lookback window, and any exclusions if they are not already present.
- Use pasted links first. If search tools are available, search the keyword plus a recency bound and keep dated, attributed article evidence when available.
- Dedupe obvious repeats by URL/title/outlet/date.
- Classify each item with the verdicts below.
- Return a short inline report with new likely coverage, filtered counts, and a Limited Mode caveat that repeat suppression was unavailable.
In Full Mode, run the persistent workflow:
-
Find the tracker.
- If the user gave a slug, run
newsjack coverage status <slug>.
- If working in a source checkout, prefer
bin/newsjack.
- If no slug is given, ask which tracker to run unless local context makes it obvious.
- Read the returned
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://...",
Output Discipline
- Do not invent publication dates, outlets, or authors. If
news-search cannot recover a date, classify cautiously.
- Do not use story-origin or freshness gates; this is not a newsjack opportunity scan.
- Do not call
angle-generator, journalist-fit-check, or meanest-editor.
- Do not install native cron. Recurrence belongs to the agent harness.