# The /last30days zero-config promise covers four sources, not twenty

> The /last30days skill fans an agent across about twenty sources and ranks what it finds by engagement. Its zero-config path reaches only a handful of sources at first, and several layers stay hidden behind local helpers, browser sessions, or a Python 3.12 floor.

**mvanhorn/last30days-skill** — AI agent skill that researches any topic across Reddit, X, YouTube, HN, Polymarket, and the web - then synthesizes a grounded summary.

- Repository: https://github.com/mvanhorn/last30days-skill
- Stars: 62,806 · Forks: 5,461
- Language: Python
- License: MIT
- Published: 2026-08-04 · Updated: 2026-08-18 · Language: en
- Canonical page: https://hysenlabs.com/projects/mvanhorn-last30days-skill

## Four sources work immediately; the rest open after a first run

The project promises zero config, but zero config covers a specific short list. Reddit, Hacker News, Polymarket, and GitHub work immediately with no setup. Run the skill once and a setup wizard unlocks X, YouTube, TikTok, arXiv, Techmeme, and more in about 30 seconds. Installation for Claude Code goes through a marketplace:
```
/plugin marketplace add mvanhorn/last30days-skill
/plugin install last30days
```
For Codex, Cursor, Copilot, Gemini CLI, and other Agent Skills hosts the command is:
```bash
npx skills add mvanhorn/last30days-skill -g
```
The -g flag installs globally for your user so the skill is available across all projects; drop it to scope the install per project. What the zero-config claim does not hand you on first contact is the full source table. A reader who installs and queries right away gets a thinner brief than the marketing suggests, and only widens coverage after deliberately running the wizard. There are additional install routes such as claude.ai web, OpenClaw, and manual that the project points to separately.

## Digg, arXiv, and Techmeme stay hidden unless a helper CLI is on PATH

Three of the sources are gated on an external binary being on your PATH. Digg auto-enables only when digg-pp-cli is on PATH. arXiv auto-enables when arxiv-pp-cli is on PATH, though its first-run setup installs that helper for you. Techmeme follows the same pattern with techmeme-pp-cli. This is a real dependency on your environment rather than a toggle inside the skill. What it cannot do is guarantee those three layers are present in a given run: if the helper binary is missing or not on PATH, Digg, arXiv, and Techmeme simply do not contribute, and the brief reads as though the research and news layers were never consulted. A reader who wants the papers behind a claim, or the Techmeme editorial roundup, should verify the helper is installed and reachable rather than assume the source list is exhaustive. Once the helper is present, arXiv, Digg, and Techmeme are free and need no API key.

## Xiaohongshu needs a logged-in browser session and an explicit flag

Xiaohongshu, referred to as RED, is the outlier in the source table. It is not picked up automatically. You request it explicitly with --search xhs, and even then it only works when a logged-in x-mcp browser plugin or a xiaohongshu-mcp service is running locally on your machine. In other words, the zero-config path does not reach the Chinese lifestyle, product, and creator signals. What this source cannot do is return anything without that local logged-in session, so a reader who types --search xhs on a machine with neither the browser plugin nor the xiaohongshu-mcp service running will not get the Chinese layer they asked for. It behaves more like the authenticated platforms elsewhere in the project, where the breadth of what you can search is tied to the sessions and keys you personally bring.

## Ranking by engagement rewards the loudest signal, not the most accurate

The scoring philosophy is explicit: results are ranked by what real people engaged with, and the project frames this as social relevancy rather than SEO relevancy. A Reddit thread with 1,500 upvotes is treated as a stronger signal than a blog post nobody read. A TikTok with 3.6M views is read as more culturally relevant than a press release. Polymarket odds, because they are backed by real money, are given weight, with an example of 96 percent confidence on album sales and 4 percent on an acquisition, and 66K in volume cited as harder to argue with than a pundit's guess. Hacker News threads are framed as developer consensus, with a cited 825 points and 899 comments. What this engagement-first ranking cannot do is separate popular from correct. Upvote counts, view counts, and money can all attach to confident or promotional material, so a brief that surfaces the most engaged-with material is not automatically the brief that surfaces the most accurate one. A reader should treat the top of such a report as what is loud and contested, and still verify the specific claims that matter.

