HOME SKILLS BLOG GITHUB
// SKILL

BLOG DISCOURSE
WHAT PEOPLE ARE ACTUALLY SAYING

Authority sources tell you what is true. Discourse tells you what is fresh. /blog discourse researches the last 30 days across Reddit, X, YouTube, Hacker News, dev.to, and Medium, then writes a structured DISCOURSE.md brief your writer can consume. No API keys. Just WebSearch with platform-targeted operators. Free with Claude Blog.

METHODOLOGY ADAPTED FROM last30days-skill · Matt Van Horn, MIT · github.com/mvanhorn/last30days-skill
$
/blog discourse <topic>

REQUIRES CLAUDE BLOG INSTALLED IN CLAUDE CODE

// WHY IT EXISTS

THE RECENCY LENS RESEARCH LACKS.

blog-researcher, the authority-first research agent, finds statistics, verifies sources, and grounds claims in citable references. That is the right lens for accuracy, but it misses what is happening this month: the complaints, the workarounds, the questions practitioners keep asking, the language real customers use.

blog-discourse is the recency-and-engagement lens. It asks one question: in the last 30 days, what are practitioners and customers actually saying about this topic on the public web? It uses WebSearch with platform-targeted site operators plus recency filters, so it needs no platform APIs and no keys. The output is DISCOURSE.md plus JSON the writer can consume directly.

30
DAY WINDOW
Recency filters keep the brief fresh. Widen to 90 days with --days when a slower-moving topic needs a broader window.
6+
PLATFORMS
Reddit, X/Twitter, YouTube, Hacker News, dev.to, Medium, and other public discourse, reached with site operators, not paid APIs.
DISCOURSE.md
A structured brief plus JSON: themes, recurring questions, objections, and the language customers actually use, ready for the writer.
FEEDS THE WRITER
--feed-into brief, write, or strategy runs the research and hands DISCOURSE.md straight to the next command, auto-loaded.
// USAGE

HOW TO RUN IT

Commands

CommandWhat it does
/blog discourse <topic>Produces a discourse brief at project-root DISCOURSE.md
/blog discourse <topic> --days 90Widens the freshness window from 30 to 90 days
/blog discourse <topic> --feed-into briefRuns the brief, then invokes /blog brief with DISCOURSE.md loaded
/blog discourse <topic> --feed-into writeRuns the brief, then invokes /blog write
/blog discourse <topic> --feed-into strategyRuns the brief, then invokes /blog strategy
/blog discourse <topic> --input results.jsonSkips search; builds the brief from a pre-gathered results file

Topic Pre-Flight

Before any search, discourse runs keyword-trap checks so it does not waste WebSearch calls on a query that will only return noise. Topics that match a trap class (demographic shopping, a numeric trap, an overly literal phrase, or a generic single noun) are either reframed automatically or paused for a one-line clarifying question.

Topic Decomposition

For named-entity topics, the query is decomposed into discrete searches: the primary entity (official statements and vendor pages), the counter-perspective (critics, competitors, contrarians), and practitioner discourse (subreddits, forums, dev.to, Medium). The brief is assembled from all three so it is balanced, not just the loudest take.

Attribution

blog-discourse adapts the methodology of last30days-skill by Matt Van Horn (MIT licensed). The upstream uses platform APIs; this sub-skill re-implements the approach with WebSearch and site operators so it requires no API keys, while preserving attribution to the original work.

// FAQ

QUESTIONS ABOUT BLOG DISCOURSE

It researches what practitioners and customers are actually saying about a topic in the last 30 days across Reddit, X/Twitter, YouTube, Hacker News, dev.to, Medium, and other public platforms. It is the recency-and-engagement lens that authority-first research lacks, and it writes a structured brief, DISCOURSE.md, plus JSON output the writer can consume.
No. It is API-free. It uses WebSearch with platform-targeted site operators and recency filters instead of paid platform APIs, so there are no keys to configure and no per-call cost. It can also build a brief from a pre-gathered results file with --input.
blog-researcher is authority-first: it finds statistics and verifies sources. blog-discourse is recency-and-engagement-first: it captures what people are saying right now on the public web. They complement each other; discourse adds voice-of-customer and trend signal that authority sources miss.
Yes. Use --feed-into brief, write, or strategy to run the discourse brief and then immediately invoke that command with DISCOURSE.md auto-loaded. You can also widen the freshness window with --days 90 when 30 days is too narrow.
It adapts the methodology of the last30days-skill by Matt Van Horn (MIT licensed). The upstream uses platform APIs; blog-discourse re-implements the approach with WebSearch and site operators so it needs no API keys, while preserving attribution.
// RELATED SKILLS

EXPLORE MORE

VIEW ALL 30 SKILLS →

HEAR THE CONVERSATION
BEFORE YOU WRITE.

$
git clone --depth 1 https://github.com/AgriciDaniel/claude-blog.git && bash claude-blog/install.sh
VIEW ON GITHUB ALL SKILLS >