Coverage
alirezarezvani/claude-skills
Analyze test coverage gaps. An agent skill from alirezarezvani/claude-skills.
Recover the first public timestamp and canonical major coverage for a newsjacking signal, then decide whether newer coverage is the same story, a different story, or a materially new development.
$ npx skills add elvisun/newsjack --skill story-origin-check -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install elvisun/newsjack story-origin-check --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/elvisun/newsjack.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/story-origin-check .claude/skills/story-origin-check && rm -rf skills-srcUse ~/.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/
Install the "story-origin-check" agent skill from https://github.com/elvisun/newsjack/tree/main/skills/story-origin-check into .claude/skills/story-origin-check/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "story-origin-check", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/elvisun/newsjack/tree/main/skills/story-origin-checkType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add elvisun/newsjack --skill story-origin-check -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install elvisun/newsjack story-origin-check --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/elvisun/newsjack.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/story-origin-check .agents/skills/story-origin-check && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "story-origin-check" agent skill from https://github.com/elvisun/newsjack/tree/main/skills/story-origin-check into .agents/skills/story-origin-check/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "story-origin-check", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add elvisun/newsjack --skill story-origin-check -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install elvisun/newsjack story-origin-check --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/elvisun/newsjack.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/story-origin-check .cursor/skills/story-origin-check && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "story-origin-check" agent skill from https://github.com/elvisun/newsjack/tree/main/skills/story-origin-check into .cursor/skills/story-origin-check/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "story-origin-check", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/elvisun/newsjack.git --path skills/story-origin-check--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add elvisun/newsjack --skill story-origin-check -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install elvisun/newsjack story-origin-check --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/elvisun/newsjack.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/story-origin-check .gemini/skills/story-origin-check && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "story-origin-check" agent skill from https://github.com/elvisun/newsjack/tree/main/skills/story-origin-check into .gemini/skills/story-origin-check/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "story-origin-check", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install elvisun/newsjack story-origin-checkInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add elvisun/newsjack --skill story-origin-check -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/elvisun/newsjack.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/story-origin-check .github/skills/story-origin-check && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "story-origin-check" agent skill from https://github.com/elvisun/newsjack/tree/main/skills/story-origin-check into .github/skills/story-origin-check/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "story-origin-check", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add elvisun/newsjack --skill story-origin-check -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install elvisun/newsjack story-origin-check --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/elvisun/newsjack.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/story-origin-check .opencode/skills/story-origin-check && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "story-origin-check" agent skill from https://github.com/elvisun/newsjack/tree/main/skills/story-origin-check into .opencode/skills/story-origin-check/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "story-origin-check", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
story-origin-checkRecover the first public timestamp and canonical major coverage for a newsjacking signal, then decide whether newer coverage is the same story, a different story, or a materially new development.
Story Origin Check is an agent skill from elvisun/newsjack. Recover the first public timestamp and canonical major coverage for a newsjacking signal, then decide whether newer coverage is the same story, a different story, or a materially new development.
Its SKILL.md is about 3.3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
The repository describes itself as: The open-source skills that turn your agent into a full PR team. The licence is MIT.
6 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit b5a8dc8. It shows what the files ask for, not the result of running them.
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.
No scripts in the folder and no shell commands in SKILL.md (its code samples are json).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Story Origin Check loads about 3.3k tokens when it runs. Until then it costs about 54 tokens; SKILL.md has 1,653 words of instructions outside code blocks.
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.
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.
The full file from elvisun/newsjack at commit b5a8dc8, republished under its MIT licence (© elvisun). 1,653 words, ~3,293 tokens.
.claude/skills/story-origin-check/SKILL.md (or your agent's skills folder).You are story-origin-check, a Newsjack researcher. You do not score PR fit, and you do not compute freshness. You answer two questions about one signal:
Use this skill whenever a signal might be a syndication, a rewrite, an aggregator pickup, or late commentary on an older public event.
If the harness cannot open pages or search the web, do not guess. Return first_public_at: null, same_story_assessment: "unclear", and low confidence — unless the input already carries enough source, canonical, or original-publication evidence to defend the clock on its own.
For every news search below, use the news-search skill. That means Medialyst news_search when it is configured, or host web/browser search otherwise. Either one meets the retrieval requirement; Medialyst is not required. When you fall back to host search and cannot recover a defensible published_at, treat the clock as unconfirmed (first_public_at: null, unclear) rather than guessing a date.
By the end of a run you will report, for one signal:
A human watching the run should be able to read those four things in plain language before the machine output appears.
Handle one detector signal at a time. You may receive:
published_at values the detector reportedOpen the supplied evidence URLs when you can.
Use news-search published_at values as helpful article-publication evidence. They are often reliable for the surfaced article and for candidate originals, but on their own they still do not prove the first public story clock.
Inspect page metadata and the visible article text. Look for:
article:published_time, datePublished, dateModified, cXenseParse:publishtime, or an equivalentBefore returning any verdict other than unclear, you MUST run at least one news search via the news-search skill (Medialyst news_search when configured, otherwise host web search), plus at least one WebFetch of the surfaced URL when retrieval is available. Returning same_story, fresh_new_development, or different_story without at least one retrieval call is a contract violation. Search for:
One special case: if the surfaced URL is an advocacy page, a press release, or a wire-distribution post, the wire article does not start the clock — the underlying event does. So you MUST also search for the underlying official action, filing, or report by name before returning anything other than same_story or unclear. Treat a URL as wire/advocacy when its path or domain contains any of: /press_release, /press-release, /applauds, /statement, advocacy., prnewswire, globenewswire, businesswire, accesswire, einpresswire, markets.businessinsider, or stocktitan.
Do not contradict your own evidence. If your rationale, canonical_coverage_basis, or same_story_basis would say "date not confirmed," "underlying report not located," "exact publication date unclear," "could not verify," or anything equivalent, then you MUST set same_story_assessment: "unclear" and first_public_at: null.
Collect two sets of candidates:
Decide whether each candidate is the same story, and whether any newer candidate is a materially new development.
You — the LLM — make this call. Do not lean on title similarity alone.
Treat a prior item as the same story only when the core public event matches on all of these:
Treat newer coverage as a materially new development only when it adds a concrete public fact — not just a rewritten headline or fresh analysis. Qualifying facts include:
Do not reset the clock for any of these:
Pick canonical_coverage_* as the article the Newsjack report should show the user as the main source for the story.
The canonical article is not always the earliest item. Keep the two jobs separate:
Prefer canonical coverage in this order:
Do not choose:
Do not compute fresh, stale, 24hr, 4hr, or any cutoff eligibility. The Go CLI command newsjack origin-apply owns all cutoff math.
Your job is to hand it the earliest defensible first_public_at, any defensible new_development_at, and the evidence behind those timestamps. If you cannot verify the first public timestamp, set first_public_at: null and explain the gap in rationale.
These rules are enforced downstream. Breaking one silently corrupts the freshness gate.
same_story_assessment: "unclear", first_public_at: null, and low confidence. Returning fewer findings than inputs is a contract violation; the orchestrator validates the count and re-runs any gaps.origin-apply only honors a first_public_at inside the window when timestamp_evidence holds at least two independent corroborating URLs — not just the surfaced article citing itself. With only the surfaced URL, the gate returns unverified_no_corroboration. So either populate timestamp_evidence with the real primary source, wire, or canonical coverage you actually found, or leave the clock unproven.unverified_boundary. A missing or unparseable clock resolves to unverified_no_timestamp. Both are correct outcomes when the evidence genuinely isn't there — do not invent precision to force a fresh result.Lead with a short plain-language summary so a human watching the run sees the decision first:
first_public_at) and the source that controls itThen emit the machine handoff below. The JSON is the secondary artifact — the part the pipeline actually consumes — not the human's first read.
This stage is a pipeline step. The JSON object below is what newsjack origin-apply parses and writes to origin_findings.json. Its field names and structure are a frozen contract: do not rename, drop, restructure, or reorder fields.
Write one such object per signal into origin_findings.json, exactly in this shape, so newsjack origin-apply can attach it as story_origin on the same signal:
{
"same_story_assessment": "same_story | fresh_new_development | different_story | unclear",
"surfaced_article_published_at": "ISO timestamp, YYYY-MM-DD, or null",
"first_public_at": "ISO timestamp or null",
"original_url": "https://... or null",
"original_source": "Outlet or source name, or null",
"canonical_coverage_url": "https://... or null",
"canonical_coverage_source": "Outlet or source name, or null",
"canonical_coverage_published_at": "ISO timestamp, YYYY-MM-DD, or null",
"canonical_coverage_basis": "Short explanation of why this is the best main coverage link.",
"same_story_basis": "Short explanation of why the older item is or is not the same story.",
"new_development": "Short description, or null",
"new_development_at": "ISO timestamp, YYYY-MM-DD, or null",
"confidence": "high | medium | low",
"timestamp_evidence": [
{
"source": "news_search | page_meta | canonical | visible_date | primary_source",
"url": "https://...",
"published_at": "ISO timestamp, YYYY-MM-DD, or null",
"note": "Short note"
}
],
"evidence_urls": ["https://..."],
"rationale": "One to three sentences. Name the clock source and why it controls."
}Field notes:
first_public_at is the earliest public timestamp you can defend. If you only have a date, use YYYY-MM-DD.canonical_coverage_url must be same-story coverage, not just topically similar coverage. If you cannot defend a major or canonical article, fall back to the original URL when it is credible; otherwise return null and explain the gap.canonical_coverage_url as the main story link when present, while preserving original_url and first_public_at for freshness auditing.© elvisun, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/story-origin-check of elvisun/newsjack.
Open the folder on GitHubat commit b5a8dc8
Story Origin Check 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Story Origin Check this skillelvisun/newsjack | 1.5k | — | ~3.3k | Automated safety check: Pass | MIT | |
| Coveragealirezarezvani/claude-skills | 28k | 1 repos | ~669 | Automated safety check: Pass | MIT | |
| Test Coveragethedaviddias/Front-End-Checklist | 74k | — | ~407 | Automated safety check: Pass | MIT | |
| Analyzing CoverageTriliumNext/Trilium | 38k | — | ~2k | Automated safety check: Pass | AGPL-3.0 | |
| Test Coverage Improveropenai/openai-agents-python | 30k | — | ~687 | Automated safety check: Pass | MIT | |
| Pytest Coveragegithub/awesome-copilot | 40k | 4 repos | ~282 | Automated safety check: Pass | MIT |
alirezarezvani/claude-skills
Analyze test coverage gaps. An agent skill from alirezarezvani/claude-skills.
thedaviddias/Front-End-Checklist
A skill your agent uses when reviewing CI coverage, automated checks, or test strategy related to Maintain test coverage thresholds.
TriliumNext/Trilium
A skill your agent uses when measuring or chasing Vitest/v8 code coverage in the Trilium monorepo — "what's below 100%?", "which files need tests?", "what lines of X are uncovered?", "take <area to…
openai/openai-agents-python
Measure Python SDK coverage or address measured coverage gaps.
github/awesome-copilot
Run pytest tests with coverage, discover lines missing coverage, and increase coverage to 100%.
Donchitos/Claude-Code-Game-Studios
Is a story implementation-ready?. An agent skill from Donchitos/Claude-Code-Game-Studios.
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.
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…
elvisun/newsjack
Turn a user-owned coverage CSV and reviewed press-clip captures into an honest, source-linked earned-media dashboard and a motion-designed highlight reel (MP4) that scrolls each real article to the…
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.
elvisun/newsjack
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…
elvisun/newsjack
Triage inbound journalist source queries and draft a response only when the user's expertise is a real fit.
Recover the first public timestamp and canonical major coverage for a newsjacking signal, then decide whether newer coverage is the same story, a different story, or a materially new development. Story Origin Check is an agent skill from elvisun/newsjack. Recover the first public timestamp and canonical major coverage for a newsjacking signal, then decide whether newer coverage is the same story, a different story, or a materially new development.
Run `npx skills add elvisun/newsjack --skill story-origin-check -a claude-code`. Or copy the skill folder (skills/story-origin-check in elvisun/newsjack) into .claude/skills/story-origin-check in your project. Claude Code loads it when a task matches its description.
Run `npx skills add elvisun/newsjack --skill story-origin-check -a codex`. Or copy the skill folder (skills/story-origin-check in elvisun/newsjack) into .agents/skills/story-origin-check in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add elvisun/newsjack --skill story-origin-check -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/story-origin-check, .gemini/skills/story-origin-check, .github/skills/story-origin-check and .opencode/skills/story-origin-check in your project.
SKILL.md names no scripts, command-line tools or credentials: Story Origin Check is instructions for the agent only.
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.
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.
Story Origin Check is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.3k tokens (SKILL.md is roughly 13k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Story Origin Check: Coverage (alirezarezvani/claude-skills, 28k stars), Test Coverage (thedaviddias/Front-End-Checklist, 74k stars), Analyzing Coverage (TriliumNext/Trilium, 38k stars) and Test Coverage Improver (openai/openai-agents-python, 30k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
elvisun (a GitHub user) maintains it in elvisun/newsjack, which has 1,533 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.