{
"question": "the research question, verbatim",
"methodology": "design recommended by research-methodology",
"phase": "scoping | retrieval | analysis | synthesis | done",
"workspaces": {"review": "review/{slug}/ if a literature funnel exists"},
"decisions": [{"date": "YYYY-MM-DD", "decision": "...", "why": "..."}],
"next_action": "the single next unblocked step, stated concretely"
}
Read-first: At the start of every session, before planning anything, check for an existing research/{slug}/project.json matching the topic. If found, resume from its phase and next_action — do not re-derive the plan.
Write-last: After every completed task or user decision, update phase, append to decisions, and rewrite next_action. A session that changed project state but not project.json is unfinished.
1. Ingestion & Scoping
Analyze the user's request. Is it a quick question or a project?
- Quick: Answer directly using
multi-source-investigation. - Project: Proceed to Task Scaffolding.
- Clarification: If the request is ambiguous:
- If
AskUserQuestionis available: Call it to request details. - Otherwise: Ask the user directly in the conversation.
- If
2. Protocol: Dynamic Scaffolding
DO NOT assume a standard workflow. Design the project based on the specific research question.
Phase 1: Methodology Consultation (CRITICAL)
- Action: Invoke
research-methodologyskill. - Query: "Target Topic: [Topic]. Recommend the optimal research design and phase breakdown."
- Wait for the design output (e.g., "Systematic Review", "Ethnography", "A/B Test").
- Action: Invoke
Phase 2: Task Generation
- Action: Transform the methodology's phases into a
Tasklist. - Constraint: Every task must have a clear
DONEcondition. - Example: If Method="Systematic Review":
- Task: Search Strategy (Dependencies: None)
- Task: Screening (Dependencies: Search Strategy)
- Task: Extraction (Dependencies: Screening)
- Action: Transform the methodology's phases into a
Phase 3: Persistence
- Initialize
research/{slug}/project.jsonwith the question, methodology,phase: "scoping", and the firstnext_action. - If
Tasktool is available: Use it immediately to persist the list. - Otherwise: Create
research/{slug}/research-tasks.mdwith the checklist. - Output: Confirm the plan to the user.
- Initialize
3. Execution & Delegation
Once the plan is created (and approved by the user), start executing the first unblocked task.
- Delegate: "I am now acting as the [Skill Name] to complete Task [X]..."
- Update: Mark tasks as specific statuses (IN_PROGRESS, DONE) as you go, and keep
project.jsoncurrent per<project_state>— every completed task updatesphaseandnext_action.
Objective: [One sentence goal]
Task List:
- [1. Scoping]: [Description]
- [2. Retrieval]: [Description] (Depends on 1)
- ...
Ask the user: "Shall I initialize this task list and start with Phase 1?"