Agent skill

News Collection

by notque in notque/vexjoy-agent

Collect, filter, and freshness-qualify news items. An agent skill from notque/vexjoy-agent.

MITAuto-check passed

Install News Collection

skills CLI
$ npx skills add notque/vexjoy-agent --skill news-collection -a claude-code

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

GitHub CLI
$ gh skill install notque/vexjoy-agent news-collection --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/notque/vexjoy-agent.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/research/news-collection .claude/skills/news-collection && 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
news-collection
GitHub stars
441
Token cost
~2.4k tokens
SKILL.md length
1,101 words
Files
1
Skills in repo
61
Repo updated
First seen
Licence
MIT

At a glance

Collect, filter, and freshness-qualify news items. An agent skill from notque/vexjoy-agent.

  • Works in 4 steps: COLLECT → COARSE FILTER → FRESHNESS CHECK → …
  • SKILL.md covers Instructions, Error Handling, Evidence Contract and Coarse Filter, plus 1 more section
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

News Collection is an agent skill from notque/vexjoy-agent. Collect, filter, and freshness-qualify news items.

Its SKILL.md is about 2.4k 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: VexJoy AI Agent with Jev Intelligent Routing - /do routes plain-English requests to the right specialist agent and gates the work with reviews, tests, and a learning loop. The licence is MIT.

Example prompts

  • “/news-collection”

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. COLLECT
  2. COARSE FILTER
  3. FRESHNESS CHECK
  4. DELIVER

What it can do on your machine

Read from SKILL.md and the folder at commit 5218674. 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).

    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

News Collection loads about 2.4k tokens when it runs. Until then it costs about 17 tokens; SKILL.md has 1,101 words of instructions outside code blocks.

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

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 notque/vexjoy-agent at commit 5218674, republished under its MIT licence (© notque). 1,101 words, ~2,413 tokens.

