agentleFS
bogdanbaciu21bogdanbaciu21/skills/deep-research-agents/SKILL.md

deep-research-agents

Skill2 starsChanged 4 months agoMITView on GitHub

Use Dan's paid deep-research providers as one capability: Claude Managed Agent, Gemini Deep Research, Parallel.ai, Exa, and Firecrawl Research Index. Trigger when the user asks for deep research, a research harness, multi-angle research fan-out, five angles, Workflow tool unavailable, Gemini API deep research, Claude managed agent research, Parallel.ai research, or wants the same research methodology to work across repos such as dans-brain and bogdanbaciu-dot-com.

  • Reads credentials

The file

We split this skill into the rules it gives an agent

10 rules. About 0 are common, 4 are distinctive, and 6 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈4

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 6

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    If preprocess fails (embed tunnel down), deep_research.py fails open to the raw question and prints WARN_DEEP_RESEARCH_PREPROCESS_SKIPPED.

    line 45
  2. Very specific:

    Prefer the local dans-brain checkout when you need a repo-neutral research run.

    line 51
  3. Very specific:

    When preprocess ran, manifest.json also records the local bundle under state/research-preprocess/ and token reduction stats.

    line 63
  4. Distinctive:

    Before any live provider call, check local provider availability:

    line 67
  5. Distinctive:

    Only run the paid call after the user confirms the provider count and expected call count.

    line 79
  6. Very specific:

    Use --plan-only for a no-API check.

    line 100
  7. Very specific:

    Keep secrets local: ANTHROPIC_API_KEY, GEMINI_API_KEY, and PARALLEL_API_KEY belong in untracked env/config, never in repo files.

    line 109
  8. Distinctive:

    Treat provider reports as source material, not verified final truth.

    line 114
  9. Distinctive:

    Use Gemini for broad landscape/source discovery, Parallel.ai for heavily cited source coverage, and Claude Managed Agent for synthesis, …

    line 117
  10. Very specific:

    If running in dans-brain, check docs/capabilities/deep-research-agents.md and config/capabilities.json before inventing a new harness or …

    line 120

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Deep Research Agents

Overview

Dan has five research backends that should be treated as one shared capability: Claude Managed Agent, Gemini Deep Research, Parallel.ai, Exa Agent, and Firecrawl Research Index. If a requested methodology expects a missing Workflow tool, do not stop there; use the local provider harness or the repo-specific surface instead.

Default Flow (local preprocess first)

For a raw research question, do not send the question straight to paid providers. bin/deep_research.py now runs the GEX44 local preprocessor by default: discover URLs, scrape in parallel, dedupe chunks, embed-rank, then bill providers only on the curated prompt.

DANS_BRAIN_ROOT="${DANS_BRAIN_ROOT:-$HOME/src/dans-brain}"
cd "$DANS_BRAIN_ROOT"

# 1) No-cost: provider status + preprocess discovery + planned paid runs
uv run python bin/deep_research.py "research question" --dry-run

# 2) Live: preprocess locally, then fan out paid providers on curated prompt
uv run python bin/deep_research.py "research question"

# Escape hatches
uv run python bin/deep_research.py "research question" --no-preprocess
uv run python bin/deep_research.py --prompt-file state/research-preprocess/<bundle>/curated_prompt.md --no-preprocess

Preprocessor-only (no paid calls):

cd "$DANS_BRAIN_ROOT" && uv run python bin/research_preprocess.py "research question" --dry-run
cd "$DANS_BRAIN_ROOT" && uv run python bin/research_preprocess.py "research question"

If preprocess fails (embed tunnel down), deep_research.py fails open to the raw question and prints WARN_DEEP_RESEARCH_PREPROCESS_SKIPPED. Prefer running on the VPS with the GEX44 scheduler tunnel up (EMBED_API_BASE on :18081).

Canonical Harness

Prefer the local dans-brain checkout when you need a repo-neutral research run. Do not assume a Linux/root home path; resolve the project root explicitly:

DANS_BRAIN_ROOT="${DANS_BRAIN_ROOT:-$HOME/src/dans-brain}"
test -f "$DANS_BRAIN_ROOT/bin/deep_research.py"
cd "$DANS_BRAIN_ROOT" && uv run python bin/deep_research.py --list-providers
cd "$DANS_BRAIN_ROOT" && uv run python bin/deep_research.py "research question" --dry-run

The harness writes provider outputs to state/deep-research/<timestamp>-<slug>/ with one markdown file per provider plus combined.md and manifest.json. When preprocess ran, manifest.json also records the local bundle under state/research-preprocess/ and token reduction stats. state/ is git-ignored runtime data.

Before any live provider call, check local provider availability:

python3 /Users/danb/src/skills/deep-research-agents/scripts/check_provider_env.py

Then run a no-cost harness check:

cd "$DANS_BRAIN_ROOT" && uv run python bin/deep_research.py "research question" --dry-run

Only run the paid call after the user confirms the provider count and expected call count. ChatGPT, Claude, Gemini, or Parallel subscriptions do not imply API credits for these harness calls.

For multi-angle research, use repeated --angle flags. The harness requires --allow-many when the plan exceeds three upstream runs because five angles times three providers is fifteen paid calls:

cd "$DANS_BRAIN_ROOT" && uv run python bin/deep_research.py "overall question" \
  --angle "market map" \
  --angle "technical feasibility" \
  --angle "risks and counter-evidence" \
  --allow-many

Repo Surfaces

  • dans-brain: bin/deep_research.py (default --preprocess), local grunt work in bin/research_preprocess.py, provider plumbing in bin/deep_research_agents.py; bin/discover_sources.py reuses that provider layer and defaults to all engines. Use --plan-only for a no-API check.
  • bogdanbaciu-dot-com: Phoenix modules under lib/bogdan/research/ and the admin /admin/research surface.
  • client: portal research functions under client-portal/netlify/functions/research-*, with provider "all" fanning out to Claude, Gemini, and Parallel.ai.

Operating Rules

  • Keep secrets local: ANTHROPIC_API_KEY, GEMINI_API_KEY, and PARALLEL_API_KEY belong in untracked env/config, never in repo files.
  • Confirm paid-call scope before execution: provider set, angle count, total upstream calls, and whether --allow-many is required. If the user has not confirmed cost exposure, stop at --dry-run.
  • Treat provider reports as source material, not verified final truth. Synthesize conflicts explicitly and verify important, time-sensitive, legal, medical, or financial claims with current primary sources.
  • Use Gemini for broad landscape/source discovery, Parallel.ai for heavily cited source coverage, and Claude Managed Agent for synthesis, skeptical review, and contradiction checks.
  • If running in dans-brain, check docs/capabilities/deep-research-agents.md and config/capabilities.json before inventing a new harness or searching old transcripts for setup details.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.