deep-research
Async deep research via Gemini Interactions API (no Gemini CLI dependency).
Skill by 24601
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/javimosch-deep-research
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: backend, ml, research, agent-building
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions: not checked yet.
What's inside
- Skill name
deep-research- Description
- Async deep research via Gemini Interactions API (no Gemini CLI dependency). RAG-ground queries on local files (--context), preview costs (--dry-run), structured JSON output, adaptive polling. Universal skill for 30+ AI agents including Claude Code, Amp, Codex, and Gemini CLI.
- License
- MIT
- Compatibility
- Requires uv and one of GOOGLE_API_KEY / GEMINI_API_KEY / GEMINI_DEEP_RESEARCH_API_KEY. Optional env vars for model config: GEMINI_DEEP_RESEARCH_AGENT, GEMINI_DEEP_RESEARCH_MODEL, GEMINI_MODEL. Network access to Google Gemini API. --context uploads local files to ephemeral stores (auto-deleted).
- Allowed tools
- Bash(uv:*), Bash(python3:*), Read
- Metadata
- author: 24601 · version: 2.1.2
- Instructions
- 324 lines in SKILL.md · view on GitHub
Before installing
- Pre-approves some shell commands
- Instructions read files in your home folder (~/.ssh, ~/.aws…)
Agent Skills spec issues
- name: "deep-research" does not match folder "agent-deep-research"
- files: referenced but missing: references/file_search_guide.md
Files (1)
- SKILL.md
SKILL.md (first lines)
# Deep Research Skill
Perform deep research powered by Google Gemini's deep research agent. Upload documents to file search stores for RAG-grounded answers. Manage research sessions with persistent workspace state.
## For AI Agents
Get a full capabilities manifest, decision trees, and output contracts:
```bash
uv run {baseDir}/scripts/onboard.py --agent
```
See [AGENTS.md]({baseDir}/AGENTS.md) for the complete structured briefing.
| Command | What It Does |
|---------|-------------|
| `uv run {baseDir}/scripts/research.py start "question"` | Launch deep research |
| `uv run {baseDir}/scripts/research.py start "question" --context ./path --dry-run` | Estimate cost |
| `uv run {baseDir}/scripts/research.py start "question" --context ./path --output report.md` | RAG-grounded research |
| `uv run {baseDir}/scripts/store.py query <name> "question"` | Quick Q&A against uploaded docs |
## Security & Transparency
**Credentials**: This skill requires a Google/Gemini API key (one of `GOOGLE_API_KEY`, `GEMINI_API_KEY`, or `GEMINI_DEEP_RESEARCH_API_KEY`). The key is read from environment variables and passed to the `google-genai` SDK. It is never logged, written to files, or transmitted anywhere other than the Google Gemini API.
**File uploads**: The `--context` flag uploads local files to Google's ephemeral file search stores for RAG grounding. Sensitive files are automatically excluded: `.env*`, `credentials.json`, `secrets.*`, private keys (`.pem`, `.key`), and auth tokens (`.npmrc`, `.pypirc`, `.netrc`). Binary files are rejected by MIME type filtering. Build directories (`node_modules`, `__pycache__`, `.git`, `dist`, `build`) are skipped. The ephemeral store is auto-deleted after research completes unless `--keep-context` is specified. Use `--dry-run` to preview what would be uploaded without sending anything. Only files you explicitly point `--context` at are uploaded -- no automatic scanning of parent directories or home folders.
**Non-interactive mode**: When stdin is not a TTY (agent/CI use), confirmation prompts are automatically skipped. This is by design for agent integration but means an autonomous agent with file system access could trigger uploads. Restrict the paths agents can access, or use `--dry-run` and `--max-cost` guards.
**No obfuscation**: All code is readable Python with PEP 723 inline metadata. No binary blobs, no minified scripts, no telemetry, no analytics. The full source is auditable at [github.com/24601/agent-deep-research](https://github.com/24601/agent-deep-research).
**Local state**: Research session state is written to `.gemini-research.json` in the working directory. This file contains interaction IDs, store mappings, and upload hashes -- no credentials or research content. Use `state.py gc` to clean up orphaned stores from crashed runs.
## Prerequisites
- A Google API key (`GOOGLE_API_KEY` or `GEMINI_API_KEY` environment variable)
- [uv](https://docs.astral.sh/uv/) installed (see [uv install docs](https://docs.astral.sh/uv/getting-started/installation/))
## Quick Start
```bash
# Run a deep research query
uv run {baseDir}/scripts/research.py "What are the latest advances in quantum computing?"
# Check research status
uv run {baseDir}/scripts/research.py status <interaction-id>
# Save a completed report
uv run {baseDir}/scripts/research.py report <interaction-id> --output report.md
# Research grounded in local files (auto-creates store, uploads, cleans up)
uv run {baseDir}/scripts/research.py start "How does auth work?" --context ./src --output report.md
# Export as HTML or PDF
uv run {baseDir}/scripts/research.py start "Analyze the API" --context ./src --format html --output report.html
# Auto-detect prompt template based on context files
uv run {baseDir}/scripts/research.py start "How does auth work?" --context ./src --prompt-template auto --output report.md
```
## Environment Variables
Set one of the following (checked in order of priority):
| Variable | Description |
|----------|-------------|
| `GEMINI_DEEP_RESEARCH_API_KEY` | Dedicated key for this skill (highest priority) |
| `GOOGLE_API_KEY` | Standard Google AI key |
| `GEMINI_API_KEY` | Gemini-specific key |
Optional model configuration:
| Variable | Description | Default |
|----------|-------------|---------|
| `GEMINI_DEEP_RESEARCH_MODEL` | Model for file search queries | `gemini-3.1-pro-preview` |
| `GEMINI_MODEL` | Fallback model name | `gemini-3.1-pro-preview` |
| `GEMINI_DEEP_RESEARCH_AGENT` | Deep research agent identifier | `deep-research-pro-preview-12-2025` |
## Research Commands
### Start Research
```bash
uv run {baseDir}/scripts/research.py start "your research question"
```
| Flag | Description |
|------|-------------|
| `--report-format FORMAT` | Output structure: `executive_summary`, `detailed_report`, `comprehensive` |
| `--store STORE_NAME` | Ground research in a file search store (display name or resource ID) |
| `--no-thoughts` | Hide intermediate thinking steps |
| `--follow-up ID` | Continue a previous research session |
| `--output FILE` | Wait for completion and save report to a single file |
| `--output-dir DIR` | Wait for completion and save structured results to a directory (see below) |
| `--timeout SECONDS` | Maximum wait time when polling (default: 1800 = 30 minutes) |
| `--no-adaptive-poll` | Disable history-adaptive polling; use fixed interval curve instead |
| `--context PATH` | Auto-create ephemeral store from a file or directory for RAG-grounded research |
| `--context-extensions EXT` | Filter context uploads by extension (e.g. `py,md` or `.py .md`) |
| `--keep-context` | Keep the ephemeral context store after research completes (default: auto-delete) |
| `--dry-run` | Estimate costs without starting research (prints JSON cost estimate) |
| `--format {md,html,pdf}` | Output format for the report (default: md; pdf requires weasyprint) |
| `--prompt-template {typescript,python,general,auto}` | Domain-specific prompt prefix; auto detects from context file extensions |
| `--depth {quick,standard,deep}` | Research depth: quick (~2-5min), standard (~5-15min), deep (~15-45min) |
| `--max-cost USD` | Abort if estimated cost exceeds this limit (e.g. `--max-cost 3.00`) |
| `--input-file PATH` | Read the research query from a file instead of positional argument |
| `--no-cache` | Skip research cache and force a fresh run |
The `start` subcommand is the default, so `research.py "question"` and `research.py start "question"` are equivalent.
**Important**: When `--output` or `--output-dir` is used, the command blocks until research completes (2-10+ minutes). Do not background it with `&`. Use non-blocking mode (omit `--output`) to get an ID immediately, then poll with `status` and save with `report`.
### Check Status
```bash
uv run {baseDir}/scripts/research.py status <interaction-id>
```
Returns the current status (`in_progress`, `completed`, `failed`) and outputs if available.From javimosch/open-claw-skills, MIT.
More from javimosch/open-claw-skills
- 0.470score
highlevel
Ty Shane
Connect your AI assistant to GoHighLevel CRM via the official API v2.
SkillCFreshness: CClaude Code +9 - 0.454score
time-checker
javimosch
Check accurate current time, date, and timezone information for any location worldwide using time.is.
SkillCFreshness: CClaude Code +9 - 0.454score
skill-refiner
javimosch
Audit and fix all skills in the workspace for compliance with skill-creator requirements.
SkillCFreshness: CClaude Code +9 - 0.451score
mema
javimosch
Mema's personal brain - SQLite metadata index for documents and Redis short-term context buffer.
SkillCFreshness: CClaude Code +9 - 0.450score
stability-ai
javimosch
Generate high-quality images via Stability AI API (SDXL, SD3, Stable Image Core).
SkillCFreshness: CClaude Code +9 - 0.450score
mermaid-architect
javimosch
Generate beautiful, hand-drawn Mermaid diagrams with robust syntax (quoted labels, ELK layout).
SkillCFreshness: CClaude Code +9 - 0.450score
node-red-manager
javimosch
Manage Node-RED instances via Admin API or CLI.
SkillCFreshness: CClaude Code +9 - 0.450score
system-architect
javimosch
Acts as a Senior System Architect to design robust, scalable, and maintainable software architectures.
SkillCFreshness: CClaude Code +9 - 0.448score
byr-cli
javimosch
Use BYR CLI for auth, search, detail inspection, and safe torrent download planning with JSON envelopes.
SkillCFreshness: CClaude Code +9 - 0.448score
search-cluster
javimosch
Aggregated search aggregator using Google CSE, GNews RSS, Wikipedia, Reddit, and Scrapling.
SkillCFreshness: CClaude Code +9 - 0.447score
line-client
javimosch
LINE messaging integration via Chrome extension gateway.
SkillCFreshness: CClaude Code +9 - 0.447score
cloudflare-manager
javimosch
Manage Cloudflare DNS records, Tunnels (cloudflared), and Zero Trust policies.
SkillCFreshness: CClaude Code +9
Signals
- Stars
- 0
- Forks
- 1
- Open issues
- 1
- Last commit (this folder)
- Jun 6, 2026 (4 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- Version
- 2.1.2
- License
- MIT
- Repository
- github.com/javimosch/open-claw-skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
Same skill elsewhere
Copies of this SKILL.md published by others; search shows only one of them.
Cite this page
deep-research skill. Agent Mart. https://agentmart.dev/skills/javimosch-deep-research (last updated 2026-10-24)