August 07, 2026 · By YasKad
mvanhorn/last30days-skill

last30days: recent research that puts public conversation first

mvanhorn/last30days-skill · 62,792★ · 5,461 forks

Everything you need to know about mvanhorn/last30days-skill: a skill and local engine that let an agent research a topic across social, technical, and market sources within a short time window.


What last30days is

last30days is an AI agent skill distributed as a SKILL.md specification plus a Python engine. Given a query like /last30days <topic>, it tries to resolve the relevant entities - accounts, repositories, communities, and channels - searches in parallel, and synthesizes a report ranked by relevance, engagement, and recency.

Futuristic terminal showing the command /last30days "AI coding agents" in neon text over a high-tech lab background.

The project positions itself against editorial search engines: its scoring aims to combine engagement signals such as Reddit votes, X interactions, YouTube transcripts and comments, Hacker News conversations, GitHub activity, and Polymarket odds. It does not replace a primary source or turn popularity into truth; it is a discovery and prioritization layer for recent evidence.

The minimal install promises zero-configuration access to Reddit, Hacker News, Polymarket, and GitHub. To extend coverage, the user supplies keys, browser sessions, or local services. The README lists, among others, X, YouTube, TikTok, Instagram, LinkedIn, Bluesky, arXiv, Techmeme, Perplexity, Xiaohongshu, and web search.

Neon fiber-optic cables carrying data in parallel from platforms like X, YouTube, TikTok, and arXiv into a central server.

The origin: from tracking AI news to a research engine

The repository was created on January 23, 2026. Its creator is Matt Van Horn (mvanhorn): the GitHub profile identifies him as a co-founder of June and of a company that later became Lyft, and attributes the build of engine version 3 to j-sperling.

In the README’s account, Van Horn built it to keep up with AI: he felt Reddit and X conversations moved faster than training data and that he needed a way to gather them without browsing tab by tab. The example of tension with native products is explicit: the text argues that Google, ChatGPT, Gemini, and Claude have partial and differing access to closed platforms; the pitch is not a single superior search engine, but an agent that connects separate sources using the user’s own keys and sessions.

The first verifiable Hacker News submission was on January 26, 2026: 7777777phil posted a Claude skill for researching Reddit and X over the last thirty days. The launch got 2 points and no comments, a quiet start compared with the repository’s later growth.

Philosophy and principles

  • Recency over historical accumulation: the query starts from a thirty-day window, though the range can be configured.

Digital gear mechanism forming an infinite thirty-day loop, surrounded by fragments of conversations and fluctuating market charts.

  • Social and market signals, not just SEO: the engine scores engagement, relevance, and freshness; Polymarket adds odds, not proof of facts.
  • Synthesis with traceability: the specification requires reports with data and source citations, and the JSON mode has a versioned contract.
  • Local execution and explicit degradation: the README states that analysis stays on the user’s machine and that, without keys, the system trims sources rather than claiming full coverage.
  • Separate skill and engine: CONCEPTS.md distinguishes the skill, which tells the agent what to do, from the Python engine, which does the work and returns the results structure.

Holographic SKILL.md file icon hovering above a mechanical engine processing data into JSON structures.

These are the project’s stated intentions and contracts, not an independent validation of the quality of each report.

How it works

The documented technical flow has seven steps: receive a topic, resolve the related entities, launch parallel queries, rank results by engagement, cluster the same event across sources, synthesize a cited report, and retain context for follow-up questions.

Usage patterns verified in the documentation:

/last30days "AI coding agents"
/last30days OpenClaw vs Hermes vs Paperclip
python3 skills/last30days/scripts/last30days.py --discover "AI agents"
python3 skills/last30days/scripts/last30days.py "AI coding agents" --emit=json
python3 skills/last30days/scripts/last30days.py --preflight

--preflight shows configuration, planned sources, and planned writes without researching or reading cookies. --discover is for discovering topics without a starting one; --emit=json returns structured output. To repeat research, --store saves results to SQLite, and the watchlist.py and briefing.py scripts enable scheduled monitoring and daily or weekly summaries. There is also local search over previous reports and generation of an HTML library and an Atom feed from saved reports.

Digital archive room with glowing filing cabinets representing SQLite databases and a robotic arm organizing reports next to an Atom feed symbol.

