daily-research-brief
A 2-stage pipeline for "give me a researched take on X by tomorrow morning." Researcher pulls sources, writer synthesizes. Ships as a single markdown file the user can paste into Slack/Telegram/their docs.
Phase 1 status: pre-installed but inactive (template_kind loader is Phase 2 work).
Stages
Stage 1 — Research
Researcher gathers ≥5 sources (web + memory), writes them up in a findings markdown file with sentiment + relevance scoring. The dispatcher validates source count + file path before advancing.
Stage 2 — Synthesize
Writer reads the researcher's findings doc + writes a 350-599 word brief (regex enforces the band). Output: a markdown file. Pipeline complete.
Total budget cap (recommendation)
~$4.50 per brief. Cheap by design — the goal is "I can run this 5x/week without thinking about cost."
When to use this template vs not
✓ Use it when you want a researched take on a single topic, ≤500 words, by tomorrow.
✗ Skip it when:
- You need ≥1000 words → split into multiple research-brief runs + a synthesis task
- You need code or numerical analysis → use
ship-a-feature or create a custom pipeline
- You need real-time updates → this is for end-of-day briefs, not live monitoring
1---2name: daily-research-brief3description: workflow template — researcher gathers sources, writer synthesizes into a 400-word brief; pre-installed, activates in Phase 24---56# daily-research-brief78A 2-stage pipeline for "give me a researched take on X by tomorrow morning." Researcher pulls sources, writer synthesizes. Ships as a single markdown file the user can paste into Slack/Telegram/their docs.910**Phase 1 status:** pre-installed but inactive (template_kind loader is Phase 2 work).1112## Stages1314### Stage 1 — Research1516<!-- AGENT_ACTIONS_1: {17 "step_key": "research",18 "assignee_default": "researcher",19 "skills": ["board-worker", "web-research", "memory-search"],20 "workspace": "scratch",21 "required_artifacts": {22 "metadata.sources_count": "[5-9]|[1-9][0-9]+",23 "metadata.findings_doc_path": "\\.md$"24 },25 "on_success": "synthesize",26 "on_failure": "research",27 "max_runtime_seconds": 2400,28 "max_retries": 1,29 "budget_usd_cap": 3.0030} -->3132Researcher gathers ≥5 sources (web + memory), writes them up in a findings markdown file with sentiment + relevance scoring. The dispatcher validates source count + file path before advancing.3334### Stage 2 — Synthesize3536<!-- AGENT_ACTIONS_2: {37 "step_key": "synthesize",38 "assignee_default": "writer",39 "skills": ["board-worker", "brief-writer"],40 "workspace": "scratch",41 "required_artifacts": {42 "metadata.brief_path": "\\.md$",43 "metadata.word_count": "(3[5-9][0-9]|4[0-9][0-9]|5[0-9][0-9])"44 },45 "on_success": null,46 "on_failure": "synthesize",47 "max_runtime_seconds": 1200,48 "max_retries": 1,49 "budget_usd_cap": 1.5050} -->5152Writer reads the researcher's findings doc + writes a 350-599 word brief (regex enforces the band). Output: a markdown file. Pipeline complete.5354## Total budget cap (recommendation)5556~$4.50 per brief. Cheap by design — the goal is "I can run this 5x/week without thinking about cost."5758## When to use this template vs not5960✓ **Use it when** you want a researched take on a single topic, ≤500 words, by tomorrow.6162✗ **Skip it when**:63- You need ≥1000 words → split into multiple research-brief runs + a synthesis task64- You need code or numerical analysis → use `ship-a-feature` or create a custom pipeline65- You need real-time updates → this is for end-of-day briefs, not live monitoring