parallel-deep-research
parallel-web/parallel-agent-skills
Exhaustive multi-source research for complex topics when users explicitly request deep, comprehensive, or thorough investigation.
What is parallel-deep-research?
Parallel Deep Research performs slow, expensive multi-source investigation suitable only when users explicitly request 'deep research', 'exhaustive', 'comprehensive report', or 'thorough investigation'. It supports multi-turn research with context chaining via interaction IDs. For normal lookups and fact-checking, use parallel-web-search instead.
- Runs multi-source research across configurable processor tiers (lite-fast to ultra8x-fast) with latencies from 10 seconds to 2 hours
- Returns markdown reports with inline citations when --text flag is used, or structured JSON output
- Supports context chaining across multiple turns via --previous-interaction-id to drill deeper without restating prior research
- Provides real-time monitoring URLs and executive summaries upon completion
- Allows steering output with optional text-description parameter for length, format, or focus
How to install parallel-deep-research
npx skills add https://github.com/parallel-web/parallel-agent-skills --skill parallel-deep-research- parallel-cli >= 0.3.0 installed and authenticated
- Internet access
- Sufficient account balance for research operations
How to use parallel-deep-research
- 1.Choose a descriptive lowercase filename with hyphens (e.g., ai-chip-market-2026) based on your topic
- 2.Run parallel-cli research run with your topic, selecting a processor tier (pro-fast is default for exploratory research)
- 3.Parse the returned run_id and interaction_id from JSON output
- 4.Share the monitoring URL with the user and note expected latency
- 5.Run parallel-cli research poll with the run_id and filename to wait for results (up to 9 minutes)
- 6.Share the executive summary printed to stdout and generated file paths with the user
- 7.For follow-ups, reuse the interaction_id with --previous-interaction-id in the next research command
Use cases
- Comprehensive market analysis requiring 2-10 minute deep research across multiple sources
- Multi-turn investigation where follow-up questions build on prior research context
- Exhaustive competitive comparisons or technology evaluations needing structured depth
- Recent event analysis requiring fresh data re-fetching rather than cached results
- Complex topic exploration where initial research spawns detailed follow-up questions
- Researchers conducting thorough investigations or literature reviews
- Analysts preparing comprehensive reports or market assessments
- Product teams evaluating competitive landscapes in depth
- Anyone explicitly requesting exhaustive or deep research (not casual lookups)
parallel-deep-research FAQ
Use deep-research ONLY when the user explicitly says 'deep research', 'exhaustive', 'comprehensive report', or 'thorough investigation'. Deep research is 10-100x slower and more expensive. For normal research requests, quick lookups, or fact-checking, use parallel-web-search instead.
Default to pro-fast for exploratory research (2-10 min). Use lite-fast for quick lookups or follow-ups (10-60s), core-fast for moderate research (1-5 min), ultra-fast for multi-source deep research (5-25 min), or ultra variants for the hardest questions. Use -fast variants for cached data; drop -fast suffix for very recent events requiring fresh data.
Save the interaction_id from the first research. In follow-up questions, pass --previous-interaction-id with that value to automatically include prior context, allowing you to drill deeper without restating what was already researched.
The research continues running server-side. Re-run the same poll command to continue waiting. Higher processor tiers may exceed the 9-minute timeout; simply retry the poll.
With --text flag: $FILENAME.md (markdown report with citations) and $FILENAME.json (metadata). Without --text: only $FILENAME.json. Do not read file contents into context unless the user asks.
Full instructions (SKILL.md)
Source of truth, from parallel-web/parallel-agent-skills.
name: parallel-deep-research description: "ONLY use when user explicitly says 'deep research', 'exhaustive', 'comprehensive report', or 'thorough investigation'. Slower and more expensive than parallel-web-search. For normal research/lookup requests, use parallel-web-search instead. Supports multi-turn: pass --previous-interaction-id from a prior research or enrichment to continue with context." user-invocable: true argument-hint: <topic> compatibility: Requires parallel-cli >= 0.3.0 and internet access. allowed-tools: Bash(parallel-cli:*) metadata: author: parallel
Deep Research
Research topic: $ARGUMENTS
Requires
parallel-cli≥ 0.3.0. If any command below errors withno such option,no such command, orunrecognized arguments, the user is on an older CLI. Tell them to runparallel-cli update(orpipx upgrade parallel-web-toolsif installed via pipx), then retry.
When to use (vs parallel-web-search)
ONLY use this skill when the user explicitly requests deep/exhaustive research. Deep research is 10-100x slower and more expensive than parallel-web-search. For normal "research X" requests, quick lookups, or fact-checking, use parallel-web-search instead.
Step 1: Start the research
Choose a descriptive filename based on the topic (e.g., ai-chip-market-2026, react-vs-vue-comparison). Use lowercase with hyphens, no spaces. Reuse this base name in step 2 as -o "$FILENAME".
parallel-cli research run "$ARGUMENTS" --processor pro-fast --text --no-wait --json
The --text flag tells the API to return a markdown report (with inline citations) when the task completes, instead of the default structured JSON. Use it for narrative/report-style requests, which is what most users want from "deep research." Drop --text if the user explicitly wants structured JSON output.
Optional with --text: pass --text-description "Keep under 1500 words, focus on M&A activity" to steer length, format, or focus.
If this is a follow-up to a previous research or enrichment task where you know the interaction_id, add context chaining:
parallel-cli research run "$ARGUMENTS" --processor lite-fast --text --no-wait --json --previous-interaction-id "$INTERACTION_ID"
By chaining interaction_id values across requests, each follow-up question automatically has the full context of prior turns — so you can drill deeper without restating what was already researched. Use a lighter processor (lite-fast or base-fast) for follow-ups since the heavy lifting was done in the initial turn.
This returns instantly. Do NOT omit --no-wait — without it the command blocks for minutes and will time out.
Processor options (choose based on user request):
| Processor | Expected latency | Use when |
|---|---|---|
lite-fast | 10–60s | Quick lookups, follow-ups |
base-fast | 15–100s | Simple questions |
core-fast | 1–5 min | Moderate research |
pro-fast | 2–10 min | Default — exploratory research, good depth/speed balance |
ultra-fast | 5–25 min | Multi-source deep research (~2× cost) |
ultra2x-fast / ultra4x-fast / ultra8x-fast | up to 2 hr | Hardest questions, only when explicitly requested |
Notes on the -fast suffix: -fast tiers use cached web data and are quicker. The non-fast variants (pro, ultra, etc.) re-fetch fresher data — slower but better for very recent events. Default to -fast unless the user specifically asks about news from the last day or two.
Run parallel-cli research processors to see the full list with latencies.
Parse the JSON output to extract the run_id, interaction_id, and monitoring URL. Immediately tell the user:
- Deep research has been kicked off
- The expected latency for the processor tier chosen (from the table above)
- The monitoring URL where they can track progress
Tell them they can background the polling step to continue working while it runs.
Step 2: Poll for results
parallel-cli research poll "$RUN_ID" -o "$FILENAME" --timeout 540
Important:
- Use
--timeout 540(9 minutes) to stay within tool execution limits - Do NOT pass
--json— the full output is large and will flood context. The-oflag writes results to files instead. - With
-o "$FILENAME":$FILENAME.jsonis always written (metadata + basis)$FILENAME.mdis written only if step 1 used--text(markdown report)
- The poll command prints an executive summary to stdout when the research completes. Share this executive summary with the user — it gives them a quick overview without having to open the files.
- Pass
--forceif re-polling and you want to overwrite existing files
If the poll times out
Higher processor tiers can take longer than 9 minutes. If the poll exits without completing:
- Tell the user the research is still running server-side
- Re-run the same
parallel-cli research pollcommand to continue waiting
Response format
After step 1: Share the monitoring URL (for tracking progress only — it is not the final report).
After step 2:
- Share the executive summary that the poll command printed to stdout
- Tell the user the generated file paths:
$FILENAME.md— formatted markdown report (if--textwas used)$FILENAME.json— metadata and basis
- Share the
interaction_idand tell the user they can ask follow-up questions that build on this research (e.g., "drill deeper into X" or "compare that to Y")
Do NOT re-share the monitoring URL after completion — the results are in the files, not at that link.
Ask the user if they would like to read through the files for more detail. Do NOT read the file contents into context unless the user asks.
Remember the interaction_id — if the user asks a follow-up question that relates to this research, use it as --previous-interaction-id in the next research or enrichment command.
Setup
If parallel-cli is not found, install and authenticate:
/parallel:parallel-cli-setup
If any parallel-cli research command returns 403, tell the user balance is likely required. Offer to run parallel-cli balance get, and if needed ask for explicit confirmation before running parallel-cli balance add <amount_cents>. Then retry the original research command.
Related skills
More from parallel-web/parallel-agent-skills and the wider catalog.
parallel-web-search
Fast, cost-effective web search for current information and research queries.
parallel-web-extract
Token-efficient URL content extraction for webpages, articles, PDFs, and JavaScript-heavy sites.
parallel-data-enrichment
Bulk enrich company, people, or product data with web-sourced fields like CEO names, funding, and contact info.
status
Check the status of a running research task by its run ID.
result
Retrieve completed research task results by run ID using Parallel CLI.
parallel-monitor
Continuously track the web for changes on a recurring cadence. Use when the user asks to 'monitor', 'track changes to', 'watch', or 'alert me when' something on the web changes — e.g., 'Track price changes for iPhone 16', 'Alert me when Tesla files a new 8-K', 'Monitor competitor pricing pages weekly'. Also use to list, inspect, update, or delete existing monitors.