Multi-agent research pipeline that transforms raw ideas, vague project thoughts, and early-stage concepts into concrete research directions, literature reviews, problem statements, experiment plans, dataset candidates, and baseline implementations. Use when creating or running a research workflow with coordinated subagents for idea reframing, literature review, critique, brief generation, and baseline setup.
coordinator
├── batch-ideation agent
├── scorecard-manager agent
├── ideation agent
├── literature agent
├── gap-mapper agent
├── skeptic agent
├── critique agent
├── brief agent
├── experiment-designer agent
├── baseline agent
├── analyst agent
├── reviewer agent
├── kill-test agent
├── paper-writer agent
├── paper-editor agent
├── evidence-manager agent
├── claim-checker agent
├── paper-validator agent
├── writeup agent
└── memory-manager agent
Read references/workflow.md for the full execution flow and references/top-lab-patterns.md for the research-lab design patterns used here.
Provide a raw idea or vague concept to the coordinator:
coordinator → idea → literature → critique → brief → baseline
The coordinator initializes the draft, routes work, and decides whether to iterate or move forward.
/spawn research-agent.literature
/spawn research-agent.critique
Iterate until critique score ≥ 7/10.
/spawn research-agent.brief
Review brief. If approved → proceed to baseline.
/spawn research-agent.baseline
Primary shared files:
shared/research-draft.md — main source of truthshared/scorecard.md — candidate ranking and triageshared/experiment-plan.md — experiment specificationshared/review-report.md — analyst + reviewer judgmentsshared/final-writeup.typ — final human-readable research writeup in TypstWhen the workflow is producing a paper, proposal, or paper-style draft, default to professional academic writing, not outline-style notes.
Required standard:
Default workflow for paper production:
If the environment cannot support a preferred template, fall back to a plain Typst layout that still compiles and preserves citations, figures, math, and professional formatting.
| Agent | File | Role |
|---|---|---|
| coordinator | agents/coordinator.md | Routes the pipeline, manages iteration, and keeps the draft coherent |
| batch-ideation | agents/batch-ideation.md | Generate 5-10 candidate directions before deep work |
| scorecard-manager | agents/scorecard-manager.md | Auto-fill the scorecard and rank candidates |
| idea | agents/idea.md | Reframe vague ideas → concrete hypotheses |
| literature | agents/literature.md | Review related work and extract gaps |
| gap-mapper | agents/gap-mapper.md | Convert literature into an opportunity landscape |
| skeptic | agents/skeptic.md | Kill weak directions early and document failure modes |
| critique | agents/critique.md | Score and challenge candidate directions |
| brief | agents/brief.md | Generate the research brief |
| experiment-designer | agents/experiment-designer.md | Specify the rigorous experiment plan |
| baseline | agents/baseline.md | Build baseline implementation and evaluation harness |
| analyst | agents/analyst.md | Interpret results and recommend next steps |
| reviewer | agents/reviewer.md | Judge publishability and reviewer objections |
| kill-test | agents/kill-test.md | Design the cheapest falsification test before heavy work |
| paper-writer | agents/paper-writer.md | Draft a research-grade paper or proposal in Typst |
| paper-editor | agents/paper-editor.md | Refine the draft into coherent academic writing |
| evidence-manager | agents/evidence-manager.md | Store source-backed evidence records |
| claim-checker | agents/claim-checker.md | Verify that draft claims are supported |
| paper-validator | agents/paper-validator.md | Run final quality gates before export |
| writeup | agents/writeup.md | Consolidate the final research cycle into Typst |
| memory-manager | agents/memory-manager.md | Capture durable research memory across cycles |
Each stage has a score threshold. If critique scores below 7/10, iterate through idea → literature → critique until the direction strengthens.
For this pipeline to work reliably:
memory/YYYY-MM-DD.md for daily logs; MEMORY.md for durable facts. Rules in chat don't survive compaction.compaction.memoryFlush.enabled = true so the agent saves context before it gets trimmed.{
"agents": {
"defaults": {
"contextPruning": { "mode": "cache-ttl", "ttl": "5m" },
"compaction": {
"reserveTokensFloor": 20000,
"memoryFlush": { "enabled": true, "softThresholdTokens": 4000 }
}
}
},
"memory": {
"backend": "qmd",
"qmd": {
"includeDefaultMemory": true,
"update": { "interval": "5m", "debounceMs": 15000 },
"limits": { "maxResults": 6, "maxSnippetChars": 700 }
}
}
}
QMD is a local sidecar that replaces the default SQLite memory backend with better retrieval.
Prerequisites:
bun install -g https://github.com/tobi/qmd or npm install -g @tobilu/qmdInitial setup:
# Create collection for your workspace
export XDG_CONFIG_HOME="$HOME/.openclaw/agents/main/qmd/xdg-config"
export XDG_CACHE_HOME="$HOME/.openclaw/agents/main/qmd/xdg-cache"
mkdir -p "$XDG_CONFIG_HOME" "$XDG_CACHE_HOME"
# Add workspace to QMD
qmd collection add ~/.openclaw/workspace --name "workspace"
# Generate embeddings (one-time, downloads ~300MB model)
qmd embed --collection workspace
# Verify
qmd status
qmd query "your search term" --json
What QMD provides:
When QMD is unavailable: OpenClaw auto-falls back to builtin SQLite manager — memory tools keep working.
| Layer | Component | Purpose |
|---|---|---|
| 1 | memory/YYYY-MM-DD.md | Daily raw logs |
| 2 | MEMORY.md | Curated long-term facts |
| 3 | memory_search / QMD | Semantic retrieval over all memory |
| 4 | compaction.memoryFlush | Pre-compaction save (survives context trim) |
| 5 | Graph memory (future) | Entity relationships |
| 6 | Auto-fact extraction (future) | Structured facts from conversations |