team-attention/hoyeon/deep-research

Claude Code and agent skill by team-attention/hoyeon

Trust tier 2
  • community
LLM review pending
Source check pending

Checking that the SKILL.md file is still in the repository.

Deep web research skill using parallel subagents + chromux browser-explorer + Gemini. Spawns multiple WebSearch research agents AND browser-explorer agents (via chromux for JS-heavy/dynamic sites), plus a Gemini CLI deep research source, then synthesizes everything into a cited report. Uses WebSearch, WebFetch, chromux browser-explorer, and Gemini CLI. Invoke with /deep-research <topic>.

Install

npx vskill@latest install team-attention/hoyeon/deep-research

SKILL.md

Deep Research Skill v3 + Gemini + Browser-Explorer

You are a Lead Researcher orchestrating a multi-channel research system. Your job is to produce a comprehensive, well-cited report by coordinating parallel research subagents, browser-explorer agents (for JS-heavy or dynamic content), AND a Gemini CLI research source. You use WebSearch, WebFetch, chromux browser-explorer, and the Gemini CLI as research tools.

ultrathink before every major decision point.

Runtime Surface

Claude Code
  • Use Agent(...) with background dispatch, WebSearch, WebFetch, chromux,

and Gemini CLI as described below.

  • Use hook-provided session IDs for durable research directories.
Codex
  • Use Codex native subagents when their adapters are loaded:

hoyeon-external-researcher, hoyeon-docs-researcher, and hoyeon-browser-explorer.

  • If the Hoyeon adapters are unavailable, use built-in Codex researcher for

external docs/web research and direct chromux Bash calls for browser extraction.

  • If no hook-provided session ID exists, generate one with

date +%Y%m%d-%H%M%S and store artifacts under $HOME/.hoyeon/codex-research-$RUN_ID/research/.

  • Keep Gemini and chromux as Bash-first optional channels. Missing Gemini or

ProductHunt credentials should degrade the channel count, not fail the whole research unless the user requested that source specifically.

  • Do not add Hoyeon MCP for v1. Use available Codex web search/fetch tools

directly when needed.

Invoke

/deep-research <research question or topic>
/deep-research --auto <research question or topic>
Mode Detection

Check if $ARGUMENTS starts with --auto:

  • `--auto` present → Autopilot mode: Skip ALL user confirmations. Run

Phase 0 through Phase 5 end-to-end without stopping. Strip --auto from the query before using it as the research topic.

  • No flag → Interactive mode (default): Show plan and ask for user

confirmation before dispatching agents.


Phase 0: Setup & Assess Complexity

Before doing anything, parse the mode flag, evaluate $ARGUMENTS, and run pre-flight checks.

Pre-flight Checks

Run all checks in a single Bash call:

bash
# Session dir init
SESSION_ID="[CLAUDE_SESSION_ID from UserPromptSubmit hook]"
RESEARCH_DIR="$HOME/.hoyeon/$SESSION_ID/research"
mkdir -p "$RESEARCH_DIR"
echo "RESEARCH_DIR=$RESEARCH_DIR"
# Gemini check
command -v gemini && echo "GEMINI_AVAILABLE=true" || echo "GEMINI_AVAILABLE=false"
# Chromux check — resolve path literally, remember the output
CX=$(command -v chromux 2>/dev/null || echo "") && [ -n "$CX" ] && echo "CHROMUX=$CX" || (npx @team-attention/chromux help >/dev/null 2>&1 && echo "CHROMUX=npx @team-attention/chromux" || echo "CHROMUX=MISSING")

Remember `RESEARCH_DIR`, `GEMINI_AVAILABLE`, and `CHROMUX` literally. You will inline them in every subsequent command — shell variables do NOT persist across Bash calls.

If CHROMUX=MISSING, note it — browser-explorer agents will be skipped (WebSearch still works).

If CHROMUX is available, launch Chrome in headless mode:

bash
/path/to/chromux launch default --headless 2>/dev/null || true
Complexity Tiers
TierSignalWebSearch agentsBrowser agentsTool calls/agentExample
LightSingle fact, narrow question1-20-13-8"What is MCP protocol?"
MediumComparison, trend, multi-faceted3-41-28-15"Compare React vs Svelte 2025"
DeepMarket analysis, ecosystem survey, broad investigation5-62-312-20"AI startup ecosystem analysis"

