A 394-star day has pushed Last30Days into GitHub's trending queue. The more useful signal is the appetite behind it: developers want agent research that crosses the walls between Reddit, X, YouTube, Hacker News, GitHub, prediction markets, and the wider web. The repository had 60,089 stars when checked on August 29, only seven months after its January 23 creation. Its central design puts a local Python research engine behind a skill that several coding agents can invoke, leaving the user in control of which accounts, command-line tools, and paid services it may touch.
The project describes itself as an agent-led search engine scored by social engagement and market activity. A query such as /last30days AI video tools fans out across the sources available on the machine, ranks what comes back, and asks the host agent to turn the evidence into a cited brief. That is a more ambitious job than adding a search call to a prompt. The runtime specification defines source discovery, date checks, query modes, evidence boundaries, citation format, failure handling, and the final response shape.
A skill wrapped around a real research engine
Last30Days is split into an instruction layer and executable code. The instruction layer tells a compatible agent how to resolve a topic, run the bundled scripts, supplement weak results, and synthesize the output. The engine performs the source work and emits structured evidence. Its Python package metadata requires Python 3.12 or newer and declares no runtime Python dependencies, while the repository includes its own scripts, tests, fixtures, plugin manifests, and an MCP server package.
That division makes the project portable across agent hosts. The README lists Claude Code, Codex, Cursor, Copilot, Gemini CLI, OpenClaw, and other Agent Skills hosts. For the cross-host route, installation is one command, followed by a preflight that shows what the skill plans to read, run, and write:
npx skills add mvanhorn/last30days-skill -g
python3 skills/last30days/scripts/last30days.py --preflight
The short install does not make every source available. Reddit, Hacker News, and Polymarket have keyless paths; GitHub works when the authenticated gh command is present; YouTube depends on yt-dlp. Digg, arXiv, and Techmeme use separate command-line helpers installed during first-run setup. The project's configuration guide maps each source to its command, credential, cost, and activation rule. For readers considering the package, our review of Last30Days covers the setup reality in more detail.
Which credentials unlock which sources
The broadest version of Last30Days needs access that a normal web search does not. X can use browser cookies, xAI, Xquik, ScrapeCreators, OAuth, or an opt-in Grok CLI route. TikTok, Instagram, Threads, and LinkedIn rely on ScrapeCreators in the documented setup. Bluesky uses an app password, while Xiaohongshu expects a local browser-session service. These are separate trust decisions, and the configuration table makes clear that source coverage changes with the machine.
When FROM_BROWSER is configured, the guide says the X scraper can read a logged-in browser session, and it warns that scraping carries account risk. It also says --preflight and --diagnose report the browser-cookie plan without reading the cookies. That gives developers a way to inspect the boundary before a research run, though it does not remove the need to decide whether an agent process should receive a social account session at all.
Local data has a separate path. Users can point the engine at Markdown, text, and supported PDF files through --corpus or LAST30DAYS_CORPUS_DIRS. According to the privacy section, corpus text stays out of source HTTP clients and remote ranking prompts. Local caches use mode 0600, and corpus-derived material is excluded from public HTML publishing and versioned agent JSON unless the user opts in. The raw debug export can still contain corpus text, so redirecting it into another system changes that privacy boundary.
Even a keyless web fallback has an external cost. If the host supplies neither native search nor a configured search provider, the engine can send queries to DuckDuckGo or a user-selected SearXNG instance and fetched URLs to Jina Reader. The web backend documentation calls this out directly. A local orchestrator can keep credentials and intermediate files on the user's machine, yet the selected sources still receive queries.
Engagement is a ranking input, not verification
Last30Days gives Reddit votes, YouTube activity, X reactions, GitHub work, and Polymarket odds more weight than a conventional search results page would. That can expose discussion that search engines rank poorly or index late. It can also amplify a popular mistake, coordinated attention, or a market whose participants have limited information. The project README openly frames engagement and money as its sorting signals. Those signals measure what people are attending to and betting on; they do not establish that a claim is true.
Its skill contract separates raw ranked clusters from the prose shown to a user, requires inline citations, records partial source coverage, and tells the agent to avoid drawing conclusions from evidence that failed its relevance floor. It also distinguishes a clean source with no results from a timeout, authentication failure, rate limit, or unconfigured source. That distinction matters because "X returned nothing" is a factual claim about the conversation, whereas "the X connector failed" only describes the tool run.
The runtime specification contains an unusual amount of defensive instruction. The maintainers document an earlier eight-run regression in which an agent ignored the prescribed workflow, invented headings, and mishandled the response format. Their fix added structural anchors and repeated checks near the start of the file. This is a candid example of an agent system's weak joint: deterministic collection can still be damaged by a model that treats operational instructions as suggestions. The code can label evidence, but the final prose depends on the host agent respecting those labels.
Every new connector adds a failure mode
Version 3.21.1 was released on August 18 with a migration of its Perplexity Sonar integration to the Agent API. The release provides a standalone skill archive plus MCP bundles for macOS on Intel and Apple Silicon and for Linux on x86-64. This packaging breadth explains part of the appeal: the same research workflow can follow a user across several agent environments instead of being tied to one chat product.
It also creates a wide failure surface. Source pages change, cookies expire, public endpoints throttle, CLIs disappear from PATH, and paid APIs alter schemas or limits. The project includes a doctor command that reports source availability and a postmortem mode that reads the last run's recorded outcomes. Its configuration documentation says live probes are bounded to free HTTP endpoints and keyless tools; credit-gated social sources are not probed. A green health check therefore describes the tested connectors, not universal coverage.
The test configuration sets an 84 percent coverage floor for the scripts and tests, and the code has an MIT license. Neither fact certifies the accuracy of a generated research brief. They do make the project easier to inspect, fork, and test than an opaque hosted research product.
Given the connector conditions in the configuration guide, the next useful evidence will come from ordinary runs rather than the star counter. Watch whether source adapters keep returning dated, attributable items as platforms change; whether partial failures remain visible in the output; and whether users can get a worthwhile brief from the keyless sources before handing over browser sessions or paid API credentials. The 394-star day indicates demand for cross-platform agent research. Its durability will depend on how honestly it reports the pieces it could not search.