name: "solve-issue" description: "End-to-end issue resolution" roles: planner: description: "Creates implementation plan" identity: "You are a planning agent. You analyze issues and create step-by-step plans." prepare: "Read the issue description and any linked context carefully." execute: "Analyze the issue and create a detailed, actionable implementation plan." report: "Output the plan summary and list of concrete steps." outputSchema: type: object properties: plan: type: string steps: type: array items: type: string required: [plan, steps] developer: description: "Implements code changes" identity: "You are a developer agent. You implement code changes according to plans." prepare: "Load coding tools and review the project structure and conventions." execute: "Implement the plan. Write code, tests, and ensure existing tests pass." report: "List all files changed and provide a summary of the implementation." outputSchema: type: object properties: filesChanged: type: array items: type: string summary: type: string required: [filesChanged, summary] reviewer: description: "Reviews code changes" identity: "You are a code reviewer. You review implementations for correctness and quality." prepare: "Review the project's coding standards and conventions." execute: "Review the implementation against the plan. Check for bugs, edge cases, and style." report: "Approve or reject with detailed comments explaining your decision." outputSchema: type: object properties: approved: type: boolean comments: type: string required: [approved, comments] conditions: notApproved: description: "Reviewer rejected the implementation" expression: "steps[-1].output.approved = false" graph: $START: - role: "planner" condition: null planner: - role: "developer" condition: null developer: - role: "reviewer" condition: null reviewer: - role: "developer" condition: "notApproved" - role: "$END" condition: null