Stats were showing twice - once in Judge section, once at end.
Now Judge section just synthesizes internally, stats only appear
at the end right before invitation.
Order: What I learned -> Stats -> Share your vision
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
New order:
1. What I learned / KEY PATTERNS (or Most mentioned)
2. Stats (All agents reported back!)
3. Share your vision (last)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Prompting is the primary use case, so it should be first:
1. Prompting - "Midjourney prompts", "ChatGPT image generation"
2. Recommendations - "best Claude Code skills", "top AI tools"
3. News - "what's happening with OpenAI"
4. General - any topic
Also renamed HOW-TO query type to PROMPTING for clarity.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Claude was "helpfully" adding DALL-E, GPT-4o to searches when user
asked about "ChatGPT image prompting". This uses outdated knowledge.
Now explicitly instructs: use the user's exact terminology, don't
substitute or add tech names. Trust the user knows what they're
asking about.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Updated research banner:
- Added Judge Agent: "Standing by to synthesize..."
- Better emoji descriptions: "Scanning for gold", "Catching latest takes"
Updated completion display:
- "All agents reported back!"
- "Judge Agent: Weighing the evidence..."
- Emojis on the Judge's evaluation criteria
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
After research is complete, Claude is an expert. Follow-up questions
should be answered from the research findings, not trigger new
WebSearches. Only do new research for a different topic.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Since script runs in background, users don't see its live output.
Now Claude displays the fancy emoji banner immediately before
starting the background script.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Added QUERY_TYPE detection:
- RECOMMENDATIONS ("best X") → searches for lists, extracts specific names
- NEWS → searches for current events
- HOW-TO → searches for tutorials
- GENERAL → broad topic research
For RECOMMENDATIONS queries, synthesis now extracts specific entity names
with mention counts instead of generic patterns.
Example: "best Claude Code skills" now returns:
"Most mentioned: /commit (5x), remotion (4x), git-worktree (3x)"
Instead of:
"Skills are good. Keep them under 500 lines."
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Start the script first with run_in_background:true, then do WebSearch.
Both run in parallel so users see the script's progress display while
WebSearch also fetches results.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Suppress "Sources:" output from WebSearch (redundant noise)
- Reorder: Research Complete stats → What I learned → Share your vision
- Simplified KEY PATTERNS to 3 items
- Clean ending users see while waiting for their input
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Users now see the script's progress display as the "working state"
while waiting, rather than the WebSearch tool call.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
WebSearch shows as visible tool calls, so announcing it in the
banner was redundant. Now only Reddit and X agents are shown
in the initial display.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Deploy 3 agents in parallel: Reddit+X, WebSearch, Backup WebSearch
- Add visual progress indicators (🟠🔵🌐)
- Add Judge Agent to synthesize all sources
- Include web authors in top voices (e.g., "John on Medium")
- Weight Reddit/X higher than WebSearch (engagement signals)
Makes the research feel magical with parallel execution.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add WebSearch to allowed-tools
- Add --include-web flag to script invocation
- Add WebSearch Execution section with instructions
- Update summary format to include web sources
The skill now instructs Claude to use WebSearch after the
Python script runs, when the WEBSEARCH REQUIRED marker appears.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
If research says "use JSON prompts", the generated prompt MUST be JSON.
Previously the skill would learn about JSON format then ignore it and
write plain prose - defeating the purpose of the research.
- Add PROMPT FORMAT as required field to capture during research
- Add explicit anti-pattern warning about ignoring format
- Update quality checklist to verify format matches research
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1. Output order: What I learned → TARGET TOOL → KEY PATTERNS → Research Complete → Share vision
2. Fixed Reddit returning empty results - OpenAI was finding URLs but not extracting content
- Updated prompt to explicitly require extraction from search results
- Added "MUST include threads" instruction to prevent empty items
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Previously asked "What tool?" before running research, which was
backwards for exploratory queries like "iOS design mockups".
Now:
- If tool is specified in query, use it
- If tool NOT specified, run research first
- Ask about target tool AFTER showing results (with smarter options based on what research found)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The skill was finding correct sources (e.g., ClawdBot content) but Claude
was synthesizing based on its pre-existing knowledge (Claude Code skills)
instead of what the research actually said.
Added strong grounding instructions:
- CRITICAL warning to base synthesis on actual research, not pre-existing knowledge
- Anti-pattern example: don't conflate "clawdbot skills" with "Claude Code skills"
- Self-check reminder before displaying summary
- Updated "What I learned" template to emphasize traceability to sources
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- SKILL.md: Move "What I learned" BEFORE "Research Complete" stats
- Add error tracking to Report schema (reddit_error, x_error fields)
- Wrap OpenAI API calls in try/catch with clear error messages
- Show explicit error or "no results" messages in compact output
- Fix false positive error detection for null error fields
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Show proof of work first:
1. Research stats (upvotes, likes, sources)
2. Key patterns discovered (5 bullet points)
3. "I'm now an expert in X"
4. "Share your vision..."
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- quick: 8-12 sources each, faster response
- default: 20-30 sources each (unchanged behavior)
- deep: 50-70 Reddit, 40-60 X for comprehensive research
Adjusts API timeouts based on depth. Cache keys include depth
so different depths are cached separately.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- After stats summary, invite user to share what they want to create
- Wait for their response instead of auto-dumping generic prompts
- Write ONE tailored prompt based on their specific vision
- Only provide multiple options if they ask for more
- Stay in expert mode for follow-up requests
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Parse user intent for TOPIC and TARGET_TOOL upfront
- Ask follow-up if target tool unclear
- Show impressive stats summary after research (upvotes, likes, etc.)
- Primary output is now copy-paste-ready prompts for target tool
- Keep expert context for follow-up custom prompt requests
- Research is internalized, not dumped back at user
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Research topics across Reddit + X from the last 30 days using
OpenAI and xAI APIs. Features:
- Auto model selection (GPT-5.x, Grok-3)
- Popularity-aware scoring (relevance + recency + engagement)
- Reddit thread enrichment with real metrics
- Near-duplicate detection
- Multiple emit modes (compact, json, context, path)
- 24h caching with --refresh bypass
- NUX for API key setup
- 87 passing unit tests
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>