topic-radar
Skill3 starsChanged 3 months agoMITView on GitHub
Find what is actually hot and new about one topic today, ranked across Reddit, Hacker News, GitHub and the news wire, for an agent built with content-agent-kit. Use when the user names a subject and wants today's angle — "hôm nay có gì hot về X", "tin mới nhất về X", "what's hot in X", "what should I post about X today" — or when a daily run needs an idea it has not used before. Writes brain/radar/<date>-<topic>.json plus a readable brief, and remembers what it handed out so tomorrow is not a repeat.
- Reads credentials
2 other projects use a version of this.
Adopted by
Most recently taken up by
- RahmanBuildsAI/ravyn-reel-kittheir own version, first seen Oct 25, 2026
- casoon/ai-agent-configtheir own version, first seen Sep 27, 2026
Other versions2 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 2
- RahmanBuildsAI/ravyn-reel-kit★ 9same name
- casoon/ai-agent-config★ 1same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository16 other files it gives its agents.
- AGENTS.mdAGENTS.md
- ads-reportSkill
- audit-and-fixSkill
- bootstrap-content-agentSkill
- crawl-and-queueSkill
- create-videoSkill
- daily-runSkill
- daily-topic-videoSkill
- design-campaignSkill
- geo-optimizeSkill
- motion-craftSkill
- new-templateSkill
- repurposeSkill
- research-and-captureSkill
- review-gateSkill
- video-and-postSkill
The file
We split this skill into the rules it gives an agent
6 rules. About 0 are common, 3 are distinctive, and 3 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈3
Distinctive · estimate
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 50
If the link is a discussion thread, the item carries discussionUrl separately — read both.
- Distinctive: line 53
If a top item turns out to be a rewrite of something with no primary source behind it, drop it and say so.
- Distinctive: line 87
Do not widen the window silently and present week-old news as today's.
- Distinctive: line 106
Do not write the video from the radar entry alone.
- Very specific: line 108
Do not present a GitHub repo's star count as adoption.
- Very specific: line 110
Do not pass --no-dedup to make a thin morning look fuller.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Topic radar
The user says a topic. You come back with the two or three things worth making a video about today, each with a reason it is worth making today. Not a search-results dump — a shortlist you would defend.
The scoring is done for you, in code, so it is the same every morning. Your job is the part code cannot do: read the primary sources and decide whether the top-ranked thing is actually a story.
Antigravity / Gemini: same steps, run the commands directly.
Step 1 — Run the radar
node scripts/research/topic-radar.mjs --topic "<what the user said>" --top 10It fans out across four keyless sources, merges duplicates, scores, drops anything an
earlier run already handed out, and writes brain/radar/<date>-<slug>.json + .md.
It prints RADAR=<path> — capture that.
Flags worth knowing:
| flag | when |
--days 7 | the user said "this week" / the topic moves fast |
--days 90 | a slow field, or a first run with nothing to show |
--half-life 1 | breaking news — punish anything over a day old hard |
--no-dedup | the user asks why yesterday's story is missing |
--dry-run | you want to look before writing state |
Read the ## Sources block in the output. It says what each source returned. A line like
reddit — 47 items — RSS fallback … no vote counts is telling you that source's ranking is
weaker than usual, and that is worth knowing before you trust position #1.
Step 2 — Read the primary sources
The radar ranks attention. It cannot tell a launch from a rumour. Take the top 3 and open what they actually point at:
WebFetchthe primary source — the announcement, the paper, the changelog, the repo README. Not a blog summarising it, and not the aggregator thread.- Pull out the concrete, quotable facts: numbers, dates, names, what changed.
- If the link is a discussion thread, the item carries
discussionUrlseparately — read both. What the thread argues about is usually the better hook.
If a top item turns out to be a rewrite of something with no primary source behind it, drop it and say so. Ranking high on engagement and being true are different properties.
The full method, including screenshot evidence and B-roll, is in research-and-capture.
Step 3 — Report
For each story you kept:
**<the story in one line>**
Why today: <what changed, with the number or date that proves it>
Source: <primary url> · score 0.69 · 1d old · hn + reddit
Angle: <the specific take — not "an overview of X">
Genre: newsPick Genre from templates/VIDEO_GENRES.template.json — it decides which frames the script
uses and in what order. news fits most radar output; technical-deepdive fits a paper or a
release with real internals; listicle fits "five things shipped this week".
Sort by your judgement, not by the score. The score got you the shortlist; you rank it.
Step 4 — Hand off
The user usually wants a video next. That whole chain is daily-topic-video — do not
re-run the radar for it, pass it the RADAR= path you already have.
When there is nothing
Some mornings a topic has produced nothing new. The script says so and exits with an empty
RADAR=. Say that plainly. Offer --days 90, or a neighbouring topic, or --no-dedup to
show what was already used.
Do not widen the window silently and present week-old news as today's. Do not fill the gap from memory — you do not know what shipped this week. An honest "nothing today" is a usable answer; a confident wrong one costs a video.
Notes
- No API keys. Reddit, Hacker News, GitHub and Google News all answer without an account.
GITHUB_TOKENis read if present but only raises a rate limit. - Reddit's JSON API 403s unauthenticated clients on most networks; the source falls back to its Atom feed, which has the posts but no vote counts. Reported, not hidden.
- The news wire is Vietnamese by default (
NEWS_RSS_LOCALE=vi|VN|VN:vi). Seten|US|US:enfor an English-market agent. - The seen-ledger lives at
brain/radar-seen.jsonand records only what was handed out, not everything found — so a story ranked 40th on Monday can still surface on Tuesday. - To see one source's raw output when a result looks wrong:
node scripts/research/hot-sources.mjs --topic "…" --sources hn --json
What not to do
- Do not write the video from the radar entry alone. The title is an aggregator's title; the facts are in the primary source.
- Do not present a GitHub repo's star count as adoption.
created:filtering means these are weeks old — stars that new measure attention, not use. - Do not pass
--no-dedupto make a thin morning look fuller. That is how the same story gets posted twice with a different voice.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