## The real command spec lives in SKILL.md, not the README

The project is candid about its own documentation limits. It states that it tracks the current v3 pipeline, but that the runtime skill spec lives in skills/last30days/SKILL.md, which is the source of truth for the latest command and setup behavior. So the front page is a tour, not a contract. What the front page alone cannot do is guarantee that the exact command and setup steps are current, because those are declared to live in SKILL.md. A reader who copies a command straight from the front page could be working from behavior that has since moved into the spec file. The project is also translated into seven languages, English, French, German, Spanish, Brazilian Portuguese, Japanese, and Simplified Chinese, and each translation is its own snapshot. The practical habit is to treat SKILL.md, not any translated front page, as the file to check when a command or setup step matters to what you are trying to run.

## Coverage is bought with your own keys and browser sessions

The reason this skill exists, by its own account, is that no single AI reaches all the platforms at once. Google search does not touch Reddit comments or X posts. ChatGPT has a deal with Reddit but cannot search X or TikTok. Gemini has YouTube but not Reddit. Claude has none of them natively. Each platform is described as a walled garden with its own API, its own tokens, and its own auth. The unlock is that you can bring your own keys and browser sessions, and an agent can then search several at once, score them against each other, and report what matters. What this design cannot do is guarantee uniform coverage from a clean install, because the breadth of the brief is directly tied to which platform credentials and browser sessions you personally supply. A reader should set expectations this way: the source table is the ceiling of what is reachable, not the default of what any single run returns, and the more walled gardens you have authenticated, the more complete the picture becomes.

## Python 3.12 floor and a coverage gate meant to climb

The engineering side is unusually explicit for a skill package. The project metadata sets requires-python to >=3.12 and pins a dev toolchain of pytest, pytest-cov, pyyaml, and towncrier, and the test suite collects test_*.py files under tests. The most telling setting is the coverage gate: coverage runs with branch coverage over the scripts and tests, and the report enforces fail_under = 84. The inline comment is candid, noting the floor is intended to rise over time rather than act as a ceiling, that the baseline was measured on 2026-07-03 at a total of 84.06 percent, and that the gate should not be lowered without documenting why in the pull request. What this signals to a reader is that a skill distributed to many hosts is still held to a test and coverage standard, and that Python 3.12 or newer is a hard floor. Changelog entries are structured through towncrier with security, removed, deprecated, added, changed, and fixed categories.

## Conclusion

Reach for /last30days when you want recent cross-platform reaction rather than an editor's pick, and when you are willing to authenticate the platforms you care about. Skip it if you need a fully automatic install that covers every source on day one. Before relying on a brief, confirm the Digg, arXiv, and Techmeme helpers are on PATH, remember Xiaohongshu needs a local logged-in session, and read high-engagement results as what is loud rather than what is proven.

## FAQ

### how to use last 30 days skill

For Claude Code, add the marketplace with /plugin marketplace add mvanhorn/last30days-skill then install with /plugin install last30days. On Codex, Cursor, Copilot, or Gemini CLI, run npx skills add mvanhorn/last30days-skill -g, then query a topic with /last30days followed by a name or subject.

### Does the last30days skill need API keys or setup before the first run?

Reddit, Hacker News, Polymarket, and GitHub work immediately with zero config. Running the skill once opens a setup wizard that unlocks X, YouTube, TikTok, arXiv, Techmeme, and more in about 30 seconds. Digg, arXiv, and Techmeme additionally need their helper CLIs on PATH to contribute.

### Which sources does the last30days skill search and how are they ranked?

It searches about twenty sources in parallel, including Reddit, X, YouTube, TikTok, Hacker News, Polymarket, GitHub, arXiv, LinkedIn, and the web. Results are ranked by engagement such as upvotes, likes, and Polymarket odds, and an AI agent judge synthesizes them into one brief.

## Sources

- [Official README](https://github.com/mvanhorn/last30days-skill#readme)
- [Project repository](https://github.com/mvanhorn/last30days-skill)
- [Release notes](https://github.com/mvanhorn/last30days-skill/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/mvanhorn-last30days-skill