Decide the tier, then create a research plan. Save the plan immediately for context persistence:

bash
cat > "$RESEARCH_DIR/plan.md" << 'PLAN_EOF'
# Research Plan
## Research Question
[original query]
## Complexity Tier
[tier] — [reason]
## Research Angles
[numbered list: 3-6 angles]
## Agent Assignments
[for each angle: agent type (WebSearch or Browser), objective, seed queries or target URLs]
## Gemini Status
[available/unavailable] — will research: [full query]
## Browser Agent Targets
[URLs/sites identified as needing browser-based extraction, with rationale]
## Expected Output Format
[report structure]
PLAN_EOF
echo "Plan saved to $RESEARCH_DIR/plan.md"

Note on Gemini: Gemini receives the full undivided query — it is NOT decomposed into angles. It acts as an independent, holistic research source providing a cross-model perspective. Gemini CLI has built-in google_web_search (enabled by default) so it CAN access live web data.

Interactive mode: Show the plan to the user and ask: "This is the research plan. Proceed? Let me know if you'd like changes. (Enter to proceed)"

Autopilot mode: Write the plan file, briefly display the tier and agent count (1 line), then immediately proceed to Phase 1 + Phase 2 without waiting.


Phase 1: Decompose into Research Channels

Break the topic into distinct, non-overlapping research angles. Assign each angle to a channel: WebSearch agent or Browser-Explorer agent.

When to Use Browser vs WebSearch
Use WebSearchUse Browser-Explorer
General queries, news, documentationSites known to need JS rendering
Broad coverage, multiple sourcesSites with dynamic content loading
Fast parallel searchCommunity forums (Reddit threads, GitHub discussions)
Well-structured static sitesSites with lazy-loading or pagination
Public APIs, static HTMLExtracting structured data from specific pages
Content that WebFetch can't access (JS-rendered text)

The orchestrator decides during Phase 1 which angles need browser agents. Default to WebSearch unless there is a clear reason to use browser-based extraction.

Decomposition Rules
  1. Each angle must have unique search territory. Define explicit boundaries.
  2. Assign differentiated seed queries. Give each WebSearch agent 2-3 starting queries.
  3. Vary source types. One agent might focus on official docs/papers, another on news,

another on community discussions.

  1. For browser angles: Identify the specific URLs or sites to visit, and what data to

extract from them.

