Skip to content

About

IDE-agnostic deep-research framework for AI agents: maps a topic wide, commits to depth on purpose, adversarially verifies its findings, and synthesizes them into a backlinked, primary-sourced Obsidian vault. Works in Claude Code, Cursor, opencode, or any agent.

Resources

Stars

8 stars

Watchers

0 watching

Forks

Latest commit

Β 

History

16 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🀿 Deep-Ass Research

Research like a paranoid PhD, not a search bar.

Maps a topic wide, commits to depth on purpose, tries to refute its own findings, and leaves you a backlinked, primary-sourced knowledge vault β€” in any AI coding agent.

License Last commit Stars Works with Output

Before / After β€’ Benchmarks β€’ How it works β€’ Install β€’ What you get β€’ Full install guide


Most "research" an agent does is one search, three skimmed snippets, and a confident paragraph that may or may not be true. DAR runs the loop a careful human would: cast wide, decide where to go deep, read the primary source (not the thread about it), send skeptics to disprove every load-bearing claim, and write it all into an Obsidian vault where every sentence traces to a source you can re-open.

It's host-agnostic: the methodology is plain markdown (core/), and thin adapters bind it to Claude Code, Cursor, opencode, Codex, or anything that reads AGENTS.md.

πŸͺž Before / After

You ask: "How much revenue does Perplexity make and what's their strategy?"

πŸ” Normal agent

"Perplexity makes around $100M and is positioned as an AI answer engine competing with Google."

One search. No source. No idea if it's current, self-reported, or made up.

🀿 DAR

A vault: a claim note S-001 β€” "~$100M ARR by mid-2025" β€” with the verbatim quote, the primary URL, status: verified, an independent corroboration, and a caveat that it's self-reported run-rate. Linked to [[Perplexity AI]], [[Aravind Srinivas]] (with sourced beliefs from his actual posts), and a thesis thread β€” plus an honest list of what's still unproven.

Same question. One is a vibe. The other is a defensible, navigable answer you can audit.

Benchmarks

DAR benchmark β€” quality vs speed comparison
DAR benchmark β€” detailed results table

How it works

