Agent skill

Coverage Tracker

by elvisun in elvisun/newsjack

Run a Google Alerts-style keyword coverage tracker. An agent skill from elvisun/newsjack.

MITAuto-check passedDatabases

Install Coverage Tracker

skills CLI
$ npx skills add elvisun/newsjack --skill coverage-tracker -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install elvisun/newsjack coverage-tracker --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/elvisun/newsjack.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/coverage-tracker .claude/skills/coverage-tracker && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
coverage-tracker
GitHub stars
1.5k
Token cost
~2.1k tokens
SKILL.md length
1,009 words
Files
1
Skills in repo
30
Repo updated
First seen
Licence
MIT

At a glance

Run a Google Alerts-style keyword coverage tracker. An agent skill from elvisun/newsjack.

  • Works in 3 steps: Run newsjack --version. If it prints a… → If newsjack isn't on PATH, try the… → Only if both fail (and you genuinely…
  • Databases work in your project
  • SKILL.md covers Runtime Mode, Workflow and Output Discipline
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Coverage Tracker is an agent skill from elvisun/newsjack. 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.

Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Databases. It works with SQLite. The repository describes itself as: The open-source skills that turn your agent into a full PR team. The licence is MIT.

When your agent uses it

  • Databases work in your project

Example prompts

  • “/coverage-tracker”

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. Run newsjack --version. If it prints a version, you're in Full Mode — use plain newsjack ... for every command.
  2. If newsjack isn't on PATH, try the bundled location ~/.newsjack/bin/newsjack --version. If that prints a version, use that full path in…
  3. Only if both fail (and you genuinely have no shell) are you in Limited Mode.

What it can do on your machine

Read from SKILL.md and the folder at commit b5a8dc8. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are json and bash).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Coverage Tracker loads about 2.1k tokens when it runs. Until then it costs about 60 tokens; SKILL.md has 1,009 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~60
When it runs · the whole SKILL.md, loaded when a task matches
~2.1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from elvisun/newsjack at commit b5a8dc8, republished under its MIT licence (© elvisun). 1,009 words, ~2,053 tokens.

