It searches recent people-driven sources, then asks the host agent to judge them
Last30Days is a research engine delivered as an agent skill. A query fans out across sources such as Reddit, Hacker News, GitHub, YouTube, X, prediction markets, papers, and ordinary web pages. The engine normalizes the findings, ranks engagement, merges repeated stories, and hands evidence to the agent for synthesis. That makes it useful when the question is about what changed or what practitioners are saying now, rather than established reference material.
The current README describes more than 15 source types, but availability varies. Reddit, Hacker News, Polymarket, GitHub, and StockTwits can work without credentials. X may use browser cookies or provider APIs. YouTube needs yt-dlp, while TikTok, Instagram, Threads, Pinterest, LinkedIn, and YouTube comments can use ScrapeCreators. The setup wizard is therefore a source picker as much as an installer. A brief is only as broad as the sources that were both configured and working for that run.
Claude Code gets the cleanest install and automatic updates
Claude Code is the project's recommended host. Users add the repository as a plugin marketplace, install last30days, and call /last30days with a topic. The same repository supports Codex, Cursor, Copilot, Gemini CLI, and dozens of Agent Skills hosts through the skills installer. Claude Desktop has downloadable bundles for macOS and Linux. The README says the Desktop bundle requires Python 3.12 or newer on the host and does not yet support Windows.
That host coverage is convenient, though duplicate installs are possible. The README warns that Claude Code does not deduplicate a marketplace copy and a copy installed through the Agent Skills CLI. Configuration is also split by host: Claude Desktop and Claude Code keep separate credential stores. Research files default to a Documents folder, and a preflight command reports planned reads and writes before a run. Teams rolling this out to several machines should standardize one install route and one configuration policy.
What happened when we ran it
Our sandbox installed commit d05389d in 26 seconds, adding 35 Python packages and occupying 37 MB. The build completed in 9 seconds. Pip-audit reported 0 known vulnerabilities in the installed packages. The checkout itself contained 442 files, roughly 123,683 lines of source, and 9 CI workflow files, so the small installed footprint sits behind a fairly substantial codebase.
The test command failed with exit code 1 after 457 seconds. Six tests/test_env_keychain.py cases ended with KeyError: 'getpwuid(): uid not found: 1000'. Their names cover present and missing keys, alias priority, whitespace stripping, swallowed subprocess and OS errors, and empty output. The log also recorded an error while collecting tests/test_changelog_workflow.py. Those are the facts the log establishes; it does not show a failed research query or identify a fix.
Free sources give a useful base, while the full catalog costs access and trust
A keyless installation still has a coherent job: recent Reddit and Hacker News discussion, GitHub activity, market odds, and ticker chatter can support product or developer research. The engine also saves raw material, which matters when an agent's summary feels too certain. GitHub person mode, historical lookback, comparisons, hiring signals, and shareable HTML reports add practical shapes without changing the central workflow.
Broader social coverage changes the risk profile. Browser-cookie access ties the tool to a logged-in session. ScrapeCreators and other providers introduce account, cost, and retention questions outside this repository. The README says research remains local and reports no analytics, but requests still reach the selected source providers. Before using it for client or internal topics, decide which cookies may be read, where saved reports live, and which third parties may receive each query.
Open issues affect both evidence coverage and the LLM boundary
Issue 1043 reports that v3.21.1 fetched YouTube transcripts successfully but produced 0 YouTube videos in the final result across repeated runs. That report does not prove every YouTube query fails, but it gives a concrete acceptance test: choose a topic with obvious current videos, confirm the final brief contains them, and inspect the raw file. A source shown as available is less important than evidence surviving normalization and ranking.
Issue 1054 is more serious for teams ingesting hostile pages. It shows that scraped title or snippet text containing a closing untrusted_content tag can end the reranker's fence before attacker-written instructions. The issue is about a specific helper in v3.21.1, not a general claim that every result is compromised. Until the boundary is fixed and verified, sensitive users should regard retrieved text as adversarial and keep the agent away from secrets or consequential actions during research.
Active maintenance is paired with a busy issue queue
GitHub showed 59,359 stars, 168 combined issues and pull requests, and a last push on August 26, 2026. Release v3.21.1 arrived on August 18 and moved the Perplexity Sonar integration to its Agent API. These dates show current work even though the checked commit's suite failed in our container. The combined open count is not a count of confirmed bugs, but it is large enough that adopters should scan recent reports for the sources they depend on.
Last30Days earns its place when a researcher would otherwise repeat the same search across several sites and manually reconcile dates and engagement. Its 26-second install makes a trial cheap. The decision gets harder once the desired sources require paid APIs, browser sessions, or an LLM exposed to scraped text. Start with the keyless sources, inspect raw output, then add one integration at a time with a known-topic check.

