{"id":51194991,"url":"https://github.com/kaos599/deep-ass-research","last_synced_at":"2026-06-28T20:00:34.123Z","repository":{"id":367757554,"uuid":"1276650841","full_name":"Kaos599/Deep-Ass-Research","owner":"Kaos599","description":"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.","archived":false,"fork":false,"pushed_at":"2026-06-27T12:58:58.000Z","size":353,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-27T19:21:40.405Z","etag":null,"topics":["agentic-ai","ai-agents","anthropic","claude-code","claude-code-plugin","claude-code-skill","cursor","deep-research","knowledge-graph","llm","mcp","multi-agent","obsidian","opencode","research-agent","subagents"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Kaos599.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-06-22T07:06:11.000Z","updated_at":"2026-06-27T18:11:32.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/Kaos599/Deep-Ass-Research","commit_stats":null,"previous_names":["kaos599/deep-ass-research"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Kaos599/Deep-Ass-Research","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kaos599%2FDeep-Ass-Research","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kaos599%2FDeep-Ass-Research/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kaos599%2FDeep-Ass-Research/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kaos599%2FDeep-Ass-Research/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Kaos599","download_url":"https://codeload.github.com/Kaos599/Deep-Ass-Research/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kaos599%2FDeep-Ass-Research/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34901959,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-28T02:00:05.809Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agentic-ai","ai-agents","anthropic","claude-code","claude-code-plugin","claude-code-skill","cursor","deep-research","knowledge-graph","llm","mcp","multi-agent","obsidian","opencode","research-agent","subagents"],"created_at":"2026-06-27T19:03:53.614Z","updated_at":"2026-06-28T20:00:34.117Z","avatar_url":"https://github.com/Kaos599.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# 🤿 Deep-Ass Research\n\n**Research like a paranoid PhD, not a search bar.**\n\n\u003cem\u003eMaps a topic wide, commits to depth on purpose, tries to \u003cstrong\u003erefute its own findings\u003c/strong\u003e, and leaves you a backlinked, primary-sourced knowledge vault — in any AI coding agent.\u003c/em\u003e\n\n\u003cp\u003e\n  \u003cimg src=\"https://img.shields.io/github/license/Kaos599/Deep-Ass-Research?style=flat-square\u0026color=111111\u0026label=license\" alt=\"License\"\u003e\n  \u003cimg src=\"https://img.shields.io/github/last-commit/Kaos599/Deep-Ass-Research?style=flat-square\u0026color=111111\u0026label=updated\" alt=\"Last commit\"\u003e\n  \u003cimg src=\"https://img.shields.io/github/stars/Kaos599/Deep-Ass-Research?style=flat-square\u0026color=111111\u0026label=stars\" alt=\"Stars\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/works%20with-Claude%20Code%20·%20Cursor%20·%20opencode%20·%20any%20agent-111111?style=flat-square\" alt=\"Works with\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/output-Obsidian%20vault-7c3aed?style=flat-square\" alt=\"Output\"\u003e\n\u003c/p\u003e\n\n\u003ca href=\"#-before--after\"\u003eBefore / After\u003c/a\u003e •\n\u003ca href=\"#benchmarks\"\u003eBenchmarks\u003c/a\u003e •\n\u003ca href=\"#how-it-works\"\u003eHow it works\u003c/a\u003e •\n\u003ca href=\"#install\"\u003eInstall\u003c/a\u003e •\n\u003ca href=\"#what-you-get\"\u003eWhat you get\u003c/a\u003e •\n\u003ca href=\"INSTALL.md\"\u003eFull install guide\u003c/a\u003e\n\n\u003c/div\u003e\n\n---\n\nMost \"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.\n\nIt's host-agnostic: the methodology is plain markdown (`core/`), and thin adapters bind it to Claude Code, Cursor, opencode, or anything that reads `AGENTS.md`.\n\n## 🪞 Before / After\n\nYou ask: *\"How much revenue does Perplexity make and what's their strategy?\"*\n\n\u003ctable\u003e\n\u003ctr\u003e\n\u003ctd width=\"50%\" valign=\"top\"\u003e\n\n### 🔍 Normal agent\n\n\u003e \"Perplexity makes around $100M and is positioned as an AI answer engine competing with Google.\"\n\nOne search. No source. No idea if it's current, self-reported, or made up.\n\n\u003c/td\u003e\n\u003ctd width=\"50%\" valign=\"top\"\u003e\n\n### 🤿 DAR\n\n\u003e 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.\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n**Same question. One is a vibe. The other is a defensible, navigable answer you can audit.**\n\n## Benchmarks\n\n\u003cdiv align=\"center\"\u003e\n\u003cimg src=\"assets/readme/bench-dark.png\" alt=\"DAR benchmark — quality vs speed comparison\" width=\"100%\"\u003e\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n\u003cimg src=\"assets/readme/table-dark.png\" alt=\"DAR benchmark — detailed results table\" width=\"100%\"\u003e\n\u003c/div\u003e\n\n## How it works\n\nDAR 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.\n\n```mermaid\nflowchart TD\n    A([\"📥 Research request\"]) --\u003e P[\"0 · Preflight\u003cbr/\u003ebind capability verbs to host tools\"]\n    P --\u003e C[\"1 · Decompose \u0026amp; Charter\u003cbr/\u003esuccess criteria SC1…SCn · scope · clarify with user\"]\n    C --\u003e B[\"2 · Breadth\u003cbr/\u003eparallel SEARCH-only scouts map the landscape\"]\n    B --\u003e G{\"Gate\u003cbr/\u003esaturated? · rankable?\u003cbr/\u003eanchors hit?\"}\n    G --\u003e|widen one wave| B\n    G --\u003e|too broad: narrow| C\n    G ==\u003e|human check-in| D[\"3 · Depth loop\u003cbr/\u003edivers FETCH full primaries\u003cbr/\u003e→ atomic, cited claim notes\"]\n    D --\u003e DG{\"4.5 · Drift Guard\u003cbr/\u003estill serving the charter?\"}\n    DG --\u003e|CONTINUE| D\n    DG --\u003e|REFOCUS: prune / promote| D\n    DG --\u003e|ESCALATE: ask the user| C\n    DG ==\u003e|CONCLUDE| V[\"4 · Verify\u003cbr/\u003e3 skeptics try to refute · 2-of-3 majority\u003cbr/\u003e→ arbiter breaks ties\"]\n    V --\u003e S[\"5 · Synthesize\u003cbr/\u003elibrarian links \u0026amp; dedupes → synthesizer writes the map\"]\n    S --\u003e O([\"📦 Deliver\u003cbr/\u003eMap-of-Content · report · open questions\"])\n\n    classDef phase fill:#0f172a,stroke:#334155,color:#e2e8f0;\n    classDef gate fill:#fde68a,stroke:#b45309,color:#1c1917;\n    classDef done fill:#bbf7d0,stroke:#15803d,color:#052e16;\n    class P,C,B,D,V,S phase;\n    class G,DG gate;\n    class A,O done;\n```\n\nThe principles behind each step (why they exist) — straight out of how good researchers actually work:\n\n- **Range before depth.** Cheap, disposable `SEARCH`-only scouts first; expensive `FETCH` only on threads that survive the gate.\n- **Read the primary, not the summary.** Divers fetch the full source (incl. appendices \u0026 limitations) into `raw/`; a claim sourced only to a summary is quarantined.\n- **Don't fool yourself.** Skeptics are scored to *disprove* claims; disconfirming evidence is written **into** the note; contradictions are downgraded, never deleted.\n- **Synthesis is the contribution.** The deliverable is a navigable `_MOC.md` + `[[wikilink]]` graph + a report answering each criterion — not a wall of text.\n\n## Install\n\n\u003e [!TIP]\n\u003e **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:\n\u003e\n\u003e | MCP server | Powers in DAR |\n\u003e |---|---|\n\u003e | **Exa** | semantic / neural `SEARCH` — papers, people, companies |\n\u003e | **Tavily** | structured web `SEARCH` + `FETCH` (date-filterable) |\n\u003e | **TinyFish** | `BROWSE` — social / authenticated / interactive pages |\n\u003e | **Context7** | `READ_DOCS` — version-accurate library \u0026 API docs |\n\u003e | **Ref** | `READ_DOCS` — specs, standards, references |\n\u003e\n\u003e 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`](core/PREREQUISITES.md).\n\n### Claude Code — plugin (one command, auto-wires MCP)\n\n```\n/plugin marketplace add Kaos599/Deep-Ass-Research\n/plugin install deep-ass-research@dar-marketplace\n```\n\nRegisters the seven `dar-*` role subagents, the `/deep-ass-research:dar` command, and the prerequisite MCP servers.\n\n### Claude Code — skill (zero assembly)\n\n```bash\ngit clone https://github.com/Kaos599/Deep-Ass-Research.git\nln -s \"$(pwd)/Deep-Ass-Research\" ~/.claude/skills/deep-ass-research\n```\n\nThen just ask for *\"deep research on X\"* or run `/deep-ass-research`.\n\n### Cursor\n\n```bash\ncp adapters/cursor/deep-ass-research.mdc .cursor/rules/\ncp adapters/cursor/dar.command.md        .cursor/commands/dar.md\n```\n\n### opencode\n\n```bash\ncp adapters/opencode/deep-ass-research.md ~/.config/opencode/agent/\n# then merge adapters/opencode/opencode.json (MCP servers + dar-* subagents)\n```\n\n### Any other agent (Codex, Aider, Gemini CLI, custom)\n\nLoad [`adapters/generic/AGENTS.md`](adapters/generic/AGENTS.md), or paste [`adapters/generic/SYSTEM_PROMPT.md`](adapters/generic/SYSTEM_PROMPT.md) into the system prompt. No sub-agents? DAR runs the roles sequentially in-context — same method.\n\nFull per-host details: **[INSTALL.md](INSTALL.md)**.\n\n## What you get\n\nA self-contained Obsidian vault at `~/research/dar/\u003cdate\u003e-\u003ctopic\u003e-\u003cid\u003e/` (override with `DAR_VAULT_ROOT`):\n\n| In the vault | What it is |\n|---|---|\n| `sources/S-NNN-*.md` | one **atomic claim** per note — verbatim quote, primary URL, `status` + `confidence`, links |\n| `entities/*.md` | companies / people / concepts (people carry sourced, quoted beliefs) |\n| `threads/T-*.md` | synthesis notes with a stated thesis, a reasoning chain of `[[links]]`, and counter-evidence |\n| `raw/` | the cached primary sources — the provenance floor, re-openable forever |\n| `_verify-log.md` | every load-bearing claim's verdict + dissent |\n| `_MOC.md` + `99-report.md` | the front-door map and the report answering each success criterion |\n\nRun by seven focused roles you can spawn in parallel:\n\n| Phase | Roles |\n|---|---|\n| Breadth | `scout` (cheap, wide, search-only) |\n| Depth | `deep-diver` (reads full primaries) |\n| Verify | `skeptic` ×3 → `arbiter` |\n| Synthesize | `librarian` (links/dedupe) → `synthesizer` (the deliverable) |\n| Steering | `relevance-monitor` (the drift guard) |\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eRepo layout\u003c/strong\u003e\u003c/summary\u003e\n\n```\ndeep-ass-research/\n├── SKILL.md                  # Claude Code entry (drop-in skill)\n├── core/                     # PORTABLE methodology — names no host tool\n│   ├── capabilities.md  PREREQUISITES.md  methodology.md  orchestration.md\n│   ├── vault-layout.md  note-schemas.md  provenance.md\n│   ├── roles/   scout · deep-diver · skeptic · arbiter · librarian · synthesizer · relevance-monitor\n│   └── modes/   academic · gtm · technical · market\n├── adapters/\n│   ├── generic/    AGENTS.md + SYSTEM_PROMPT.md\n│   ├── claude-code/ dar-pipeline.workflow.js + plugin/   (pre-assembled, installable)\n│   ├── cursor/     deep-ass-research.mdc + dar.command.md\n│   └── opencode/   deep-ass-research.md + opencode.json + subagents/\n└── .claude-plugin/marketplace.json   # makes the repo a one-command plugin\n```\n\n**Start at [`core/orchestration.md`](core/orchestration.md)** — the runbook every adapter points to.\n\u003c/details\u003e\n\n## Research modes\n\nDAR picks a playbook by topic, each with its own decomposition and source strategy:\n\n| Mode | For | Move |\n|---|---|---|\n| **academic** | papers / literature | read methods + appendix + limitations; build a citation graph |\n| **gtm** | a company, its people \u0026 beliefs | company → people → their actual posts → coherent narrative chain |\n| **technical** | \"how does X work\", tool choices | primary docs (Context7/Ref); A-vs-B-vs-C with a recommendation |\n| **market** | competitive / sector intel | players → positioning → pricing/funding/trend signals → matrix |\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\u003csub\u003eBuilt to be portable, auditable, and hard to fool. Read the primary. Write everything down. Don't kid yourself.\u003c/sub\u003e\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkaos599%2Fdeep-ass-research","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkaos599%2Fdeep-ass-research","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkaos599%2Fdeep-ass-research/lists"}