Deep Research Skill
Three-stage Process: Understand Requirements → Iterative Exploration → Integrate Report.
Control multiple AI services for parallel research via Playwright MCP. Details of interactions with each service can be found in reference files.
Prerequisites
- Playwright MCP must run in persistent browser mode () so that the login states of each AI service are retained
- Users need to log in to the desired AI services (Gemini, ChatGPT, Claude, Grok) in the Playwright browser in advance — you don't need to log in to all, only use the ones you've logged into
- The selectors of this skill are based on Chinese UI environment; button names and placeholders will differ in English UI, so real-time detection via is required
Available AI Services and Modes
| Service | Mode | Time Cost | Features |
|---|
| Gemini Pro | Fast | 10-60s | Quick Q&A, fact-checking (with search capability) |
| Gemini Deep Research | Deep | 5-10min | Multi-source synthesis, broad coverage |
| ChatGPT Thinking | Fast | 10-120s | In-depth reasoning, structured analysis |
| ChatGPT Deep Research | Deep | 5-30min | Multi-source synthesis, broad coverage |
| Claude Opus Extended | Fast | 10-120s | In-depth reasoning, solution design |
| Grok Fast/Expert | Fast | 10-60s | X/Twitter Content Search, real-time discussions and trends |
| Grok DeepSearch | Deep | Several minutes | In-depth search, social media opinion aggregation |
These are toolboxes, not assembly lines. Flexibly select and combine them based on research needs.
Interaction references:
- references/gemini.md — Gemini operations, selectors, extraction
- references/chatgpt.md — ChatGPT operations (the most fragile service, pay attention to defense)
- references/claude-web.md — Claude operations, selectors, extraction
- references/grok.md — Grok operations (unique entry for X/Twitter content search)
- references/extraction.md — General extraction techniques (chunking, reference links, saving)
- references/prompt-guide.md — Suggestions for constructing research prompts
Part 1: Understand Requirements
Goal: Clarify what the user needs, then get started.
First Judgment: Is the User's Requirement Clear?
After receiving the user's query, first judge whether you can understand the object, scope, and purpose of the research:
- Clear → Directly confirm your understanding with the user (if scope adjustment is needed), then start
- Generally clear but with ambiguous details → First perform 2-3 WebSearch to supplement your cognition, then confirm with the user
- Unclear → First perform WebSearch to establish domain cognition, then clarify with specific questions to the user
Clarification is not a formality — if the user's intention is obvious, taking action directly is more useful than asking a bunch of questions.
Construct Queries
Prepare a query for each selected AI mode. Providing different perspectives to different AIs is more effective than using the same prompt for all. See prompt-guide.md.
Create Research Directory
Create a research directory at an appropriate location (e.g.,
), and create todo.md to record the status.
Part 2: Iterative Exploration
Goal: Conduct multi-channel concurrent searches, gradually deepen, until sufficient information is obtained.
Depth is Determined by Progress
Do not preset research depth; let the research process speak for itself:
- Start : First use fast modes to lay the groundwork (Gemini Pro, ChatGPT Thinking, Claude Opus, Grok Expert) to quickly establish baseline cognition
- Discover Complexity : If results from fast modes show the topic is indeed multi-dimensional, contradictory, or requires more sources → Add Deep Research / DeepSearch
- Converge : If fast modes have provided consistent and sufficient answers → No need to enable DR, directly integrate
Do not use a sledgehammer to crack a nut for simple questions. Do not stop at the surface for complex questions. Let the information itself tell you how deep to dig.
Dispatch
Specific operation steps for each AI service can be found in their respective reference files. General process:
- Open a new Tab → Navigate to the service → Check login status
- Select mode → Enter query
- Record to todo.md (Tab number + query content)
- Switch to the next one immediately after sending, do not wait for results
Login Handling : These services use the user's account. If a service is found to be unlogged, immediately pause and inform the user, allowing the user to choose:
- Log in to the service in the Playwright browser, then continue
- Skip this service and continue with other logged-in services
Do not skip automatically — the user may want to log in.
Polling and Extraction
Extract as soon as results are available, do not wait for all streams to complete.
- Fast modes: Start checking after ~30s
- DR/DeepSearch modes: Start checking after ~90s
- Use screenshots to judge completion (more reliable than snapshot) — completion markers for each service can be found in reference files
Extraction techniques can be found in
extraction.md. Save each result as an independent md file (e.g.,
,
...).
Targeted Deepening
Evaluate immediately after extracting each result:
- What sub-issues have been discovered?
- Which dimensions lack data or have contradictions?
- Are there any unexpected findings worth investigating?
If yes → Add supplementary queries. Choose the most suitable tool:
- Fast modes — Targeted verification of specific sub-issues (seconds-level)
- WebSearch/WebFetch — Cross-validate facts (faster than opening a new AI Tab)
- DR/DeepSearch — Only use when the discovered sub-issues truly require broad coverage
- Grok — Especially suitable for viewing discussions and opinions on a topic on X/Twitter
Tab Management
- Keep active Tabs ≤8; too many will make the browser unstable
- Tabs that have been extracted can be retained (may need follow-up questions), but do not accumulate indefinitely
- If the browser disconnects: → → → Re-navigate
When to Stop
- Core questions have cross-validated answers
- New searches no longer produce substantial new information
- The scope required by the user has been fully covered
Part 3: Integrate Report
Goal: Restructure content by topic dimensions, cross-validate, and output an in-depth report.
Principles
- Organize by topic, not by source (do not use "Gemini said... ChatGPT said...")
- Label sources (e.g., , , ) so readers can judge credibility
- Both consensus (consistent across multiple channels) and disagreements (conflicting views) must be labeled
- Retain citation URLs — Original web source links are high-value information and must be included in the final report
- Do not force resolution of disagreements — Retain and label them, letting the user judge
- Information weight: DR is usually more comprehensive, fast modes are more focused, WebSearch is the most real-time, and Grok's X/Twitter links are exclusive information
Citation System
The report has two layers of citations, both of which must be properly handled:
1. Web Source Citations (Report → Original Webpage)
Label the original web source next to key facts, data, and viewpoints in the text. The format is flexible — footnotes, inline links, citation blocks at the end of paragraphs are all acceptable; choose the most readable way based on the report style. Core principle: When readers see a key assertion, they can directly find the original webpage for verification.
Citation links for each AI are in the
section of the original result files. When integrating, select the most relevant links from there to embed in the report text. No need to move all over — only retain those that support key arguments.
2. AI Source Labeling (Report → Which AI said it)
Use inline tags like
,
,
to label which AI mode the information comes from. This helps readers judge credibility (multi-source cross-validation in DR vs single inference in fast modes). Consensus across multiple channels can be labeled
[Multi-channel Consensus]
.
3. Original Result Index (Report → Original Files)
Attach
at the end of the report, listing all original result files and their corresponding query content:
## Original Result Index
| File | Service | Mode | Query Summary |
|------|------|------|----------|
| 01-gemini-pro.md | Gemini | Pro | ... |
| 02-chatgpt-dr.md | ChatGPT | Deep Research | ... |
This allows readers to trace back to the complete original results (including all reference links).
Process
- Write Draft — First write what you can based on existing results, and embed citation links simultaneously
- Mark Gaps — Which data is insufficient? Which has only a single source?
- Significant Gaps → Return to Part 2 to supplement
- Gradually Update — Update the report as new information is obtained
- Final Review — Check citation integrity (Are key assertions supported by sources?) → Deliver to user
todo.md Persistence
Research may span sessions. todo.md is the recovery point.
markdown
# Research: [Topic]
## Status: [In Progress/Completed]
## Search Streams
|---|------|------|-----|----------|------|
| 01 | Gemini | Pro | 2 | ... | Extracted |
| 02 | ChatGPT | DR | 3 | ... | Pending |
| 03 | Grok | Expert | 4 | ... | In Progress |
## Discovered Sub-issues
- [ ] ...
## Integration Progress
- [ ] Draft
- [ ] Gap Filling
- [ ] Final Review
Cross-session Recovery : Read todo.md → Check existing Tabs via
list → Restore accordingly.
Error Handling
| Scenario | Suggestion |
|---|
| Not Logged In | Pause and inform the user — Let the user choose to log in or skip the service |
| Browser Disconnection | → → sleep 2 → Re-navigate |
| Cloudflare Interception | Retry navigation 1-2 times; usually passes on the second try |
| Single Tab Timeout (>40min) | Mark as timeout, continue with other streams |
| Extraction Returns Empty | See the downgrade strategy in extraction.md |
| snapshot Returns Empty | Retry after 2-3 seconds; ChatGPT/Grok sometimes enter a transient empty state |
| DR Not Started | ChatGPT DR may first send clarification questions; detect and reply to let it start directly |
| DR/DeepSearch Quota Exhausted | Skip, use fast modes or WebSearch to supplement |
Partial failure does not affect output : A report can still be generated if ≥2 streams succeed (note the source scope).