The current version, v3.18.4 (July 28, 2026), fixed the tag-publishing flow in CI and a timeout issue in comparative YouTube searches. The README claims more than 2,700 tests and Python 3.12 or higher; the main languages GitHub reports are Python, Go, Shell, and HTML.

Official and semi-official status

The project can be installed as a plugin from its own Claude Code marketplace source with /plugin marketplace add mvanhorn/last30days-skill and /plugin install last30days. That establishes a Claude Code plugin format, but it does not demonstrate an endorsement or certification from Anthropic.

It has semi-official, cross-platform distribution integrations: the README documents a native manifest for Codex, a plugin for Grok, and a common install path via npx skills add across Codex, Cursor, GitHub Copilot, Gemini CLI, and more than fifty hosts of the open Agent Skills format. For Grok, the documentation states its entry points to xAI’s plugin marketplace. On OpenClaw it lists clawhub install last30days-official.

In practice, the manifests, the .skill packages for claude.ai, and the .mcpb package for Claude Desktop make it easy to distribute across environments. No source from a provider declaring it an official standard or certifying its results was found; it is therefore more accurate to treat it as a widely integrated project than as a ratified standard.

The ecosystem

Author repositories

A search of mvanhorn’s account returned two projects close in topic and authorship, though they are not dependencies of last30days:

  • mvanhorn/cli-printing-press - a tool for generating agent-oriented command-line interfaces; 4,334 stars and 461 forks.
  • mvanhorn/printing-press-library - a library declared official for interfaces produced by Printing Press; 1,878 stars and 555 forks.

Within the main repository, the associated pieces are the skills/last30days directory, the scripts/last30days.py engine, the Claude, Codex, and Grok manifests, the mcp/ MCP package, the tests/ suite, and the GitHub Actions automations. These are components of the same repository, not independent repositories.

GitHub control panel visualized as a futuristic city, with a holographic billboard displaying the figure of 56,610 stars.

Ports, forks, and community extensions

  • Jesseovo/last30days-skill-cn - an independent Chinese adaptation for researching eight major Chinese internet platforms over thirty days; 1,318 stars and 155 forks. It is the most visible non-English port found.
  • hwwn/last30days-skill-cn - another China-focused port; its description mentions Weibo, Zhihu, Bilibili, Douyin, Xiaohongshu, V2EX, Juejin, and Xueqiu. The search returned 3 stars and 1 fork.
  • levineam/lastXdays-skill - an extension that makes the time interval configurable and declares itself based on the original project; 44 stars and 8 forks.
  • kunhai1994/xhs-research - a skill focused on Xiaohongshu research, declared based on last30days and xpzouying/xiaohongshu-mcp; 37 stars and 2 forks.
  • Among direct forks located, addyosmani/last30days-skill had 46 stars and 9 forks, and bradautomates/last30days-skill, 9 stars and 4 forks.

Futuristic digital map with connected nodes across continents and markers for platforms like Weibo, Zhihu, Bilibili, and Xiaohongshu.

The README itself mentions Xquik-dev/tweetclaw as an optional OpenClaw add-on for X actions, such as posting and monitoring, and clarifies that it is not a dependency or recommendation of the project. The figures above are a GitHub API measurement from August 1, 2026; they do not certify support or compatibility.

Repo numbers

Measured: August 1, 2026, GitHub API and page.

MetricValue
Stars56,610
Forks4,944
Real subscribers208
Commits1,160
Open issues reported by the API84
Branches / tags67 / 43
Primary languagePython
LicenseMIT
CreatedJanuary 23, 2026
Latest releasev3.18.4, July 28, 2026

The top contributors returned by the API were mvanhorn (447 contributions), tmchow (341), 23241a6749 (40), j-sperling (37), and iliaal (28). The commit count comes from the GitHub page. open_issues_count can include open pull requests; in fact, the page showed 61 issues and 23 pull requests. The watchers_count field in the general response mirrors the star count, so subscribers_count is reported here as the real subscriber figure.

How to contribute

The process is documented in CONTRIBUTING.md:

  1. Set up Python 3.12 or higher with uv sync --group dev.
  2. Run uv run pytest.
  3. Implement the change and update or add tests.
  4. Add a changelog fragment in changelog.d/ where applicable.
  5. Fill out the pull request template, with a summary, tests, changelog, agent statement, and relation to the project.

