46c5c7f566
Live Ghostty test of the prior amendment confirmed RULE A (inline links) works on first pass, but exposed a new regression: the established output contract collapsed. First-pass output had "Story 1/2/3" plain-prose sections instead of bold-headline paragraphs, a plain "Stats" heading with - bullets instead of the ├─ └─ │ emoji tree, no ✅ All agents reported back! line, no --- separators, and a flat "I am now an expert" closer instead of the QUERY_TYPE-specific invitation variant. Same failure pattern as before (emphasis imbalance between co-equal rules), opposite direction: the link rules at the top of the output section became the loudest prose and the existing structural rules (bold headlines, stats template, emoji tree, QUERY_TYPE invitation, --- separators) read as style preferences by comparison. Fix is additive, not reductive. The TWO HARD RULES framing becomes the OUTPUT CONTRACT with six rules named A-F, each at equal emphasis, stated in parallel construction: - RULE A: inline markdown links on every citation. - RULE B: no trailing list of links. - RULE C: bold headline per narrative paragraph (**Headline** — body). - RULE D: stats block with ✅ opening, ├─/└─/│ tree, emoji prefix per active source. No plain - bullets, no missing emoji. - RULE E: QUERY_TYPE-specific invitation variant with 2-3 example follow-ups from this run. No flat "I am now an expert" closer. - RULE F: --- horizontal rules before and after the stats block. Closing sentence: "These six rules are a set, not a priority order. Satisfying some by violating others is a bug, not a compromise." Corresponding changes: - PRE-SYNTHESIS COMMIT expanded from 6 link-focused bullets to 7 bullets covering template/headlines/stats/separators/sources/trailing- list. Structure-first ordering primes the agent to reach for the template before drafting prose. - PRE-PRESENT SELF-CHECK reworked. Items 1 and 2 become counted structural checks (≥3 bold headline openers, ≥3 ├─ tree characters, one emoji per active source). New items 5 and 6 add separator and invitation-variant checks. Items 7-10 preserve the existing RULE B / RULE A / no-raw-URL / no-broken-link checks. - Release-notes entry extended to mention the preserved output contract alongside the clickable links. No Python changes. This is the third commit on PR #286. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
93 lines
5.4 KiB
Markdown
93 lines
5.4 KiB
Markdown
The AI world reinvents itself every month. This skill keeps you current.
|
|
|
|
`/last30days` researches your topic across Reddit, X, YouTube, TikTok, Instagram, Hacker News, Polymarket, GitHub, and 5+ more sources from the last 30 days, finds what the community is actually upvoting, sharing, betting on, and saying on camera, and writes you a grounded narrative with real citations.
|
|
|
|
## 2026-04-20 — Clickable source links
|
|
|
|
Every cited source in the synthesis (X handles, subreddits, publications, YouTube channels, Polymarket markets) now renders as a blue CMD-clickable markdown link in the terminal. No raw URL strings, no trailing list of links, and the rest of the output contract is preserved intact — bold headline paragraphs, `├─` `└─` emoji stats tree, and the QUERY_TYPE-specific invitation all render correctly on first pass. Works in Claude Code on any terminal that supports OSC 8 hyperlinks (Ghostty, iTerm, Warp, others).
|
|
|
|
Credit to [@jay_k](https://x.com/jay_k) for surfacing the missing link-back in the reply thread, and to [@photomatt](https://x.com/photomatt) for confirming CMD-click works in Claude Code — that was the nudge to flip the rule.
|
|
|
|
## v3 is the intelligent search release
|
|
|
|
v3 is a ground-up engine rewrite by [@j-sperling](https://github.com/j-sperling). The old engine searched keywords. The new engine understands your topic first, then searches the right people and communities.
|
|
|
|
Type "OpenClaw" and v3 resolves @steipete, r/openclaw, r/ClaudeCode, and the right YouTube channels and TikTok hashtags before a single API call fires. Type "Peter Steinberger" and it resolves his X handle and GitHub profile, switches to person mode, and shows what he shipped this month at 85% merge rate across 22 PRs. None of that was on Google.
|
|
|
|
## Headline features
|
|
|
|
### Intelligent pre-research
|
|
|
|
The killer feature. A new Python pre-research brain resolves X handles, GitHub repos, subreddits, TikTok hashtags, and YouTube channels before searching. Bidirectional: person to company, product to founder, name to GitHub profile. The right subreddits, the right handles, the right hashtags, all resolved before a single API call.
|
|
|
|
### Best Takes
|
|
|
|
A second LLM judge scores every result for humor, wit, and virality alongside relevance. Every brief now ends with a Best Takes section surfacing the cleverest one-liners and most viral quotes. The Reddit and X people are funny, and the old engine buried their best stuff.
|
|
|
|
### Cross-source cluster merging
|
|
|
|
When the same story hits Reddit, X, and YouTube, v3 merges them into one cluster instead of three duplicates. Entity-based overlap detection catches matches even when the titles use different words.
|
|
|
|
### Single-pass comparisons
|
|
|
|
"X vs Y" used to run three serial passes (12+ minutes). v3 runs one pass with entity-aware subqueries for both sides at once. Same depth, 3 minutes.
|
|
|
|
### GitHub person-mode and project-mode
|
|
|
|
When the topic is a person, the engine switches from keyword search to author-scoped queries. PR velocity, top repos by stars, release notes for what shipped this month, woven into the narrative alongside X posts and Reddit threads.
|
|
|
|
When the topic is a project, it pulls live star counts, READMEs, releases, and top issues from the GitHub API. No stale blog posts.
|
|
|
|
### ELI5 mode
|
|
|
|
Say "eli5 on" after any research run. The synthesis rewrites in plain language. No jargon. Same data, same sources, same citations, just clearer. Say "eli5 off" to go back.
|
|
|
|
### 13+ sources
|
|
|
|
v3 adds Threads, Pinterest, Perplexity, Bluesky, and Parallel AI grounding to the existing Reddit, X, YouTube, TikTok, Instagram, Hacker News, Polymarket, GitHub, and Web lineup. Perplexity Deep Research (`--deep-research`) gives you 50+ citation reports for serious investigation.
|
|
|
|
### Per-author cap and entity disambiguation
|
|
|
|
Max 3 items per author prevents single-voice dominance. Synthesis trusts resolved handles over fuzzy keyword matches.
|
|
|
|
## Install
|
|
|
|
Claude Code:
|
|
|
|
```
|
|
/plugin marketplace add mvanhorn/last30days-skill
|
|
```
|
|
|
|
OpenClaw:
|
|
|
|
```
|
|
clawhub install last30days-official
|
|
```
|
|
|
|
OpenAI Codex CLI: run `codex` from a checkout of this repo and v3's skill at `.agents/skills/last30days/SKILL.md` will be discovered automatically. Or copy `SKILL.md` to `~/.agents/skills/last30days/SKILL.md` for a global install.
|
|
|
|
Zero config. Reddit, Hacker News, Polymarket, and GitHub work immediately. Run it once and the setup wizard unlocks X, YouTube, TikTok, and more in 30 seconds.
|
|
|
|
## v3 Community
|
|
|
|
v3 was shaped by community contributors whose PRs and issues inspired core features. Their code wasn't merged directly (v3 was a ground-up rewrite), but their ideas drove what shipped.
|
|
|
|
Thanks to @uppinote20, @zerone0x, @thinkun, @thomasmktong, @fanispoulinakisai-boop, @pejmanjohn, @zl190, and @hnshah. See [CONTRIBUTORS.md](CONTRIBUTORS.md) for the full list.
|
|
|
|
Contributors who shaped the release itself:
|
|
|
|
- @Jah-yee (#153) surfaced the need for a real Codex CLI integration, which shipped in #219
|
|
- @Cody-Coyote (#204) reported the marketplace validation bug that needed fixing before v3 could ship cleanly
|
|
- @dannyshmueli pushed for v3 and Codex family support publicly on X
|
|
|
|
Full Added / Changed / Fixed detail lives in [CHANGELOG.md](CHANGELOG.md) under `[3.0.0]`.
|
|
|
|
## Earlier contributors
|
|
|
|
From the v1 and v2 lineage:
|
|
|
|
- [@galligan](https://github.com/galligan) for marketplace plugin inspiration
|
|
- [@hutchins](https://x.com/hutchins) for pushing the YouTube feature
|
|
|
|
30 days of research. 30 seconds of work. Thirteen sources. Zero stale prompts.
|