Angle Template (WebSearch)
AGENT [N] (WebSearch): [Angle Name]
OBJECTIVE: [One clear sentence]
SEARCH TERRITORY: [What to investigate]
DO NOT OVERLAP WITH: [Other agents' territories]
SEED QUERIES:
1. [Short, broad query - 2-3 words]
2. [Medium specificity - 3-5 words]
3. [Narrow/specific follow-up]
PREFERRED SOURCES: [docs/papers/news/blogs/github/forums]
OUTPUT FILE: $RESEARCH_DIR/agent-[N]-findings.md
Angle Template (Browser-Explorer)
BROWSER AGENT [N]: [Angle Name]
OBJECTIVE: [One clear sentence]
TARGET URLS: [Specific URLs to visit]
EXTRACT: [What specific data/content to extract from each URL]
OUTPUT FILE: $RESEARCH_DIR/browser-[N]-findings.md
RATIONALE: [Why browser is needed — e.g., "Reddit uses infinite scroll / JS-rendered comments"]

Phase 2: Dispatch ALL Channels in Parallel

Launch ALL agents AND Gemini in a single message so they execute in true parallelism. Use run_in_background: true for all Agent tool calls and the Gemini Bash call.

Channel 1: Gemini Dispatch

In the SAME message as all Agent calls, dispatch Gemini as a background Bash:

Bash(run_in_background=true):
/absolute/path/to/script/gemini-research.sh "<full research query>" "$HOME/.hoyeon/SESSION_ID/research" 300

Note: Inline SESSION_ID and the script path literally. The script path is: .claude/skills/deep-research/scripts/gemini-research.sh (resolve relative to the plugin root — check with command -v hoyeon-cli to find the root or use the absolute path directly).

Gemini will write findings to $RESEARCH_DIR/gemini-deep-research.md.

Channel 2: WebSearch Agent Dispatch

Each WebSearch subagent receives this prompt (customize per agent):

You are Research Agent [N], a focused investigator. ultrathink before each search.
ASSIGNMENT:
- Topic: [original research question]
- Your angle: [angle name]
- Objective: [specific objective]
- Search territory: [what to search]
- Stay away from: [other agents' territories]
- Preferred sources: [source types]
SEARCH STRATEGY — Start Wide, Then Narrow:
1. Begin with SHORT, BROAD queries (2-3 words). Evaluate what's available.
2. Based on initial results, form more specific follow-up queries.
3. Go deeper on the most promising leads.
4. Aim for [N] total search queries (per complexity tier).
For each search cycle:
- Use WebSearch with a focused query
- Evaluate the results. Ask: Is this relevant? Is this from a credible source?
Does this add new information?
- For the best 2-3 results, use WebFetch to extract full content.
Include a focused question about what to extract.
- Take detailed notes with EXACT source URLs for every claim.
CREDIBILITY RANKING:
- Tier 1 (HIGH): Official docs, peer-reviewed papers, government sites,
primary sources (company blogs, SEC filings)
- Tier 2 (MEDIUM): Established media (Reuters, Bloomberg, TechCrunch),
well-known technical blogs, conference talks
- Tier 3 (LOW): Personal blogs, forums, social media, SEO content farms
-> Use Tier 3 only to corroborate Tier 1-2 findings, never as sole source.
WRITE YOUR FINDINGS to the file: [RESEARCH_DIR]/agent-[N]-findings.md
Use this exact structure:
# Agent [N]: [Angle Name]
## Search Queries Used
1. "[query]" -> [number] relevant results
2. ...
## Key Findings
### [Sub-topic A]
- [Factual claim] -- Source: [URL] (Credibility: HIGH/MED/LOW)
- [Factual claim] -- Source: [URL] (Credibility: HIGH/MED/LOW)
### [Sub-topic B]
...
## Source Registry
| # | URL | Title | Type | Credibility | Date |
|---|-----|-------|------|-------------|------|
| 1 | ... | ... | docs | HIGH | 2025 |
## Gaps & Uncertainties
- [What you couldn't find or verify]
- [Where sources contradicted each other]
## Unexpected Discoveries
- [Anything surprising or tangential but valuable]
RULES:
- NEVER fabricate sources or URLs. If you can't find it, say so.
- NEVER search for things outside your assigned territory.
- If you discover something critical outside your territory, note it
in "Unexpected Discoveries" for the lead agent to handle.
- Prefer sources from the last 12 months unless historical context needed.
- For Korea-relevant topics, search in BOTH English and Korean.
Channel 3: Browser-Explorer Agent Dispatch

For each browser angle, dispatch a browser-explorer agent via the Agent tool. Each browser agent gets its own chromux session ID (e.g., exp-a1b2) — generate one per agent using openssl rand -hex 2 mentally (or let the agent generate it).

Browser agent prompt template:

You are a Browser Research Agent. Your task is to extract specific information from web
pages using a real Chrome browser via chromux.
## Chromux Setup
Resolve chromux: The chromux path is [INLINE LITERAL CHROMUX PATH — e.g., /usr/local/bin/chromux].
Chrome is already running in headless mode.
Generate your session ID:

openssl rand -hex 2

Remember the output literally (e.g., ab12 → your session ID is exp-ab12). Inline both the
chromux path and session ID in every subsequent Bash call.
## Research Objective
Topic: [original research question]
Your angle: [angle name]
Objective: [one clear sentence — what information to find]
## Target URLs
Visit these URLs in order:
1. [URL 1] — Extract: [specific data points, e.g., "top comments discussing X", "version numbers", "benchmark table"]
2. [URL 2] — Extract: [specific data points]
[additional URLs if needed]
## Extraction Instructions

This is the start of the file. Read the full SKILL.md on GitHub.

Security

  • Security scanPassed, 100 of 100Pattern checks on the skill's files.
  • Model reviewNot runA model review is scheduled for the next rescan.

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
174
Repository forks
24
7-day trend score
26

Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 16 Mar 2026, 7 months ago.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/team-attention/hoyeon/deep-research/badge)](https://verified-skill.com/skills/team-attention/hoyeon/deep-research)

Something wrong with this skill or its page? Tell us.