Agent skill

Headline Filter Map Reduce

by mrmps in mrmps/classifier-dev

Filter hundreds or thousands of headlines, search results or feed items against a written brief before opening any of them, using a two-stage cascade that spends a fast model on everything and a…

MITAuto-check passed

Install Headline Filter Map Reduce

skills CLI
$ npx skills add mrmps/classifier-dev --skill headline-filter-map-reduce -a claude-code

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

GitHub CLI
$ gh skill install mrmps/classifier-dev headline-filter-map-reduce --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/mrmps/classifier-dev.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/headline-filter-map-reduce .claude/skills/headline-filter-map-reduce && 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
headline-filter-map-reduce
GitHub stars
424
Token cost
~1.5k tokens
SKILL.md length
644 words
Files
1
Skills in repo
21
Repo updated
First seen
Licence
MIT

At a glance

Filter hundreds or thousands of headlines, search results or feed items against a written brief before opening any of them, using a two-stage cascade that spends a fast model on everything and a…

  • Works in 4 steps: one item per line → the brief goes in instructions → cascade the middle band → …
  • A monitoring run
  • SKILL.md covers When not to use it, Step 1: one item per line, Step 2: the brief goes in… and Step 3: cascade the middle band, plus 4 more sections
  • Calls jq; reaches lobste.rs

What it does

Headline Filter Map Reduce is an agent skill from mrmps/classifier-dev. Filter hundreds or thousands of headlines, search results or feed items against a written brief before opening any of them, using a two-stage cascade that spends a fast model on everything and a reasoning model only on the borderline band. Use when a monitoring run, feed sweep or search returns more items than are worth reading. Triggers on "which of these are relevant", "filter this feed", "go through these headlines", "anything here about X", "catch me up on".

Its SKILL.md is about 1.5k 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: Zero-shot text classification over plain HTTP — no API key, no account. One Cloudflare Worker, a CLI, and an MCP server. https://classifier.dev. The licence is MIT.

When your agent uses it

  • A monitoring run
  • Search returns more items than are worth reading
  • Which of these are relevant
  • Filter this feed

Example prompts

  • “which of these are relevant”
  • “filter this feed”
  • “go through these headlines”
  • “/headline-filter-map-reduce”

Requirements

  • Python 3
  • Node.js

Workflow steps

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

  1. one item per line
  2. the brief goes in instructions
  3. cascade the middle band
  4. the reduce

What it can do on your machine

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

    Shell commands in SKILL.md call:

    • jq

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

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • lobste.rs

    Also links to:

    • classifier.dev

    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

Headline Filter Map Reduce loads about 1.5k tokens when it runs. Until then it costs about 123 tokens; SKILL.md has 644 words of instructions outside code blocks.

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

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 mrmps/classifier-dev at commit b9211dd, republished under its MIT licence (© mrmps). 644 words, ~1,493 tokens.

