Scry
by @vihangd
Research any topic across 26+ sources: Reddit, X, YouTube, GitHub, HN, Bluesky, ArXiv, Dev.to, Polymarket, and more. The most comprehensive research skill av...
clawhub install scryπ About This Skill
name: scry version: "1.0.0" description: "Research any topic across 26+ sources: Reddit, X, YouTube, GitHub, HN, Bluesky, ArXiv, Dev.to, Polymarket, and more. The most comprehensive research skill available." argument-hint: 'scry AI agents, scry best Claude Code skills, scry bitcoin ETF --deep' allowed-tools: Bash, Read, Write, WebSearch homepage: https://github.com/khalidsh/scry-skill user-invocable: true
SCRY v1.0 β Research Any Topic Across 26+ Sources
Search Reddit, X, YouTube, GitHub, Hacker News, Bluesky, Dev.to, ArXiv, Polymarket, Stack Overflow, Product Hunt, Mastodon, Wikipedia, GDELT, CoinGecko, SEC EDGAR, TikTok, Instagram, HuggingFace, Substack, and more. Surface what people are discussing, building, citing, betting on, and debating right now.
CRITICAL: Parse User Intent
Before doing anything, parse the user's input for:
1. TOPIC: What they want to learn about 2. TARGET TOOL (if specified): Where they'll use the prompts 3. QUERY TYPE: - RECOMMENDATIONS β "best X", "top X" β wants a LIST - NEWS β "what's happening with X" β wants current events - PROMPTING β "X prompts" β wants techniques + copy-paste prompts - GENERAL β anything else β wants broad understanding 4. DOMAIN: Auto-detected or user-specified - tech β programming, AI, software, frameworks - science β research, papers, experiments - finance β stocks, earnings, markets - crypto β blockchain, tokens, DeFi - news β politics, geopolitics, events - entertainment β movies, music, gaming, social - general β everything else
Store these variables:
TOPIC = [extracted topic]TARGET_TOOL = [extracted tool, or "unknown"]QUERY_TYPE = [RECOMMENDATIONS | NEWS | PROMPTING | GENERAL]DOMAIN = [auto-detected or user-specified]DISPLAY your parsing:
I'll research {TOPIC} across 26+ sources to find what's been discussed in the last 30 days.Parsed intent:
TOPIC = {TOPIC}
DOMAIN = {DOMAIN}
QUERY_TYPE = {QUERY_TYPE}
TARGET_TOOL = {TARGET_TOOL or "unknown"} Research typically takes 1-3 minutes. Starting now.
Research Execution
Step 1: Run the SCRY script (FOREGROUND β do NOT background this)
CRITICAL: Run in FOREGROUND with 5-minute timeout. Read the ENTIRE output.
for dir in \
"." \
"${CLAUDE_PLUGIN_ROOT:-}" \
"$HOME/.claude/skills/scry" \
"$HOME/.agents/skills/scry"; do
[ -n "$dir" ] && [ -f "$dir/scripts/scry.py" ] && SKILL_ROOT="$dir" && break
doneif [ -z "${SKILL_ROOT:-}" ]; then
echo "ERROR: Could not find scripts/scry.py" >&2
exit 1
fi
python3 "${SKILL_ROOT}/scripts/scry.py" "$ARGUMENTS" --emit=compact
Use a timeout of 300000 (5 minutes) on the Bash call.
The script will automatically:
Read the ENTIRE output. It contains sections for every source that returned results.
Add --domain=DOMAIN if you detected the domain in intent parsing.
Add --deep if the user asked for comprehensive results.
Step 2: WebSearch Supplement
After the script finishes, do WebSearch to supplement with blogs, tutorials, and news.
Choose queries based on QUERY_TYPE:
best {TOPIC} recommendations, {TOPIC} list examples{TOPIC} news 2026, {TOPIC} announcement update{TOPIC} prompts examples 2026, {TOPIC} techniques tips{TOPIC} 2026, {TOPIC} discussionExclude reddit.com, x.com, twitter.com (covered by script).
Judge Agent: Synthesize All Sources
Ground your synthesis in the ACTUAL research content, not pre-existing knowledge.
1. Weight sources by domain relevance (tech: GitHub/HN/SO highest; science: ArXiv/S2 highest; etc.)
2. Cross-platform signals are strongest β items with [also on: ...] tags are most important
3. Note conflicts between sources (flagged in the output)
4. Extract top 3-5 actionable insights
CITATION RULES
If QUERY_TYPE = RECOMMENDATIONS
Extract SPECIFIC NAMES β products, tools, repos, people. Count mentions. List by popularity.Display Format
FIRST β What I learned:
What I learned:{Topic 1} β [1-2 sentences, per @handle or r/sub]
{Topic 2} β [1-2 sentences, per @handle or r/sub]
KEY PATTERNS from the research:
1. [Pattern] β per @handle
2. [Pattern] β per r/sub
3. [Pattern] β per GitHub repo
THEN β Stats (copy EXACTLY, replacing placeholders):
The script outputs a stats block β display it as-is. If it doesn't appear, build one:
---
β
All agents reported back!
ββ π‘ HN: {N} stories β {N} points β {N} comments
ββ π¦ Lobsters: {N} items β {N} points
ββ π Dev.to: {N} articles β {N} reactions
ββ π GitHub: {N} repos β {N}β
ββ π¦ Bluesky: {N} posts β {N} likes
ββ π Reddit: {N} threads β {N} upvotes
ββ π΅ X: {N} posts β {N} likes
ββ π΄ YouTube: {N} videos β {N} views
ββ π ArXiv: {N} papers β {N} citations
ββ π Polymarket: {N} markets β {odds summary}
ββ π Web: {N} pages β Source, Source, Source
ββ π£οΈ Top voices: @handle1, @handle2 β r/sub1, r/sub2
Omit any source line that returned 0 results.
LAST β Invitation (adapt to QUERY_TYPE):
Include 2-3 SPECIFIC suggestions based on research findings.
WAIT FOR USER'S RESPONSE
After showing results, STOP and wait.
WHEN USER RESPONDS
Agent Mode (--agent flag)
If --agent in ARGUMENTS:
1. Skip intro display
2. Skip AskUserQuestion calls
3. Run research + output report
4. Stop (no follow-up invitation)
Security & Permissions
What this skill does:
gh CLI for GitHub search (uses your existing auth)yt-dlp for YouTube search (public data)What this skill does NOT do:
Bundled scripts: scripts/scry.py (orchestrator), scripts/lib/ (shared utilities + source modules)