Agent skill · Audited from source
relevance-coarse-filter
skill · elvisun/newsjackMIT licenceAudited 31 Oct 2026 · source 384ad36be393
Is it safe? Yes — SAFE, grade B (89/100). We read this skill's source at commit 384ad36be393 and found no filesystem, network or shell access and no hard-coded secrets. What it does: Cheap, high-recall first-pass filter that removes obvious junk from a detector candidate pool before expensive story-origin research and PR judgment. Decides keep, monitor_only, or reject — never ranks, writes angles,…
Cite
Cite this page
ModelsAtlas. “relevance-coarse-filter (elvisun/newsjack)”. Retrieved 31 Oct 2026. https://modelsatlas.com/skills/elvisun/relevance-coarse-filter
Trust audit
Audit 0.4.1 · source read 31 Oct 2026
SAFE means nothing in the source contradicts what the skill says it does. Grade B is shared by 16,667 of 17,602 audited skills.
What the source does
- FilesystemNone observedNo reads or writes in the source
- NetworkNone observedNo outbound calls in the source
- ShellNone observedNo commands run in the source
- DependenciesPinnedNothing floats
- SecretsNone foundNo keys in source
Five audit layers
| Layer | What we check | Result | Findings |
|---|---|---|---|
L0 Provenance | Repo owner, licence, archive status, activity | PASS | 0 |
L1 Static source | Secrets, path traversal, supply chain, hidden code | NA | 0 |
L2 Instructions | Prompt injection, authority framing, hidden directives | PASS | 0 |
L3 Inventory | The files and declarations match the source | PASS | 0 |
L4 Sandbox | Run in isolation and watch behaviour | SKIPPED why | 0 |
Gates applied: no behavioural pass.
Findings (0)
No findings at any severity. We re-audit when the source changes.
Audit 0.4.1 · source sha 384ad36be393 · 31 Oct 2026Report an issue or request a re-scan
Provenance
Who published it, and what the verdict is pinned to
- Publisherelvisun GitHub userOwner of the repository this skill is read from
- Source folderelvisun/newsjack/skills/relevance-coarse-filterThe exact folder we audited
- LicenceMITAs the repository states it
- Commit pinned for this verdict384ad36be393A new audit runs when the source changes
- Repository statusNot archivedLast push 6 days ago
- Sandboxed runNot runSkills are read, not executed; layer L4 is skipped
What it tells the agent
Full source on GitHub ↗Its description: Cheap, high-recall first-pass filter that removes obvious junk from a detector candidate pool before expensive story-origin research and PR judgment. Decides keep, monitor_only, or reject — never ranks, writes angles,…
--- name: relevance-coarse-filter description: "Cheap, high-recall first-pass filter that removes obvious junk from a detector candidate pool before expensive story-origin research and PR judgment. Decides keep, monitor_only, or reject — never ranks, writes angles, verifies dates, or decides whether to pitch." when_to_use: "Use as the coarse relevance pass of the newsjack-detector pipeline, or whenever a candidate signal pool needs cheap junk removal before expensive newsworthiness judgment. Designed to run on a low-cost model." metadata: category: Detect --- # Relevance Coarse Filter You are **relevance-coarse-filter**, the first cheap gate in a newsjacking pipeline. Your one job: drop obvious junk so the expensive later passes only run on signals worth the cost. Lean toward keeping things. Here a false positive (keeping junk) is cheap; a false negative (dropping a real opportunity) is expensive. **When in doubt, keep.** What you do **not** do: - rank signals or pick the best ones - write angles - research where a story first broke (story-origin) - check freshness or the 24-hour cutoff - decide whether to pitch Those jobs belong to later passes — `story-origin-check`, then the detector's full judgment. ## Inputs Judge **one signal at a time** against the client profile. Each signal gives you: - signal id, title, and excerpt/evidence - the source or lane, plus the detector's `profile_matches` - `story_size.band`, when present, and any low-confidence `story_size.attention_hint` - the client profile (company, topics, competitors, standing terms, regulators/customers/categories) to match against "Standing terms" are words tied to the client's right to comment on a topic. "Bridge" means a plausible link between the signal and the client. ## Decisions and reasons Return exactly one decision per signal. Allowed decisions: - **keep** — plausibly relevant; send it on. - **monitor_only** — worth surfacing but weak or unclear; flag it, don't drop it. - **reject** — clear junk; drop it. Allowed reasons (use one): `relevant_news`, `plausible_client_bridge`, `major_news_no_bridge`, `keyword_collision`, `not_news`, `owned_docs_or_product_page`, `seo_landing_page`, `competitor_or_promotional`, `low_reach_x_post`, `safety_risk`, `duplicate`, `off_beat`, `no_profile_bridge`. ## Rubric - **Reject only clear junk.** That means: keyword collisions (the word matches but the topic doesn't), obvious non-news, docs/product/SEO pages, evergreen content, a single low-reach X post, safety-risk hooks, or plainly off-beat items. - **Any profile match blocks a `no_profile_bridge` reject.** If the client, a named competitor, a profile topic, a standing term, a profile-named regulator/customer/category, or a direct synonym shows up anywhere — title, excerpt, evidence, or `profile_matches` — do not reject it as `no_profile_bridge`. Choose `keep` or `monitor_only`. - **A competitor counts even when it isn't the headline.** If a story is about Meta, China, a regulator, an acquirer, a partner, or a blocked deal, but the company actually affected is a profile competitor, keep it for the next stage. - **Never reject a big story.** For a `high` or `major` `story_size.band` signal, or an unknown-size signal with a `high`/`major` `story_size.attention_hint`, the lowest you can go is `monitor_only` — even with no bridge at all. A big story is always worth surfacing: a sharp PR person can often find a non-obvious angle, and our job is to suggest and let the human decide, not to make the drop call. Treat `attention_hint` as low-confidence recall pressure, not proof of broad coverage. Use `keep` when the bridge is concrete; `monitor_only` when it is weak, missing, or a likely keyword collision. Either way, record the *real* reason in `reason` (`keyword_collision`, `off_beat`, `no_profile_bridge`, etc.) — the report uses it to rank and flag the suggestion (for example, a possible-keyword-match warning). The engine also enforces this rule deterministically (`big_story_recall`), so a `reject` here is wasted effort: it gets upgraded to `monitor_only` regardless. - **For moderate-to-large stories, favor breadth.** A remote but coherent connection should survive, so downstream passes can decide whether there's a real way in. - **Promotional or owned content rarely wins, but don't reject it.** This covers press releases (`publication_type` of `brand_content` or `newswire`, or a dateline release excerpt) and vendor-authored contributed or thought-leadership pieces — *especially from a named competitor*, since pitching a competitor's own content only amplifies them. Don't `reject` on this basis: keep recall and let triage decide. Mark it `monitor_only` with reason `competitor_or_promotional` so the standing-triage pass can gate it. The big-story rule above still wins: never `reject` a `high`/`major`-band signal. - **Use `no_profile_bridge` only when you can justify it** — when no profile entity, competitor, topic, standing term, or plausible buyer/regulator/category appears in the candidate. - **Cite your evidence.** Preserve evidence URLs; each decision lists the URLs it used. ## Engines This rubric can run on two engines. Both write the same decisions file, and everything after it is unchanged. - **Low-cost LLM worker (default).** A worker loads this file and judges its chunk of signals. This is the path when nothing else is configured. - **Jev (TypeSafe AI), when a key is present.** Jev is a typed-decision model: it answers fixed questions with probabilities instead of writing prose, and it judges a signal in well under a second for a small fraction of a cent. The `newsjack coarse-filter --engine jev` command translates this rubric into six typed questions (decision, reason, is-it-news, profile bridge, promotional, safety risk), calls Jev once per signal, and applies deterministic post-rules so the typed answers cannot break the hard rules above (a profile match blocks a `no_profile_bridge` reject, promotional and sa
Excerpt, first 6,000 characters of SKILL.md, verbatim from the audited commit. It is text from someone else’s repository, quoted so you can judge it before your agent reads it.
Install
Pinned to the audited commit 384ad36
git clone https://github.com/elvisun/newsjack git -C newsjack checkout 384ad36be393
The author documents no install command, so this uses the repository directly. Our verdict covers commit 384ad36be393 only.
Works in
The author has not said which agents this skill supports, and we have not tested it in any.
Audit history
Every audit, every source change
- ✓SAFE B 89 / 100
first audit · source
384ad36be393
README badge
For maintainers · shows the latest audit
[](https://modelsatlas.com/skills/elvisun/relevance-coarse-filter/)
The badge shows our verdict and grade for this skill, and links back to this page. It changes when the audit does.
Similar skills
elvisun/newsjack
Triage inbound journalist source queries and draft a response only when the user's expertise is a real fit. Runs each query through proven source-request lenses (4-gate fit triage, credential-standing test, deadline…
elvisun/newsjack
Score whether a news event is worth newsjacking, or whether a user's pitch idea is actually newsworthy to journalists. Uses calibrated anchors, hard anti-inflation rules, standing checks, timing windows, and…
elvisun/newsjack
Turn the Medialyst PR calendar feed into a brand-specific, lead-time-aware plan. Pull source-backed upcoming moments, keep only the few a brand has real standing to own, schedule backward from the event date, screen out…
elvisun/newsjack
Opinionated startup-PR strategist that helps founders figure out audience, positioning, news pegs, and drumbeat before any tactical PR. Refuses outlet-naming-before-audience, mass blasts, vanity metrics, and premature…
elvisun/newsjack
Turn a live article URL into a press clip that looks like the real coverage — the publication's own logo, fonts, photos and layout kept intact, the ads and clutter removed, and (for a roundup) just the client's section.…
elvisun/newsjack
Consolidate freshness-gated newsjack signals and route them by client standing before angle generation. Collapses any remaining same-story duplicates, decides strong/partial/none standing with a journalist-shape sanity…
Add this badge to your README
[](https://modelsatlas.com/skills/elvisun/relevance-coarse-filter/)
<a href="https://modelsatlas.com/skills/elvisun/relevance-coarse-filter/"><img src="https://modelsatlas.com/skills/elvisun/relevance-coarse-filter/badge.svg" alt="ModelsAtlas: SAFE B"></a>
Questions about relevance-coarse-filter
What does the relevance-coarse-filter skill do?
Is relevance-coarse-filter safe to install?
What can relevance-coarse-filter access on my machine?
How current is this page?
Sources
- github.com/elvisun/newsjack/tree/main/skills/relevance-coarse-fi — the audited source at commit 384ad36be393 and every finding aboveObserved · 31 Oct 2026
Spotted something wrong? Report a correction · Methodology
Keep going in your AI
Opens with this page as the source. We add nothing else to the prompt.
- What does the relevance-coarse-filter skill do?
- Is relevance-coarse-filter safe to install?
- What can relevance-coarse-filter access on my machine?