DAR has two halves that share one spine β€” the charter (what we're actually trying to answer). A gate stops it from going deep too early; a drift guard stops it from wandering once it's deep. The charter is a compass, not a cage: useful tangents get promoted, dead ones pruned.

flowchart TD
    A(["πŸ“₯ Research request"]) --> P["0 Β· Preflight<br/>bind capability verbs to host tools"]
    P --> C["1 Β· Decompose &amp; Charter<br/>success criteria SC1…SCn Β· scope Β· clarify with user"]
    C --> B["2 Β· Breadth<br/>parallel SEARCH-only scouts map the landscape"]
    B --> G{"Gate<br/>saturated? Β· rankable?<br/>anchors hit?"}
    G -->|widen one wave| B
    G -->|too broad: narrow| C
    G ==>|human check-in| D["3 Β· Depth loop<br/>divers FETCH full primaries<br/>β†’ atomic, cited claim notes"]
    D --> DG{"4.5 Β· Drift Guard<br/>still serving the charter?"}
    DG -->|CONTINUE| D
    DG -->|REFOCUS: prune / promote| D
    DG -->|ESCALATE: ask the user| C
    DG ==>|CONCLUDE| V["4 Β· Verify<br/>3 skeptics try to refute Β· 2-of-3 majority<br/>β†’ arbiter breaks ties"]
    V --> S["5 Β· Synthesize<br/>librarian links &amp; dedupes β†’ synthesizer writes the map"]
    S --> O(["πŸ“¦ Deliver<br/>Map-of-Content Β· report Β· open questions"])

    classDef phase fill:#0f172a,stroke:#334155,color:#e2e8f0;
    classDef gate fill:#fde68a,stroke:#b45309,color:#1c1917;
    classDef done fill:#bbf7d0,stroke:#15803d,color:#052e16;
    class P,C,B,D,V,S phase;
    class G,DG gate;
    class A,O done;
Loading

The principles behind each step (why they exist) β€” straight out of how good researchers actually work:

  • Range before depth. Cheap, disposable SEARCH-only scouts first; expensive FETCH only on threads that survive the gate.
  • Read the primary, not the summary. Divers fetch the full source (incl. appendices & limitations) into raw/; a claim sourced only to a summary is quarantined.
  • Don't fool yourself. Skeptics are scored to disprove claims; disconfirming evidence is written into the note; contradictions are downgraded, never deleted.
  • Synthesis is the contribution. The deliverable is a navigable _MOC.md + [[wikilink]] graph + a report answering each criterion β€” not a wall of text.

Install

Tip

Recommended: set up these MCP servers first, then install DAR. It runs on a host's built-in web tools, but is maximized by this free toolset β€” each one powers a capability verb:

MCP server Powers in DAR
Exa semantic / neural SEARCH β€” papers, people, companies
Tavily structured web SEARCH + FETCH (date-filterable)
TinyFish BROWSE β€” social / authenticated / interactive pages
Context7 READ_DOCS β€” version-accurate library & API docs
Ref READ_DOCS β€” specs, standards, references

Set the matching keys (EXA_API_KEY, TAVILY_API_KEY, …) in your environment. On the Claude Code plugin path they're auto-wired from .mcp.json (you just enable them once). Anything missing degrades loudly, never silently β€” details in core/PREREQUISITES.md.

Claude Code β€” plugin (one command, auto-wires MCP)

/plugin marketplace add cstar0521/Deep-Ass-Research
/plugin install deep-ass-research@dar-marketplace

Registers the seven dar-* role subagents, the /deep-ass-research:dar command, and the prerequisite MCP servers.

Claude Code β€” skill (zero assembly)

git clone https://github.com/cstar0521/Deep-Ass-Research.git
ln -s "$(pwd)/Deep-Ass-Research" ~/.claude/skills/deep-ass-research

Then just ask for "deep research on X" or run /deep-ass-research.

Codex β€” plugin (one command, bundles skill + MCP)

codex plugin marketplace add cstar0521/Deep-Ass-Research

Then open Codex β†’ /plugins β†’ install Deep Ass Research. The DAR skill ships bundled (.codex-plugin/plugin.json + skills/), and the prerequisite MCP servers come from .mcp.json.

Cursor

cp adapters/cursor/deep-ass-research.mdc .cursor/rules/
cp adapters/cursor/dar.command.md        .cursor/commands/dar.md

opencode

cp adapters/opencode/deep-ass-research.md ~/.config/opencode/agent/
# then merge adapters/opencode/opencode.json (MCP servers + dar-* subagents)

Any other agent (Aider, Gemini CLI, custom)

Load adapters/generic/AGENTS.md, or paste adapters/generic/SYSTEM_PROMPT.md into the system prompt. No sub-agents? DAR runs the roles sequentially in-context β€” same method.

Full per-host details: INSTALL.md.

What you get

A self-contained Obsidian vault at ~/research/dar/<date>-<topic>-<id>/ (override with DAR_VAULT_ROOT):

In the vault What it is
sources/S-NNN-*.md one atomic claim per note β€” verbatim quote, primary URL, status + confidence, links
entities/*.md companies / people / concepts (people carry sourced, quoted beliefs)
threads/T-*.md synthesis notes with a stated thesis, a reasoning chain of [[links]], and counter-evidence
raw/ the cached primary sources β€” the provenance floor, re-openable forever
_verify-log.md every load-bearing claim's verdict + dissent
_MOC.md + 99-report.md the front-door map and the report answering each success criterion

Run by seven focused roles you can spawn in parallel:

Phase Roles
Breadth scout (cheap, wide, search-only)
Depth deep-diver (reads full primaries)
Verify skeptic Γ—3 β†’ arbiter
Synthesize librarian (links/dedupe) β†’ synthesizer (the deliverable)
Steering relevance-monitor (the drift guard)
Repo layout
deep-ass-research/
β”œβ”€β”€ SKILL.md                  # Claude Code entry (drop-in skill)
β”œβ”€β”€ core/                     # PORTABLE methodology β€” names no host tool
β”‚   β”œβ”€β”€ capabilities.md  PREREQUISITES.md  methodology.md  orchestration.md
β”‚   β”œβ”€β”€ vault-layout.md  note-schemas.md  provenance.md
β”‚   β”œβ”€β”€ roles/   scout Β· deep-diver Β· skeptic Β· arbiter Β· librarian Β· synthesizer Β· relevance-monitor
β”‚   └── modes/   academic Β· gtm Β· technical Β· market
β”œβ”€β”€ adapters/
β”‚   β”œβ”€β”€ generic/    AGENTS.md + SYSTEM_PROMPT.md
β”‚   β”œβ”€β”€ claude-code/ dar-pipeline.workflow.js + plugin/   (pre-assembled, installable)
β”‚   β”œβ”€β”€ cursor/     deep-ass-research.mdc + dar.command.md
β”‚   β”œβ”€β”€ codex/      plugin/   (pre-assembled, installable β€” .codex-plugin + skills/)
β”‚   └── opencode/   deep-ass-research.md + opencode.json + subagents/
β”œβ”€β”€ .claude-plugin/marketplace.json   # makes the repo a one-command Claude Code plugin
└── .agents/plugins/marketplace.json  # makes the repo a one-command Codex plugin

Start at core/orchestration.md β€” the runbook every adapter points to.

Research modes

DAR picks a playbook by topic, each with its own decomposition and source strategy:

Mode For Move
academic papers / literature read methods + appendix + limitations; build a citation graph
gtm a company, its people & beliefs company β†’ people β†’ their actual posts β†’ coherent narrative chain
technical "how does X work", tool choices primary docs (Context7/Ref); A-vs-B-vs-C with a recommendation
market competitive / sector intel players β†’ positioning β†’ pricing/funding/trend signals β†’ matrix

Built to be portable, auditable, and hard to fool. Read the primary. Write everything down. Don't kid yourself.

About

IDE-agnostic deep-research framework for AI agents: maps a topic wide, commits to depth on purpose, adversarially verifies its findings, and synthesizes them into a backlinked, primary-sourced Obsidian vault. Works in Claude Code, Cursor, opencode, or any agent.

Resources

Stars

8 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages