skills/trend-scan/SKILL.md
--- name: trend-scan description: Two modes — (1) discover what's trending right now across Hacker News, Reddit, YouTube, Product Hunt (no topic needed), returning a picklist of top N themes; (2) deep-dive a specific topic across the same sources and return a ranked brief. Flow: discover → user picks → deep-dive. YouTube hits matching a "load-bearing" heuristic get transcript snippets inlined by default. category: research argument-hint: [topic] [--discover] [--sources hn,reddit,youtube,producth
npx skillsauth add RonanCodes/ronan-skills skills/trend-scanInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Parallel fan-out across source scanners. Two modes sharing the same plumbing:
--discover) — "what's hot right now?" Pulls each source's hot/front feeds, extracts themes, returns a numbered picklist so the caller can pick one.The natural loop: /ro:trend-scan → pick a theme → /ro:trend-scan "<theme>".
# discover
/ro:trend-scan # top 10 themes across hn/x/reddit, last 7d
/ro:trend-scan --discover --since 24h --limit 15 # fresher, more themes
/ro:trend-scan --discover --sources hn,reddit # skip X if you know nitter's down
# deep-dive
/ro:trend-scan "agent observability"
/ro:trend-scan "MCP servers" --sources hn,reddit --since 7d
/ro:trend-scan "vibe coding" --since 30d --limit 15
hn,reddit,youtube,producthunt (X and LinkedIn are opt-in — X because nitter mirrors are currently dead, LinkedIn because cookie auth is required)7dauto for YouTube in discover mode (transcript snippets inlined for the ~2-5 high-signal hits per scan). Override with --rich off for a lean scan, or --rich all to transcript every YT hit (slow)Without inline transcripts, trend-scan surfaces YouTube talks by title and view count only. A keynote like "The Future of MCP" is logged as a high-view hit; the actual substance (new concepts, timelines, quotes the user would want to act on) stays invisible until someone watches it. The auto-rich default closes that gap: for videos that match the trigger heuristic, ~1000 words of captions land inline in the scan output, so the caller (Claude or user) can react immediately.
Precedent: the "server cards" concept went untracked for 4 days in 2026-04 because its keynote was logged by title only. Since fixed.
Use this when the caller hasn't named a topic yet.
/ro:hn-scan frontpage --limit 30 + /ro:hn-scan show --since 7d --limit 15/ro:reddit-scan r/<sub> --sort top --since week --limit 10 each. Default sub set: r/LocalLLaMA, r/ClaudeAI, r/singularity, r/programming, r/hackernews, r/OpenAI/ro:youtube-scan --rich auto in discover mode — runs 3 seed searches (AI, coding, new tool), dedupe by URL, sort by views, and inlines transcript snippets for hits matching the rich heuristic (default: views ≥ 50k OR title contains mcp/agent/claude/anthropic/openai/protocol/spec/sdk)/ro:producthunt-scan — today's feed, cluster by theme keywords/ro:x-scan "search:AI" (or a set of broad seeds) — be ready for nitter failure, skip cleanly# What's trending (window: <since>, sources: <which ran>)
1. **<Theme>** (<N> mentions, sources: hn, x)
- [HN, 700pts] <representative title> https://news.ycombinator.com/item?id=<id>
- [X, 4.2k♥] @<user>: <gist> https://x.com/...
<1-line gist of what the theme is actually about>
2. **<Theme>** ...
...
## Next step
Pick one with: `/ro:trend-scan "<theme>"` for a deep-dive.
Use this when the caller has named a topic.
source (hn | x | reddit | linkedin)title_or_gist (headline, tweet text, or post summary)url (the thread / post URL)score (points, likes, upvotes — source-specific units)comments (if applicable)authorcreated_atrank = score / (age_hours + 2)^1.5sources: [hn, x].# Trend: "<topic>" (window: <since>, sources: <which ran>)
## Themes
- <one-line pattern #1>
- <one-line pattern #2>
- <one-line pattern #3>
## Top items
1. [HN, <points>pts, <comments>c] <title>
https://news.ycombinator.com/item?id=<id>
<external url if relevant>
<1-line takeaway>
2. [X, <likes>♥] @<user>: <gist>
https://x.com/<user>/status/<id>
3. [Reddit, <score>, r/<sub>] <title>
https://reddit.com/<permalink>
...
## Sources that failed or were skipped
- LinkedIn: not requested (opt-in)
- X: no results (nitter mirrors down — retry later with `--sources hn,reddit`)
/ro:perplexity-research as a fallback.| Task | Use |
|---|---|
| "What's hot right now?" (no topic) | /ro:trend-scan (discover mode) |
| "What's hot on this topic?" | /ro:trend-scan "<topic>" (deep-dive) |
| "Fetch this specific thread" | /ro:hn-scan <url> or /ro:reddit-scan <url> |
| "Read this tweet" | /ro:x-scan <url> |
| "Research a topic with citations" | /ro:perplexity-research |
| "Keep this content long-term" | llm-wiki /ingest |
Inherits dependencies from the scanners it calls (curl, optional firefox-cookies for LinkedIn).
/ro:hn-scan, /ro:x-scan, /ro:reddit-scan, /ro:linkedin-scan — the per-source skills this orchestrates./ro:perplexity-research — citation-backed AI research; complementary (perplexity = depth, trend-scan = breadth).llm-wiki/.claude/skills/ingest — when you want to keep the findings.testing
--- name: linear-pipeline description: The Fable orchestrator for a single dispatched Linear ticket. Holds almost no context itself; it receives `--issue <ID> --detached`, decides the stage sequence, and fans out a sub-agent per stage, passing forward only each stage's artifact (never re-derived, never inlined into its own context). Step zero, before any planning or stage routing, is a boundary triage against `canon/security-boundary.md` (#199): a match tags Ronan Connolly and stops the run, no
development
--- name: in-your-face description: Capture a chat-only answer into a durable artifact (markdown + HTML, PDF when cheap) and launch it automatically so the user cannot miss it. Use when user says "in your face", "don't let me lose this", "save that answer", "make that durable", or right after answering a substantive side question (a recipe, comparison, how-to, or generated prompt) that would otherwise die with the context. category: workflow argument-hint: [--no-open] [--vault <short>] [hint of
tools
One-shot headless OpenAI Codex CLI calls for background/admin AI tasks — summaries, classification, extraction, admin glue. The default engine for anything that runs AI constantly in the background (daemon-driven, per-event), because it bills the flat ChatGPT subscription instead of Claude usage or per-token API spend, and it keeps working while Claude is rate-limited. NEVER for coding — coding stays Claude. Use when a skill or daemon needs a cheap always-on AI call, when the user says "use codex", "ask codex", "codex as backup", or when building a background summarizer/classifier into a listener or loop. Reads auth from ~/.codex/auth.json (ChatGPT account, no API key).
research
Turn a warranty rejection, repair quote, or RMA email into a cited decision brief — legal read (NL/EU consumer law), is the part user-serviceable, live part and new-unit prices, repair-vs-DIY-vs-new economics, before-you-send-it checklist, deadlines. Use when the user pastes or screenshots a repair quote, warranty rejection, "not covered" email, onderzoekskosten fee, or asks "should I repair or replace this".