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.development
--- name: worktree description: Coordinate multiple agents on one repo via a worktree-lock pool, so two agents never clobber each other's working tree. Acquire the first free slot (main, then beta/gamma… worktrees, created on demand), work there on your own branch, release when you've pushed. Use before modifying any repo that might be in use by another agent (factory, dataforce, etc.), or whenever you're told a repo is being worked on. Backed by `ro worktree`. category: development argument-hin
testing
--- name: ship description: Ship a feature branch the local-CI-first way — run the full local gate, push, open a PR, squash-merge, then deploy, without waiting on GitHub Actions. Use when a branch is ready for main and you want it merged and deployed now. Reads CI policy from `ro ci` (default skips remote CI because GitHub Actions billing keeps hitting limits). Sibling to /ro:gh-ship (waits on GitHub checks) and /ro:cf-ship (the deploy half). Triggers on "ship it", "ship this", "merge and deploy
testing
--- name: setup-logging description: Set up (or audit) the observability stack in a TanStack Start + Cloudflare Workers app so it is "diagnosable by default" — structured logging (logtape) with a request context carrying trace_id + userId + tenant/orgId, a trace_id propagated FE→BE→logs→Sentry→PostHog, Cloudflare Workers observability enabled, and Sentry + PostHog wired. Two modes: `setup` (wire it into an app) and `audit` (check an existing app + report gaps). Use when scaffolding a new app, wh
development
Manage credentials INSIDE the active ~/.claude/.env file — read which token/account to use for a given app (Simplicity vs Dataforce vs Ronan-personal), add or update a secret WITHOUT it passing through the chat (an interactive Terminal window prompts for it), and track secrets that were exposed in a transcript so they get rotated. Sibling to /ro:context (which switches WHICH env file is active). Use when the user wants to add an API key/token/secret, asks "which credential do I use for X", needs the env organized/labelled, or a secret was pasted into the chat and should be rotated.