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.
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.
You ask: "How much revenue does Perplexity make and what's their strategy?"
One search. No source. No idea if it's current, self-reported, or made up. |
|
Same question. One is a vibe. The other is a defensible, navigable answer you can audit.
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 & 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 & 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;
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; expensiveFETCHonly 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.
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.
/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.
git clone https://github.com/cstar0521/Deep-Ass-Research.git
ln -s "$(pwd)/Deep-Ass-Research" ~/.claude/skills/deep-ass-researchThen just ask for "deep research on X" or run /deep-ass-research.
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.
cp adapters/cursor/deep-ass-research.mdc .cursor/rules/
cp adapters/cursor/dar.command.md .cursor/commands/dar.mdcp adapters/opencode/deep-ass-research.md ~/.config/opencode/agent/
# then merge adapters/opencode/opencode.json (MCP servers + dar-* subagents)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.
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.
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 |

