mvanhorn/last30days-skill: Research briefs from Reddit, X, and more over the last 30 days
An AI-agent research tool that combines 30-day signals from Reddit, X, and more into one brief.
GitHub mvanhorn/last30days-skill Updated 2026-09-04 Branch main Stars 60.5K Forks 5.3K
AI Agent Multi-platform research Reddit/X/YouTube Claude Code/Codex

🧭 Decision Guide

Try it if you

  • You use Claude Code, Codex, Cursor, or Gemini CLI and need topic research across Reddit, X, and YouTube
    The README Install section lists Claude Code, Codex, Cursor, Gemini CLI, and 50+ Agent Skills hosts; the main text says /last30days searches multiple platforms in parallel
  • You need to connect research results to scripts and require stable JSON output
    The README Configuration section provides `python3 skills/last30days/scripts/last30days.py "AI coding agents" --emit=json` and describes it as a versioned agent profile
  • You need to accumulate findings and generate periodic briefs with SQLite, watchlist.py, or briefing.py
    The README's Trend monitoring across runs section explicitly describes `--store`, SQLite, `scripts/watchlist.py`, and `scripts/briefing.py`
  • You want free access to arXiv, Techmeme, or Digg without configuring their API keys
    The README's What's new section states that arXiv, Techmeme, and Digg are free and require zero API keys

Skip it if you

  • Your workflow cannot use API keys or browser sessions, or cannot run the initial setup wizard
    The README says users can bring their own keys and browser sessions, and that the first-run setup wizard unlocks X, YouTube, TikTok, arXiv, and other sources
  • Your research material must not be published publicly to a static hosting directory
    The README's A subscribable research library section says `--publish` hosts the HTML index and brief pages and that publishing is public by default
  • You only need editor-curated content indexed by Google and do not need Reddit comments or X posts
    The README says Google aggregates editors while /last30days searches people, and that Google Search does not touch Reddit comments or X posts
  • You require an explicitly versioned package from a formal GitHub Release, while repository metadata shows no releases
    Project metadata reports 0 releases and No releases; the README mentions v3.11.1 and 15 releases, creating a conflict

