# Research Workflow # A workflow that autonomously executes research tasks # Planner creates the plan, Digger executes, Supervisor verifies # # Flow: # plan -> dig -> supervise -> COMPLETE (approved) # -> plan (rejected: restart from planning) # # Template Variables: # {iteration} - Workflow-wide turn count (total steps executed across all agents) # {max_iterations} - Maximum iterations allowed for the workflow # {step_iteration} - Per-step iteration count (how many times THIS step has been executed) # {task} - Original user request # {previous_response} - Output from the previous step # {user_inputs} - Accumulated user inputs during workflow # {report_dir} - Report directory name (e.g., "20250126-143052-task-summary") name: research description: Research workflow - autonomously executes research without asking questions max_iterations: 10 steps: - name: plan agent: ../agents/research/planner.md allowed_tools: - Read - Glob - Grep - WebSearch - WebFetch instruction_template: | ## Workflow Status - Iteration: {iteration}/{max_iterations} (workflow-wide) - Step Iteration: {step_iteration} (times this step has run) - Step: plan ## Research Request {task} ## Supervisor Feedback (for re-planning) {previous_response} ## Additional User Inputs {user_inputs} ## Instructions Create a research plan for the above request. **Important**: Do not ask the user questions. - Make assumptions for unclear points and proceed - If multiple interpretations exist, include all in the research scope - If there is feedback from Supervisor, incorporate it into the plan pass_previous_response: true rules: - condition: Planning is complete next: dig - condition: Insufficient information to create a plan next: ABORT - name: dig agent: ../agents/research/digger.md allowed_tools: - Read - Glob - Grep - WebSearch - WebFetch instruction_template: | ## Workflow Status - Iteration: {iteration}/{max_iterations} (workflow-wide) - Step Iteration: {step_iteration} (times this step has run) - Step: dig ## Original Research Request {task} ## Research Plan {previous_response} ## Additional User Inputs {user_inputs} ## Instructions Execute the research according to the plan above. **Important**: Do not ask the user questions. - Research within the scope of what can be investigated - Report items that could not be researched as "Unable to research" Available tools: - Web search - GitHub search (gh command) - Codebase search - File reading pass_previous_response: true rules: - condition: Research is complete next: supervise - condition: Unable to conduct research next: ABORT - name: supervise agent: ../agents/research/supervisor.md allowed_tools: - Read - Glob - Grep - WebSearch - WebFetch instruction_template: | ## Workflow Status - Iteration: {iteration}/{max_iterations} (workflow-wide) - Step Iteration: {step_iteration} (times this step has run) - Step: supervise (research quality evaluation) ## Original Research Request {task} ## Digger's Research Results {previous_response} ## Instructions Evaluate the research results and determine if they adequately answer the original request. **Important**: If there are issues, include specific instructions for the Planner. pass_previous_response: true rules: - condition: Research results adequately answer the original request next: COMPLETE - condition: Research results are insufficient and replanning is needed next: plan initial_step: plan