Download SKILL.mdSave it as .claude/skills/news-collection/SKILL.md (or your agent's skills folder).
name
news-collection
description
Collect, filter, and freshness-qualify news items.
promoted_to
content
user-invocable
false
routing.triggers
news collection, collect news, qualify news items, news triage, filter news feed, check news freshness
routing.not_for
general research reports — that is research-pipeline. Pick this when the input is a stream of news items to qualify for a content pipeline.
routing.pairs_with
research
routing.complexity
Medium
routing.category
research

News Collection

Gather news items on a topic, filter junk cheaply, verify freshness, and emit qualified items under an evidence contract. Pipeline-shaped: four phases, a gate between each. Content pipelines consume the JSON artifact; pair with fact-check to verify what this skill qualifies.

Instructions

Phase 1: COLLECT

Goal: gather candidate items from available sources (feeds, search results, provided fixtures). Every item carries the five-fact evidence contract: title, url, outlet, author, published_at.

Rule (verbatim from the design): publish times are extracted (article metadata), never guessed; missing timestamp → recorded as unknown, confidence lowered and disclosed. A guessed timestamp poisons every downstream freshness verdict; an honest "published_at": null keeps the item usable with known uncertainty.

Record each item as one JSON object per the item schema below. Fill evidence_notes with where each fact came from (meta tag, byline, JSON-LD, sitemap).

Distinguish outcomes: zero items because sources were unreachable is a collection failure (report it, stop); zero items from reachable sources is a valid empty feed (deliver an empty artifact with counts of zero).

Gate: every collected item has all five fields present — value or explicit null with a confidence downgrade and a disclosure note. Items with silent gaps stay in COLLECT until the gap is recorded.

Phase 2: COARSE FILTER

Goal: cheap, high-recall pass over collected items. Three verdicts: keep / monitor_only / reject, each with a reason code (see Coarse Filter below).

Rule (verbatim from the design): high-magnitude stories are downgraded to monitor_only at most, never rejected — a false keep is cheap, a silent drop is expensive. A keep costs one extra freshness check; a wrongly dropped major story costs the whole pipeline its value.

This phase runs on a cheap model when dispatched -- it needs recall, not judgment depth. Give the dispatched model: topic, verdict/code tables, asymmetry rule, and items' five facts plus a text excerpt.

Gate: every item has exactly one verdict and one reason code. reject verdicts on items that look high-magnitude get re-checked once before the phase closes.

Phase 3: FRESHNESS CHECK

Goal: for each keep and monitor_only item, establish when the story first became public and whether this page is the original coverage.

  • First-public time vs page date -- a page can carry today's date on old news.
  • Syndication and aggregator reposts detected; select the canonical coverage.
  • Same-story vs new-development rubric -- consolidate duplicates, keep genuine developments. See Freshness Forensics below.

Rule (verbatim from the design): two independent sources or verdict "unclear". Conservative default: unclear over guessed. An "unclear" verdict is recoverable downstream; a confidently wrong "fresh" verdict ships stale news.

Gate: every surviving item carries freshness: fresh | stale | unclear, a first_public_estimate (or null), and the count of sources backing the verdict. Duplicate clusters are consolidated to one canonical item with duplicates_of links.

Phase 4: DELIVER

Goal: emit qualified items as a structured JSON artifact (see Artifact Schema below) plus a summary table. Every verdict state appears in the artifact — monitor_only, unclear, and reject items ship with their verdicts rather than vanishing, so consumers see the full triage.

Gate (deterministic phase checkpoint — emit this table before delivering the artifact; delivery without it is incomplete):

VerdictCount
keepn
monitor_onlyn
rejectn
unclear (freshness)n
duplicates consolidatedn

The counts make silent drops visible: collected total must equal keep + monitor_only + reject. If it does not, return to the phase that lost items.

Error Handling

No items collected

  • Cause: sources unreachable, or feed genuinely empty.
  • Solution: unreachable sources → report collection failure and stop; reachable but empty → deliver an empty artifact with zero counts. The two outcomes stay distinct so an outage is not read as a quiet news day.

No timestamp found anywhere for an item

  • Cause: page has no metadata, byline date, or sitemap entry.
  • Solution: set published_at: null, confidence: low, disclose in evidence_notes; freshness verdict for that item is unclear.

Two sources disagree on first-public time

  • Cause: syndication chain or republished update.
  • Solution: apply canonical-coverage selection (references/freshness-forensics.md); if still split, verdict unclear.

Item count mismatch at DELIVER

  • Cause: an item was dropped without a verdict.
  • Solution: diff item ids against the COLLECT record; assign the missing item a verdict with reason code.

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

Evidence Contract

Every collected item carries five facts:

FactTypeMissing value handling
titlestringEmpty string only if page truly has none; note in evidence_notes
urlstringRequired -- no URL means unverifiable; exclude from artifact
outletstringDerive from domain when no masthead found; note derivation
authorstring or nullnull when no byline; note where you looked
published_atISO 8601 or nullExtracted from metadata, never guessed. null when absent; lower confidence, disclose

Confidence: high (all five extracted), medium (one derived or weak), low (published_at null or 2+ derived).

Item Schema
json
{
  "id": "string", "title": "string", "url": "string",
  "outlet": "string", "author": "string|null",
  "published_at": "ISO 8601|null", "confidence": "high|medium|low",
  "evidence_notes": "string", "verdict": "keep|monitor_only|reject",
  "reason_code": "string", "freshness": "fresh|stale|unclear|null",
  "first_public_estimate": "ISO 8601|null",
  "freshness_sources": "integer", "duplicates_of": "string id|null"
}
Artifact Schema
json
{
  "schema_version": "1.0", "topic": "string",
  "collected_at": "ISO 8601",
  "counts": {"collected":0,"keep":0,"monitor_only":0,"reject":0,"unclear_freshness":0,"duplicates_consolidated":0},
  "items": []
}

Conservation rule: collected == keep + monitor_only + reject.


Coarse Filter

VerdictMeaningGoes to freshness check
keepOn-topic, substantive, plausibly freshYes
monitor_onlyWorth watching: off-topic but high-magnitude, thin, or uncertainYes
rejectJunk: spam, ads, dead pages, clearly irrelevantNo

Asymmetry rule: high-magnitude stories downgrade to monitor_only at most, never reject. A false keep is cheap; a silent drop is expensive.

Reason Codes
CodePairs withMeaning
RC-ONTOPICkeepDirectly on topic
RC-DEVkeepNew development of known story
RC-OFFTOPIC-BIGmonitor_onlyOff-topic but high-magnitude
RC-THINmonitor_onlyOn-topic but little substance
RC-UNCERTAINmonitor_onlyRelevance unclear
RC-SPAMrejectPromotional, SEO bait
RC-IRRELEVANTrejectOutside topic, low magnitude
RC-NOCONTENTrejectDead link, paywall stub, empty page

Freshness Forensics

First-public time vs page date

A syndicated repost or refreshed CMS page can carry today's date on old news. Establish first-public time from (in trust order):

  1. Article metadata (article:published_time, JSON-LD datePublished) on the originating outlet's page.
  2. Earliest published_at across collected items covering the same story.
  3. In-text anchors ("announced Tuesday") tied to a known date.

Two independent sources or verdict unclear. Independent means separately reported -- two copies of the same wire story count as one.

VerdictCondition
freshTwo sources put first-public time inside the freshness window
staleTwo sources put it outside, or page repackages older coverage
unclear<2 sources, conflicting evidence, or no usable timestamp
Syndication detection

Signals of a repost: wire credit in byline, rel=canonical pointing elsewhere, body near-identical to an earlier item, aggregator framing ("read more at"), outlet with no original bylines across beats. A repost inherits the original's first-public time.

Canonical-coverage selection

When several items cover one story, deliver one canonical item, link the rest via duplicates_of. Pick canonical by: originating outlet > earliest published_at > most complete five-fact record.

Same-story vs new-development
QuestionSame story (consolidate)New development (keep separate)
New named facts?NoYes
New primary source?NoYes
Event advanced?NoYes
Only framing/outlet changed?Yes--

Two+ "new development" answers = separate item.

© notque, 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/research/news-collection of notque/vexjoy-agent.

Open the folder on GitHubat commit 5218674

Compare with similar skills

News Collection 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.

News Collection compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
News Collection this skillnotque/vexjoy-agent441—~2.4kAutomated safety check: PassMIT
Content Freshness Signalsthedaviddias/Front-End-Checklist74k—~741Automated safety check: PassMIT
Filterzalando/skipper3.3k—~527Automated safety check: PassMIT
Competitor News MonitorNousResearch/hermes-agent252k—~1.2kAutomated safety check: PassMIT
Newsalsk1992/CloddsBot3k—~462Automated safety check: PassMIT
Agent Collective Intelligence Coordinatorruvnet/ruflo74k2 repos~1kAutomated safety check: PassMIT

Similar skills

  • Content Freshness Signals

    thedaviddias/Front-End-Checklist

    Audits article pages for freshness signals, covering the Last-Modified header, Article JSON-LD dateModified and a visible last-updated date, and fixes mismatches.

    74k GitHub stars~741 tokensUpdated 3 days ago
    Marketing & SEOAuto-check passed
  • Filter

    zalando/skipper

    Create or modify code in the filters package and all its sub-folders

    3.3k GitHub stars~527 tokensUpdated today
    DevOps & CloudAuto-check passed
  • Competitor News Monitor

    NousResearch/hermes-agent

    Watch named companies for material news; cited digests. An agent skill from NousResearch/hermes-agent.

    252k GitHub stars~1.2k tokensUpdated today
    Auto-check passed
  • News

    alsk1992/CloddsBot

    Monitor news and correlate with prediction market movements. An agent skill from alsk1992/CloddsBot.

    3k GitHub stars~462 tokensUpdated 7 days ago
    Auto-check passed
  • Agent skill for collective-intelligence-coordinator - invoke with $agent-collective-intelligence-coordinator

    74k GitHub starsUsed in 2 repos~1k tokens
    Auto-check passed
  • Collection Digest

    outline/outline

    Summarize what changed in an Outline collection since a date; use when the user asks what is new, what was updated, or wants a digest of recent documents.

    41k GitHub stars~498 tokensUpdated today
    Knowledge ManagementAuto-check passed

More from notque/vexjoy-agent

All 61 skills in this repo
  • Game Asset Generator

    notque/vexjoy-agent

    Deterministic palette/matrix pixel art (not AI). An agent skill from notque/vexjoy-agent.

    441 GitHub stars~2.3k tokensUpdated today
    Auto-check: notes
  • PR Workflow

    notque/vexjoy-agent

    Pull request lifecycle: commit, codex review, sync, review, fix, status, cleanup, and PR mining.

    441 GitHub stars~2.8k tokensUpdated today
    Auto-check: notes
  • Architecture Deepening

    notque/vexjoy-agent

    Improve architecture across modules by deepening interfaces.

    441 GitHub stars~3.3k tokensUpdated today
    Auto-check: notes
  • Code Quality

    notque/vexjoy-agent

    Code quality: cleanup, linting, formatting, quality gates. An agent skill from notque/vexjoy-agent.

    441 GitHub stars~1.5k tokensUpdated today
    Auto-check: notes
  • Codebase Analyzer

    notque/vexjoy-agent

    Statistical rule discovery from Go codebase patterns. An agent skill from notque/vexjoy-agent.

    441 GitHub stars~2k tokensUpdated today
    Auto-check: notes
  • Comment Quality

    notque/vexjoy-agent

    Review and fix temporal references in code comments. An agent skill from notque/vexjoy-agent.

    441 GitHub stars~2k tokensUpdated today
    Auto-check: notes

Questions about News Collection

What does News Collection do?

Collect, filter, and freshness-qualify news items. An agent skill from notque/vexjoy-agent. News Collection is an agent skill from notque/vexjoy-agent. Collect, filter, and freshness-qualify news items.

How do I install News Collection in Claude Code?

Run `npx skills add notque/vexjoy-agent --skill news-collection -a claude-code`. Or copy the skill folder (skills/research/news-collection in notque/vexjoy-agent) into .claude/skills/news-collection in your project. Claude Code loads it when a task matches its description.

How do I install News Collection in Codex?

Run `npx skills add notque/vexjoy-agent --skill news-collection -a codex`. Or copy the skill folder (skills/research/news-collection in notque/vexjoy-agent) into .agents/skills/news-collection in your project. Codex loads it when a task matches its description.

Can I use News Collection 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 notque/vexjoy-agent --skill news-collection -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/news-collection, .gemini/skills/news-collection, .github/skills/news-collection and .opencode/skills/news-collection in your project.

What does News Collection need to run?

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

Does News Collection 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 News Collection 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 News Collection use?

News Collection 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 News Collection use?

About 2.4k tokens (SKILL.md is roughly 9.7k 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 News Collection?

Skills that share tags, products or a category with News Collection: Content Freshness Signals (thedaviddias/Front-End-Checklist, 74k stars), Filter (zalando/skipper, 3.3k stars), Competitor News Monitor (NousResearch/hermes-agent, 252k stars) and News (alsk1992/CloddsBot, 3k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains News Collection?

notque (a GitHub user) maintains it in notque/vexjoy-agent, which has 441 GitHub stars. The repository holds 61 skills in this directory. The repository was last updated on October 9, 2026.

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