Requirements

  • Claude Code can be installed with `/plugin marketplace add mvanhorn/last30days-skill` and `/plugin install last30days`
  • Codex, Cursor, Copilot, Gemini CLI, or 50+ Agent Skills hosts can use `npx skills add mvanhorn/last30days-skill -g`
  • The README says Reddit, HN, Polymarket, and GitHub work immediately; X, YouTube, TikTok, arXiv, and Techmeme require running the setup wizard once
  • Cross-platform access can use the user's own API keys and browser sessions
  • `LAST30DAYS_MEMORY_DIR` defaults to `~/Documents/Last30Days/`; the Windows default is `C:\Users\Documents\Last30Days\`

First step (verbatim from README)

/plugin marketplace add mvanhorn/last30days-skill

Watch out

  • Direct engine use and agent use have different commands; JSON requires --emit=json
    The README's Structured output for agents and workflows section distinguishes `/last30days` from `python3 ... --emit=json`
  • `--publish` makes the library HTML and brief pages public
    The README's A subscribable research library section says publishing is explicit opt-in and public by default
  • Repeated saves for one topic produce files named `-raw[-suffix].md`
    The README's Where research files are saved section specifies this filename pattern for each `--save-dir` run
  • The README's v3.11.1 information conflicts with metadata showing 0 releases and 0 recent commits
    The README's What's new section and the development activity metadata provide these different figures

Alternatives

  • Google Search:More direct when you only need editor-curated content and ordinary web indexing, without Reddit comments, X posts, or cross-platform agent synthesis
    README paragraph comparing Google
  • ChatGPT:A better fit when you mainly need Reddit content but do not need simultaneous X or TikTok search, based on the README's stated capability boundary
    README paragraph comparing ChatGPT
  • Gemini:A better fit when you mainly need YouTube and do not need Reddit, according to the README's stated native source coverage
    README paragraph comparing Gemini

Not stated in the README

  • The material does not specify supported operating systems, Python versions, or Node.js versions
  • The material does not specify the application process or permission scope for each source's API keys and browser sessions
  • The material does not provide coverage limits, rate limits, or retry behavior for Reddit, X, YouTube, Polymarket, and other sources
  • The material does not provide per-research latency, token usage, API cost, or concurrency limits
  • The material does not name the AI agent judge model, version, or scoring algorithm
  • The material does not establish whether v3.11.1 matches the current repository contents; the README's 15 releases conflict with metadata showing 0 releases

💡 Deep Analysis

6
No I need to serve multiple clients querying Reddit, X, YouTube, TikTok, GitHub, and Polymarket concurrently under high concurrency, multi-tenancy, and strong SLA requirements. Can I use /last30days directly as the core of a production data platform?
For: An architect operating an enterprise intelligence platform that requires high concurrency, multi-tenancy, and strong SLAs, intending to let multiple clients query Reddit, X, YouTube, TikTok, GitHub, and Polymarket concurrently.

No, not directly as the core of that production platform, because the project is delivered as an Agent Skill plus local scripts rather than as a multi-tenant, strong-SLA service.

  • The project insight explicitly says it may not be suitable for an enterprise data platform requiring high concurrency, multi-tenancy, and strong SLAs.
  • The README’s installation methods center on Claude Code, Codex, Cursor, Copilot, Gemini CLI, OpenClaw, and other agent hosts, indicating a local agent-oriented entry point.
  • Multiple sources depend on user-owned API keys, browser sessions, or local CLIs; authentication, quotas, and platform-policy changes can affect availability.
  • Although the README mentions 2,700+ tests, 175 merged PRs, and 15 releases, it provides no throughput, isolation model, server deployment architecture, or SLA metrics.
  • Project insight: "may not be suitable for a high-concurrency, multi-tenant, strong-SLA enterprise data platform"
  • Install: supports Claude Code, Codex, Cursor, Copilot, Gemini CLI, and OpenClaw
  • Project insight: some sources require user API keys or browser sessions
  • Open source: "2,700+ tests"; What’s new: "175 merged PRs... across 15 releases"
Not stated in the README:The README does not say whether server deployment, tenant isolation, credential management, or horizontal scaling are officially supported.;It provides no throughput, latency, availability targets, observability metrics, or SLA design for platform outages.
Yes I use Claude Code for pre-meeting research and will meet an AI-industry CEO tomorrow. If I need one brief covering the person’s X posts, YouTube interviews, Reddit discussions, and GitHub activity from the last 30 days, is /last30days suitable?
For: A sales professional using Claude Code who is meeting an AI-industry CEO tomorrow and needs the person’s latest 30-day activity across X, YouTube, Reddit, and GitHub rather than older search results.

Yes, because it is designed for recent, cross-platform person research, although authentication for optional sources determines how complete the result will be.

  • The “How it works” section says the agent resolves a person’s X handle, GitHub repositories, subreddits, TikTok hashtags, and YouTube channels, then searches the sources in parallel and merges duplicate stories.
  • Results are ranked with likes, upvotes, comments, video engagement, and GitHub activity before producing a cited brief.
  • The README example “/last30days Peter Steinberger” demonstrates recent information spanning employment, pull requests, X, Reddit, and YouTube.
  • Reddit, HN, Polymarket, and GitHub work with zero configuration; X and YouTube require setup, API keys, or browser sessions.
  • How it works: "The agent resolves who matters"
  • How it works: "All sources searched in parallel"
  • README example: "/last30days Peter Steinberger"
  • README: "Zero config. Reddit, HN, Polymarket, and GitHub work immediately."
/plugin marketplace add mvanhorn/last30days-skill
Not stated in the README:The README does not specify identity-resolution accuracy for people with the same name or ambiguous X accounts.;It does not specify current platform quotas, browser-session lifetimes, or fallback behavior when a source search fails.
Yes I use Python 3.12+ with Codex or Cursor and want to feed 30-day research from Reddit, GitHub, Hacker News, and Polymarket into scripts. Is /last30days suitable as an automation component?
For: A Python 3.12+ engineer using Codex or Cursor who wants to connect recent research across Reddit, GitHub, Hacker News, and Polymarket to an existing agent workflow, preferably through structured output.

Yes, particularly as a research layer inside an existing agent workflow rather than as a standalone web service.

  • The README installation table directly supports Codex, Cursor, Copilot, Gemini CLI, and more than 50 Agent Skills hosts.
  • It explicitly states that Reddit, HN, Polymarket, and GitHub work with zero configuration, so your four required sources can run first.
  • The project insight lists Markdown, versioned JSON, SQLite, and offline search; JSON is the most appropriate interface for scripts or agents.
  • The runtime includes Python 3.12+, yt-dlp, and Node.js, so the environment must satisfy local runtime requirements instead of treating this as a self-contained pure-Python package.
  • Install: "Codex, Cursor, Copilot, Gemini CLI, or any of 50+ Agent Skills hosts"
  • README: "Zero config. Reddit, HN, Polymarket, and GitHub work immediately."
  • Open source: "Built with Python 3.12+, yt-dlp, Node.js"
  • Project insight: supports Markdown, structured JSON, and raw internal reports
npx skills add mvanhorn/last30days-skill -g
Not stated in the README:The README does not provide a JSON schema, field-versioning policy, or stable API documentation for scripts.;It does not describe concurrent execution, error codes, retries, or automation behavior under platform rate limits.
It depends I research arXiv papers and AI news in Claude Code. I want free access to arXiv, Techmeme, and Digg, but I also cannot afford for important low-engagement papers to be ignored because they have few likes. Is /last30days suitable?
For: A researcher using Claude Code to study arXiv papers and AI industry news, hoping to add arXiv, Techmeme, and Digg for free while comparing low-engagement but professionally valuable papers with socially popular content.

It depends: it can add these sources at low cost, but its default emphasis on recent engagement makes it unsuitable as the only discovery or judgment system for low-visibility papers.

  • The “What’s new” section says arXiv, Techmeme, and Digg are free and require no API keys; their CLIs are installed during first-run setup.
  • The project is positioned as ranking by upvotes, likes, and real money rather than editorial selection, which helps surface actively discussed material.
  • The project insight warns that engagement ranking creates popularity bias, potentially amplifying controversial or entertainment content while weakening guarantees of professionalism and representativeness.
  • The insight also says the project primarily optimizes content from the last 30 days, so long-term context, early evidence, and low-engagement material may be incomplete.
  • What’s new: "arXiv, Techmeme, and Digg - free, no API keys"
  • README title: "scored by upvotes, likes, and real money - not editors"
  • Project insight: engagement ranking creates popularity bias
  • Project insight: emphasizes a 30-day time boundary
/plugin marketplace add mvanhorn/last30days-skill
Not stated in the README:The README does not specify the weights of arXiv, Techmeme, and Digg in combined ranking or whether they can be filtered independently.;It does not say whether engagement scoring can be disabled or low-engagement results can be explicitly retained.
It depends I use Claude Desktop or claude.ai for person and company research across multiple clients, and client names may appear in notes. If I also want to use the research library and `--publish`, is /last30days suitable as my default private research tool?
For: A consultant conducting sales research for multiple clients using Claude Desktop or claude.ai, requiring client information and research notes to remain private while using the project’s research library for long-term storage.

It depends: local storage and the MIT-licensed design help with privacy control, but using library --publish means the environment must not be assumed private by default.

  • The README’s “Open source” section states “MIT license,” “No tracking,” “No analytics,” and “Your research stays on your machine.”
  • The README supports Claude Desktop through a platform-specific .mcpb and supports uploading a Skill to claude.ai, but web Skill upload does not itself establish client-data isolation.
  • The project insight warns that library --publish may publish content publicly by default, creating a risk for research notes, client names, or sensitive topics.
  • The insight also recommends separate save directories or suffixes for different clients, indicating that the user must manage file boundaries and publication controls.
  • Open source: "MIT license. No tracking. No analytics. Your research stays on your machine."
  • Install: "claude.ai (web)" and "Claude Desktop"
  • Project insight: `library --publish` may be public by default
  • Project insight: use separate `--save-dir` or `--save-suffix` for different clients, projects, or topics
npx skills add mvanhorn/last30days-skill -g
Not stated in the README:The README does not specify default permissions, revocation, authentication, or audit logs for `--publish`.;It does not specify whether research files are processed by the host service in Claude Desktop or claude.ai web scenarios.
It depends I monitor AI coding agents and competitors in OpenClaw. Beyond one-off briefs, I need watchlists, daily/weekly reports, a SQLite research library, and an Atom Feed. Can /last30days cover this monitoring workflow?
For: A small research team tracking AI coding agents and competitors, using OpenClaw and wanting to extend one-off searches into watchlists, daily/weekly briefings, a SQLite research library, and an Atom Feed.

It depends: the project insight covers the storage and subscription capabilities needed for monitoring, but omitted configuration details determine whether it fits your scheduler directly.

  • The project insight lists --store, SQLite, watchlists, Slack/Webhook, and daily or weekly briefings, showing that it supports more than one-off questions.
  • It also lists a research library, offline full-text search, HTML pages, and Atom Feeds for accumulating and distributing historical research.
  • OpenClaw has a dedicated installation method in the README: clawhub install last30days-official.
  • However, the project is primarily an Agent Skill, Python scripts, and a local workflow component. The insight explicitly says it may not fit a high-concurrency, multi-tenant, strong-SLA enterprise data platform, while a small local team is a closer match.
  • Install: "OpenClaw | clawhub install last30days-official"
  • Project insight: supports `--store`, SQLite, watchlists, Slack/Webhook, and daily/weekly briefings
  • Project insight: supports a research library, offline full-text search, HTML pages, and Atom Feeds
  • Project insight: may not fit a high-concurrency, multi-tenant, strong-SLA enterprise data platform
clawhub install last30days-official
Not stated in the README:The README does not specify the scheduler, timezone, retry behavior, or duplicate-notification policy for watchlists.;It does not specify Atom Feed authentication, access control, retention, or multi-user isolation.

✨ Highlights

  • Searches Reddit, X, YouTube, HN, and other sources in parallel
  • Scores findings using likes, upvotes, and Polymarket money signals
  • Supports 50+ Agent Skills hosts with zero-config startup
  • v3.11.1 reports 175 merged PRs across 15 releases

🔧 Engineering

  • Use /last30days to research a topic and produce one synthesized brief
  • Use --emit=json to produce versioned JSON for workflows
  • Use --store, watchlist.py, and briefing.py for trend monitoring
  • Supports library feed, library search, and a local Atom feed

⚠️ Risks

  • Extended sources such as X, TikTok, and YouTube require the setup wizard
  • Cross-platform access depends on user-provided API keys and browser sessions
  • --publish makes the generated HTML output public by default
  • Metadata shows 0 releases, conflicting with the README's 15 releases

👥 For who?

  • Research-oriented developers using Claude Code, Codex, or Cursor
  • Teams tracking the last 30 days of AI, people, or business activity
  • Developers integrating JSON, SQLite, or Atom feeds into automation