Download SKILL.mdSave it as .claude/skills/headline-filter-map-reduce/SKILL.md (or your agent's skills folder).
name
headline-filter-map-reduce
description
Filter hundreds or thousands of headlines, search results or feed items against a written brief before opening any of them, using a two-stage cascade that spends a fast model on everything and a reasoning model only on the borderline band. Use when a monitoring run, feed sweep or search returns more items than are worth reading. Triggers on "which of these are relevant", "filter this feed", "go through these headlines", "anything here about X", "catch me up on".
license
MIT

Filter a feed before you read it

Reading 500 headlines to keep 8 costs more context than the 8 are worth, and fetching the articles costs more still. Classify the titles first: one call labels every item against your brief and returns a calibrated confidence, so you open only what survives.

classifier.dev is keyless and free. It never writes text — the summary at the end of the run is still yours to write.

When not to use it

Skip it under about 20 items, which you can judge for less than the round trip. Skip it when relevance depends on the body rather than the title: classify a snippet or first paragraph instead, or accept that a vague title is a coin flip. It is not a search engine; it ranks what you already have.

Step 1: one item per line

python
import re, html, urllib.request
x = urllib.request.urlopen(urllib.request.Request(
    "https://lobste.rs/rss", headers={"user-agent": "feedfilter/1.0"})).read().decode()
titles = [html.unescape(" ".join(t.split()))
          for t in re.findall(r"<title>(?:<!\[CDATA\[)?(.*?)(?:\]\]>)?</title>", x, re.S)][1:]
open("headlines.txt", "w").write("\n".join(titles) + "\n")

Dedupe before you classify — the same story lands in four feeds, and you pay per item.

Step 2: the brief goes in instructions

npm i -g classifier-dev@0.1.3
BRIEF="Relevant means the item is about the cost, hardware or energy of running
AI models: chips, accelerators, inference cost, data centre power. Model
releases, funding rounds and policy are not relevant."

classify relevant,"not relevant" -i "$BRIEF" --json < headlines.txt > stage1.ndjson

Two labels, not twenty. The brief belongs in instructions, where it is read as criteria; labels put there instead become categories you have to maintain. Say what is out as well as what is in — the two "not relevant" sentences above are what keep funding-round headlines off the list.

The CLI batches 1,000 per request, four requests at a time. --count prints a histogram instead of rows; --review 0.5 prints only the items the model was unsure about, which is the list to skim yourself:

relevant       0.09  Apple M6 Pro Achieves the Highest Single-Core CPU Score in Geekbench 7
not relevant   0.49  Cache-to-Cache: Direct Semantic Communication Between LLMs (2025)
relevant       0.35  Saving another 100TB of RAM

Step 3: cascade the middle band

Act on the ends, spend the reasoning model on the middle.

  • 0.9 and above — act. Drop the not relevant, queue the relevant.
  • 0.5 to 0.9 — re-ask with --smart, which re-runs answers under 0.7 on a reasoning model and marks them escalated.
  • below 0.5 — do not drop these on a filter. Read them, or ask a person.
jq -r 'select(.confidence>=0.5 and .confidence<0.9) | .text' stage1.ndjson > band.txt
classify relevant,"not relevant" -i "$BRIEF" --smart --json < band.txt > stage2.ndjson

A real run

514 titles pulled from 20 public feeds (Lobsters, Ars Technica, BBC, the Guardian, MIT News, Slashdot and others), against the brief above:

stage 1  514 items, fast tier                          0.7 s
         501 not relevant, 13 relevant
         476 rejected at confidence >= 0.9             never read
          28 in the 0.5-0.9 band
          10 under 0.5
stage 2   28 items, smart tier                        10.4 s
          15 escalated, 2 answers flipped

Eight items came back relevant after the cascade; with the ten under 0.5 that the gate keeps, you read 18 of 514. The two flips are worth seeing: "A low-carbon computing platform from your retired phones" went from relevant 0.65 to not relevant 0.66, and a nanoscale-computing paper went the other way. Both were genuinely arguable, which is why they were in the band.

The cascade costs what it saves: 1.4 ms an item on stage 1, 370 ms an item on stage 2. Running all 514 on --smart would have taken minutes for the same eight items.

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

Step 4: the reduce

The survivors are few enough to read, but a histogram tells you the shape before you start. --count over the 18 kept items, against four sub-topics:

11  something else
 3  inference cost and pricing
 2  data centre power and energy
 2  AI chips and accelerators

Eleven in something else says the brief is broader than the sub-topics, not that the filter failed. Keep a catch-all in every reduce: without one, those eleven spread over the other three and the histogram lies.

Two things that will bite you

Bias the filter toward keeping. You never see what you dropped. Drop only high-confidence rejects; keep everything under 0.5 whichever way it was labelled. The run above drops 476 of 514 and still keeps every uncertain item.

confidence is not the label score. One headline came back label: relevant with scores: {relevant: 0.52} and confidence: 0.04 — the model preferred relevant by a hair and knew that hair was worthless. Gate on confidence; reruns move it by a point or two, so leave margin.

Single item, straight from the shell:

curl "https://classifier.dev/relevant,not+relevant/Nvidia+cuts+H200+price+as+inference+demand+shifts?verbose=1"
{"label": "relevant", "confidence": 0.88, "scores": {...}}

Done looks like

Every item has a label and a confidence; the high-confidence rejects were never opened; the band went through a second pass; and you read a shortlist you can name a reason for, item by item.

© mrmps, 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/headline-filter-map-reduce of mrmps/classifier-dev.

Open the folder on GitHubat commit b9211dd

Compare with similar skills

Headline Filter Map Reduce 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.

Headline Filter Map Reduce compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Headline Filter Map Reduce this skillmrmps/classifier-dev424—~1.5kAutomated safety check: PassMIT
Token Mapnexu-io/open-design100k—~1.4kAutomated safety check: PassApache-2.0
Maps Geographyasgeirtj/system_prompts_leaks69k—~717Automated safety check: PassCC0-1.0
Filterzalando/skipper3.3k—~527Automated safety check: PassMIT
Feature Maponyx-dot-app/onyx32k—~459Automated safety check: PassCustom licence
Reduced Motionthedaviddias/Front-End-Checklist74k—~534Automated safety check: PassMIT

Similar skills

  • Token Map

    nexu-io/open-design

    Map an extracted Figma / source-code token bag onto the active OD design system, producing a deterministic mapping the generate stage can consume.

    100k GitHub stars~1.4k tokensUpdated yesterday
    Frontend & DesignAuto-check passed
  • Maps Geography

    asgeirtj/system_prompts_leaks

    Accurate maps from real geo data — use for any map, or whenever geography would make a good graphic for a deliverable

    69k GitHub stars~717 tokensUpdated 2 days ago
    Auto-check passed
  • Filter

    zalando/skipper

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

    3.3k GitHub stars~527 tokensUpdated yesterday
    DevOps & CloudAuto-check passed
  • Feature Map

    onyx-dot-app/onyx

    Use the Onyx feature map (.agents/feature-map/) to learn what a product surface does, the code behind it, and what a change can break.

    32k GitHub stars~459 tokensUpdated today
    Auto-check passed
  • Reduced Motion

    thedaviddias/Front-End-Checklist

    A skill your agent uses when reviewing rendered HTML, interactive components, or design-system patterns related to Respect reduced motion preferences.

    74k GitHub stars~534 tokensUpdated yesterday
    Frontend & DesignAuto-check passed
  • Source Maps

    thedaviddias/Front-End-Checklist

    A skill your agent uses when auditing slow page loads, heavy assets, or rendering delays related to Provide source maps for production debugging.

    74k GitHub stars~445 tokensUpdated yesterday
    DevelopmentAuto-check passed

More from mrmps/classifier-dev

All 21 skills in this repo
  • Bulk Classify

    mrmps/classifier-dev

    Sort many texts into your own categories without reading them, using a keyless HTTP API that returns a calibrated confidence per answer.

    424 GitHub stars~3.1k tokensUpdated yesterday
    Auto-check passed
  • Computer Use Action Picker

    mrmps/classifier-dev

    Pick a browser or desktop agent's next action by choosing among the actions actually on screen instead of inventing one.

    424 GitHub stars~1.5k tokensUpdated yesterday
    Auto-check passed
  • Content Moderation Gate

    mrmps/classifier-dev

    Check user-generated text against a written policy before it is published.

    424 GitHub stars~1.5k tokensUpdated yesterday
    Auto-check passed
  • Label each context chunk keep, drop or replace-with-a-pointer and pass the survivors through byte for byte instead of summarising, with key-shaped chunks decided locally and never sent, and a…

    424 GitHub stars~1.5k tokensUpdated yesterday
    Auto-check passed
  • Document Intake Routing

    mrmps/classifier-dev

    Label each page of an intake packet with a document type and a page role before extraction runs, so only confident pages reach an extractor and the rest reach a person.

    424 GitHub stars~1.5k tokensUpdated yesterday
    Auto-check passed
  • Type candidate (subject, sentence, object) triples against a fixed relation schema and flag triples that contradict each other, batched, with a calibrated confidence per edge so only confident edges…

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

Questions about Headline Filter Map Reduce

What does Headline Filter Map Reduce do?

Filter hundreds or thousands of headlines, search results or feed items against a written brief before opening any of them, using a two-stage cascade that spends a fast model on everything and a…. Headline Filter Map Reduce is an agent skill from mrmps/classifier-dev. Filter hundreds or thousands of headlines, search results or feed items against a written brief before opening any of them, using a two-stage cascade that spends a fast model on everything and a reasoning model only on the borderline band.

When should I use Headline Filter Map Reduce?

Headline Filter Map Reduce fits situations like: A monitoring run; search returns more items than are worth reading; which of these are relevant; filter this feed.

How do I install Headline Filter Map Reduce in Claude Code?

Run `npx skills add mrmps/classifier-dev --skill headline-filter-map-reduce -a claude-code`. Or copy the skill folder (skills/headline-filter-map-reduce in mrmps/classifier-dev) into .claude/skills/headline-filter-map-reduce in your project. Claude Code loads it when a task matches its description.

How do I install Headline Filter Map Reduce in Codex?

Run `npx skills add mrmps/classifier-dev --skill headline-filter-map-reduce -a codex`. Or copy the skill folder (skills/headline-filter-map-reduce in mrmps/classifier-dev) into .agents/skills/headline-filter-map-reduce in your project. Codex loads it when a task matches its description.

Can I use Headline Filter Map Reduce 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 mrmps/classifier-dev --skill headline-filter-map-reduce -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/headline-filter-map-reduce, .gemini/skills/headline-filter-map-reduce, .github/skills/headline-filter-map-reduce and .opencode/skills/headline-filter-map-reduce in your project.

What does Headline Filter Map Reduce need to run?

Going by SKILL.md and its folder, Headline Filter Map Reduce needs the command-line tools its instructions call (jq). Our summary lists: Python 3; Node.js.

Does Headline Filter Map Reduce access the network?

SKILL.md names 2 domains. In commands or code: lobste.rs; the agent is likely to contact it when it follows the instructions. As links in the text: classifier.dev. This is read from the text; nothing was executed.

Is Headline Filter Map Reduce 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 Headline Filter Map Reduce use?

Headline Filter Map Reduce is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Headline Filter Map Reduce use?

About 1.5k tokens (SKILL.md is roughly 6k 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 Headline Filter Map Reduce?

Skills that share tags, products or a category with Headline Filter Map Reduce: Token Map (nexu-io/open-design, 100k stars), Maps Geography (asgeirtj/system_prompts_leaks, 69k stars), Filter (zalando/skipper, 3.3k stars) and Feature Map (onyx-dot-app/onyx, 32k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Headline Filter Map Reduce?

mrmps (a GitHub user) maintains it in mrmps/classifier-dev, which has 424 GitHub stars. The repository holds 21 skills in this directory. The repository was last updated on October 6, 2026.

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