Download SKILL.mdSave it as .claude/skills/coverage-tracker/SKILL.md (or your agent's skills folder).
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…
metadata.category
Detect

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:

  1. Run newsjack --version. If it prints a version, you're in Full Mode — use plain newsjack ... for every command.
  2. 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.
  3. 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:

  1. Ask for the keyword, what it means, lookback window, and any exclusions if they are not already present.
  2. Use pasted links first. If search tools are available, search the keyword plus a recency bound and keep dated, attributed article evidence when available.
  3. Dedupe obvious repeats by URL/title/outlet/date.
  4. Classify each item with the verdicts below.
  5. 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:

  1. 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.
  2. 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:

      text
      "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.

  3. 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:

      json
      {
        "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:

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

  4. LLM classify unknown items.

    • Use the keyword's means field as the authority for entity matching.
    • Reject generic-word usage and wrong entities, especially for ambiguous keywords like profound.
    • Do not alert from title/snippet keyword presence alone. When the snippet leaves the verdict unclear, read the article before deciding.

    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.
  5. 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:

    json
    {
      "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.

  6. Persist decisions and suppress repeat alerts.

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

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

    • If new_alerts is non-empty, lead with the new real coverage items.
    • If there are no new alerts, say there is no new confirmed coverage.
    • Include a short run summary: keywords searched, since date, candidate count, skipped-known count, newly judged count, new alert count.
    • Include a quiet "Filtered" line with counts by verdict, including prior decisions from known items, not a dump of every junk item.
    • Use clickable links.

    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.

Show full SKILL.md (50 more words)Show less

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.

© elvisun, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/coverage-tracker of elvisun/newsjack.

Open the folder on GitHubat commit b5a8dc8

Compare with similar skills

Coverage Tracker next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Coverage Tracker compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Coverage Tracker this skillelvisun/newsjack1.5k—~2.1kAutomated safety check: PassMIT
Iptvnator Sqlite DB Worker4gray/iptvnator7.3k—~824Automated safety check: PassMIT
Analyze Nsys Profilemlc-ai/pith-train355—~1.9kAutomated safety check: PassApache-2.0
Reactive Sqlite UIfastrepl/anarlog9.5k—~699Automated safety check: PassMIT
Composer Forensicsdxos/dxos525—~3.1kAutomated safety check: PassCustom licence
Sqlite Schema Designfastrepl/anarlog9.5k—~1.9kAutomated safety check: PassMIT

Similar skills

  • A skill your agent uses when changing Electron SQLite IPC, database-worker operations, request-scoped progress or cancellation, worker packaging, or runtime verification of non-EPG database work.

    7.3k GitHub stars~824 tokensUpdated today
    DatabasesAuto-check passed
  • Analyze Nsys Profile

    mlc-ai/pith-train

    Query a captured PithTrain Nsight Systems profile to measure compute/communication overlap, locate exposed comm by DualPipeV stage, and inspect per-rank stream behavior.

    355 GitHub stars~1.9k tokensUpdated 3 days ago
    DatabasesAuto-check passed
  • Reactive Sqlite UI

    fastrepl/anarlog

    Build SQLite-backed reactive UI in apps/desktop using stable patterns for reads, selection, forms, writes, and loading states.

    9.5k GitHub stars~699 tokensUpdated today
    DatabasesAuto-check passed
  • Forensically inspect and repair Composer browser profiles — offline (Chrome OPFS / SQLite extract) or live via /recovery.html debug port.

    525 GitHub stars~3.1k tokensUpdated today
    DatabasesAuto-check passed
  • Sqlite Schema Design

    fastrepl/anarlog

    Design or review schemas for crates/cloudsync using SQLite Sync constraints, not generic SQLite advice.

    9.5k GitHub stars~1.9k tokensUpdated today
    DatabasesAuto-check passed
  • Makemigrations

    deusXmachina-dev/memorylane

    Create SQLite migrations for MemoryLane storage schema changes.

    121 GitHub stars~973 tokensUpdated yesterday
    DatabasesAuto-check passed

More from elvisun/newsjack

All 30 skills in this repo
  • Eval Graphics

    elvisun/newsjack

    Turn an eval study's numbers into on-brand, publish-ready figures using the Newsjack chart room (the eval design system), then validate them with Playwright.

    1.5k GitHub stars~2k tokensUpdated yesterday
    Auto-check passed
  • AI Visibility Writing

    elvisun/newsjack

    Audit, question, suggest, or fact-preservingly revise a press release, blog post, contributed article, or expert explainer so AI answer systems can more easily retrieve, understand, quote, and cite…

    1.5k GitHub stars~2.6k tokensUpdated yesterday
    Auto-check passed
  • Icp Evidence Analysis

    elvisun/newsjack

    Turn a source-bound company and market dossier into testable ideal-customer-profile hypotheses, buying roles, triggers, constraints, disqualifiers, standing, counterevidence, and research gaps.

    1.5k GitHub stars~1.4k tokensUpdated yesterday
    Auto-check passed
  • Research any company, product, or service from a URL plus description and build a comprehensive, evidence-bound AEO/GEO/AI-visibility prompt panel across buyer jobs, information acts, journey…

    1.5k GitHub stars~3.1k tokensUpdated yesterday
    Auto-check passed
  • Reactive Comment

    elvisun/newsjack

    Triage inbound journalist source queries and draft a response only when the user's expertise is a real fit.

    1.5k GitHub stars~5.6k tokensUpdated yesterday
    Auto-check passed
  • Recover source-bound buyer jobs, struggling moments, desired progress, forces, workarounds, information acts, journey states, criteria, constraints, roles, locales, and authentic language.

    1.5k GitHub stars~1.4k tokensUpdated yesterday
    Auto-check passed

Works with

Categories

Questions about Coverage Tracker

What does Coverage Tracker do?

Run a Google Alerts-style keyword coverage tracker. An agent skill from elvisun/newsjack. Coverage Tracker is an agent skill from elvisun/newsjack. Run a Google Alerts-style keyword coverage tracker.

When should I use Coverage Tracker?

Coverage Tracker fits situations like: databases work in your project.

How do I install Coverage Tracker in Claude Code?

Run `npx skills add elvisun/newsjack --skill coverage-tracker -a claude-code`. Or copy the skill folder (skills/coverage-tracker in elvisun/newsjack) into .claude/skills/coverage-tracker in your project. Claude Code loads it when a task matches its description.

How do I install Coverage Tracker in Codex?

Run `npx skills add elvisun/newsjack --skill coverage-tracker -a codex`. Or copy the skill folder (skills/coverage-tracker in elvisun/newsjack) into .agents/skills/coverage-tracker in your project. Codex loads it when a task matches its description.

Can I use Coverage Tracker in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add elvisun/newsjack --skill coverage-tracker -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/coverage-tracker, .gemini/skills/coverage-tracker, .github/skills/coverage-tracker and .opencode/skills/coverage-tracker in your project.

What does Coverage Tracker need to run?

SKILL.md names no scripts, command-line tools or credentials: Coverage Tracker is instructions for the agent only.

Does Coverage Tracker access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Coverage Tracker safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Coverage Tracker use?

Coverage Tracker is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Coverage Tracker use?

About 2.1k tokens (SKILL.md is roughly 8.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Coverage Tracker?

Skills that share tags, products or a category with Coverage Tracker: Iptvnator Sqlite DB Worker (4gray/iptvnator, 7.3k stars), Analyze Nsys Profile (mlc-ai/pith-train, 355 stars), Reactive Sqlite UI (fastrepl/anarlog, 9.5k stars) and Composer Forensics (dxos/dxos, 525 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Coverage Tracker?

elvisun (a GitHub user) maintains it in elvisun/newsjack, which has 1,520 GitHub stars. The repository holds 30 skills in this directory. The repository was last updated on October 7, 2026.

Source: elvisun/newsjack on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.