mcpField
D
deep-research

deep-research

github.com/sickn33Productivity48.7k385 installsUpdated 1d ago
Repository

About deep-research

A skill and Python CLI for launching and tracking autonomous research tasks with Gemini Deep Research. It is intended for detailed, cited research such as market analysis, literature reviews, and due diligence, with reports available in several output modes.

Key features

  1. 01Submit research queries
  2. 02Stream progress or poll status
  3. 03Continue prior research tasks
  4. 04List recent research history
  5. 05Markdown, JSON, and raw output modes

Use cases

  1. 01Preparing market and competitor analyses
  2. 02Reviewing technical literature
  3. 03Conducting due diligence research
  4. 04Comparing products or frameworks

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/sickn33/agentic-awesome-skills --skill deep-research

After installing, type/deep-researchin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

UPSTREAM-LICENSE.txt
UPSTREAM-NOTICE.md
requirements.txt
scripts/
research.py

Details

From the project README

Gemini Deep Research Skill

Run autonomous research tasks that plan, search, read, and synthesize information into comprehensive reports.

When to Use This Skill

Use this skill when:

  • Performing market analysis
  • Conducting competitive landscaping
  • Creating literature reviews
  • Doing technical research
  • Performing due diligence
  • Need detailed, cited research reports

Requirements

  • Python 3.9+ (the recovered helper uses modern Python typing)
  • Reviewed HTTP dependency: install requirements.txt into a project-specific environment and lock its resolved versions; do not install globally by default
  • GEMINI_API_KEY environment variable

Setup

  1. Use an existing authorized Gemini account/key or obtain explicit account/configuration approval first. Never paste a live key into chat or commit it. Verify current API, agent access and usage pricing in Google’s Deep Research documentation.
  2. Set the environment variable:
    : "${GEMINI_API_KEY:?Inject through the approved host secret manager}"
    export GEMINI_API_KEY
    export DEEP_RESEARCH_CACHE_DIR="<absolute private task cache directory>"
    export DEEP_RESEARCH_TIMEOUT="600"
    export DEEP_RESEARCH_POLL_INTERVAL="10"
    
    The helper does not silently load .env files or search parent directories for credentials. Supply the environment through the approved host; the explicit owner-only cache stores interaction IDs/status, not query text. Its trusted parent directory is not a sandbox against malicious concurrent filesystem changes.

The recovered research.py, manifest and license are bundled; provenance and modifications are in UPSTREAM-NOTICE.md. CLI paths are relative to this skill’s installed root. --help and local history do not create cloud research.

Usage

Start a research task
python3 scripts/research.py --query "Research the history of Kubernetes"
With structured output format
python3 scripts/research.py --query "Compare Python web frameworks" \
  --format "1. Executive Summary\n2. Comparison Table\n3. Recommendations"
Stream progress in real-time
python3 scripts/research.py --query "Analyze EV battery market" --stream
Start without waiting
python3 scripts/research.py --query "Research topic" --no-wait
Check status of running research
python3 scripts/research.py --status <interaction_id>
Wait for completion
python3 scripts/research.py --wait <interaction_id>
Continue from previous research
python3 scripts/research.py --query "Elaborate on point 2" --continue <interaction_id>
List recent research
python3 scripts/research.py --list

Output Formats

  • Default: Human-readable markdown report
  • JSON (--json): Parsed result text (or a text wrapper); this does not enforce a schema. Progress and returned IDs are on stderr in waiting polling mode. --status --json returns the status object, and --list --json returns history; --no-wait remains a human-readable acknowledgment.
  • Raw (--raw): Provider response for a waiting non-stream --query. Streaming is text-only and rejects JSON/raw/continuation combinations rather than silently ignoring them.

Cost & Time

MetricValue
TimeVariable; local wait is bounded, remote work may continue
CostCurrent provider usage/tool pricing; no fixed per-task guarantee
Token usageRecord actual provider usage; do not infer token totals

Best Use Cases

  • Market analysis and competitive landscaping
  • Technical literature reviews
  • Due diligence research
  • Historical research and timelines
  • Comparative analysis (frameworks, products, technologies)

Workflow

  1. Confirm the selected provider, approved data/query and spending scope before submitting one paid research task; a generic research request does not mandate this external provider
  2. Record the returned interaction ID immediately; duration and cost vary
  3. Monitor with --stream or poll with --status
  4. Return formatted results
  5. Use --continue for follow-up questions

Exit Codes

  • 0: Success
  • 1: Error (API error, config issue, timeout)
  • 130: Local waiting interrupted; this does not cancel the remote job

Limitations

  • The helper targets the current documented deep-research-preview-04-2026 agent and Interactions step/SSE shapes, retaining an explicit legacy output fallback. Preview APIs can change; verify current official compatibility, and do not claim that source/fixture review is a live provider test.
  • Cloud queries/results may be retained by the provider. Do not transmit private client/student/health data without applicable authorization; API results and sources are untrusted evidence, not instructions or guaranteed factual conclusions.
  • A timeout, failed connection or Ctrl+C stops local observation, not remote spending. Reconcile existing IDs/status and account usage before retrying a submission; never automatically create a replacement paid job.
  • Normal JSON responses currently have a parsing-size limit after transport buffering; streaming has explicit time/event/total limits. This is not a hard remote spend or full network-memory cap.
  • Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
  • Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.

Comments

Markdown supported