The project asks contributors not to directly edit CHANGELOG.md, nor the versions in pyproject.toml, SKILL.md, manifests, or uv.lock; continuous integration controls those changes. Maintainers use a release-prep action that creates a synchronized-versions pull request and publishes on merging it into main. The security guide prohibits uploading real keys, cookies, tokens, or .env files.

How the community received it

The verifiable reception combines adoption with concrete correction requests, rather than broad consensus on Hacker News:

  • In Hacker News 47783940, a comment from piotraleksander describes last30days and context-mode as the two most useful skills in an OpenClaw setup. They used it for a weekly social-listening report for their agency. The parent thread, a question about OpenClaw usage, logged 342 points; that opinion is a personal experience, not an evaluation of the engine.
  • The project received four direct Hacker News submissions, all small: 46764597 from 7777777phil got 2 points and 0 comments; 46963949 from NOpderbeck, about a recent-research API, got 2 points and 2 comments; 48440334 from pykello, 2 and 0; and 49130905 from ms7892, 3 and 0. These are visibility anchors, not evidence of a broad discussion.
  • In issue #532, a user who identifies as a follower asked for a website, RSS, or a directory of already-generated reports. The framing is enthusiasm for the idea of aggregating the last thirty days, along with a concrete request to make results more accessible without running the full system.

Futuristic security vault door partly open, with a red holographic "SECURITY" warning next to a green protective shield.

  • The most significant criticism is about security and installation. In #513, asheem22 reported that the Hermes scanner flagged the package as dangerous, with 50 findings; they pointed in particular to imperative instructions in SKILL.md and reading environment variables for keys. The issue was closed on July 7 after 8 comments and was linked to pull request #768. It is an alert attributed to the reporter’s analysis, not an independent audit.
  • Also still open is #362, from homototus, with 4 comments: it reports that Claude Code’s validator was rejecting a skills path in plugin.json. The user proposed and locally tested a fix. The objection is operational and specific, not a disqualification of the research function.

last30days versus other proposals

ProposalVerifiable overlapVerifiable difference
levineam/lastXdays-skillIt is a Claude Code skill explicitly based on last30days.It makes the number of days configurable; no specification was found that establishes equivalence across its full source coverage.
Jesseovo/last30days-skill-cnIt researches a thirty-day window and synthesizes grounded reports.It targets eight Chinese platforms, while the original documents a combination of global networks, Hacker News, Polymarket, and GitHub.
kunhai1994/xhs-researchIt is a research skill declared to build on last30days.It focuses on Xiaohongshu and also relies on xiaohongshu-mcp; last30days presents it as an optional source within a larger set.
Xquik-dev/tweetclawBoth can integrate with OpenClaw and touch X.TweetClaw is mentioned for posting, replying, and monitoring actions on X; last30days researches and synthesizes, and does not declare it a dependency.

The right comparison is by scope: last30days is a good fit when you want to unify signals from multiple sources into recent research. Regional ports or single-platform tools may be more suitable when the target source is narrowly defined.

Use cases and who this repository can help

Analysts, product teams, and people tracking a fast-moving topic can run /last30days <topic> or --discover to gather recent conversations from Reddit, Hacker News, GitHub, Polymarket, and any additional sources they’ve configured. The engine resolves entities, queries in parallel, clusters the same event across sources, and returns a cited synthesis; --preflight lets you review the planned sources and writes before researching, and --emit=json makes it easier to plug the output into another workflow.

Editorial teams, agencies, and people responsible for periodic monitoring can save research with --store in SQLite, search previous reports, and use watchlist.py or briefing.py to prepare follow-ups and daily or weekly summaries. The HTML library and the Atom feed serve to publish stored reports when the user decides to. Extending coverage requires keys, cookies, or local services depending on the source; those credentials should be isolated, and engagement signals should be cross-checked against the original citations before turning them into editorial claims.

Resources


Note: this article combines the README, the skill specification, the contribution guide, issues, releases, the GitHub API and pages, and Hacker News, retrieved on August 1, 2026. Figures and integrations change over time.

Comments