| disable-model-invocation | true |
| name | free-research |
| alias | /free-research |
| version | 1.1.0 |
| description | Free multi-source research aggregator — searches HackerNews, Reddit, YouTube, GitHub, arXiv, Wikipedia, Polymarket, and DuckDuckGo without API keys. Use when user asks to research a topic, find recent discussions, check what people are saying about something, gather context on a technology, search HN/Reddit/GitHub, or says "what's happening with X", "find info about", "look up recent news on", "research this", "gather intel on". Triggers on any request for a broad multi-source research overview.
|
| user_invocable | true |
Free Research Skill
Zero-cost multi-source research aggregation. No API keys required.
Available Sources (All Free)
| Source | API | What it covers |
|---|
| hackernews | Algolia | Tech, startups, programming |
| reddit | JSON API | Broad discussions, communities |
| youtube | yt-dlp | Video content + transcripts |
| github | Search API | Repositories, code projects |
| arxiv | Atom API | Academic papers, preprints |
| wikipedia | MediaWiki API | Encyclopedic articles, recent edits |
| polymarket | Gamma API | Prediction markets, current events |
| websearch | DuckDuckGo | General web results |
| twitter | browser-agent | X posts (opt-in, needs Chrome + login) |
How to Run
Standard research (all default sources)
bun ~/.claude/skills/free-research/scripts/research.js "<topic>" --agent --emit=compact
Quick research (faster, fewer results)
bun ~/.claude/skills/free-research/scripts/research.js "<topic>" --quick --agent --emit=compact
Deep research (more results)
bun ~/.claude/skills/free-research/scripts/research.js "<topic>" --deep --agent --emit=compact
Specific sources only
bun ~/.claude/skills/free-research/scripts/research.js "<topic>" --sources=reddit,hackernews,github --agent --emit=compact
With browser sources (X/Twitter)
curl -sf http://127.0.0.1:9222/json/version >/dev/null 2>&1 || bash ~/.claude/skills/browser-agent/scripts/start-chrome.sh --kill-existing
bun ~/.claude/skills/free-research/scripts/research.js "<topic>" --browser --agent --emit=compact
Check what's available
bun ~/.claude/skills/free-research/scripts/research.js diagnose
View/change settings
bun ~/.claude/skills/free-research/scripts/research.js settings
bun ~/.claude/skills/free-research/scripts/research.js set sources "hackernews,reddit,youtube,github"
bun ~/.claude/skills/free-research/scripts/research.js set days 14
All Flags
| Flag | Description |
|---|
--quick | 10 results/source, 15s timeout |
--deep | 50 results/source, 60s timeout |
--days=N | Look back N days (default: 30) |
--sources=a,b,c | Only these sources |
--browser | Enable browser-based sources (twitter) |
--emit=compact|json|md | Output format |
--refresh | Bypass 24h cache |
--agent | Machine-readable output (always use from skill) |
--save-dir=PATH | Save output to directory |
After Getting Results
The script outputs structured research data organized by source. As the assistant, you MUST:
- Synthesize raw data into a coherent research brief — don't just echo the results
- Identify key themes across sources (what's Reddit saying vs HN vs GitHub vs arXiv)
- Highlight high-scoring items — higher score = more engagement + recency
- Note cross-platform signals — topics appearing on 2+ sources are stronger signals
- Flag gaps — mention if any sources returned errors or no results
- Provide actionable insights — what should the user know or do based on these findings
- Include relevant URLs so the user can dive deeper
Settings File
Persisted at ~/.config/free-research/settings.json. Users can change default sources, depth, days, and add custom API sources.
Custom Sources
Users can add any free JSON API as a custom source in settings.json. The {topic} and {limit} placeholders in the URL get replaced at runtime. Field mapping supports dot notation for nested JSON paths.