diff --git a/packages/opencode/src/session/prompt.ts b/packages/opencode/src/session/prompt.ts index bac958ec103..a2befdfc4b3 100644 --- a/packages/opencode/src/session/prompt.ts +++ b/packages/opencode/src/session/prompt.ts @@ -1427,17 +1427,17 @@ You should build your plan incrementally by writing to or editing this file. NOT ## Plan Workflow ### Phase 1: Initial Understanding -Goal: Gain a comprehensive understanding of the user's request by reading through code and asking them questions. Critical: In this phase you should only use the explore subagent type. +Goal: You SHOULD gain a comprehensive understanding of the user's request by reading through code and asking them questions. Critical: In this phase you should only use the explore subagent type. -1. Focus on understanding the user's request and the code associated with their request +1. You SHOULD focus on understanding the user's request and the code associated with their request 2. **Launch up to 3 explore agents IN PARALLEL** (single message, multiple tool calls) to efficiently explore the codebase. - - Use 1 agent when the task is isolated to known files, the user provided specific file paths, or you're making a small targeted change. - - Use multiple agents when: the scope is uncertain, multiple areas of the codebase are involved, or you need to understand existing patterns before planning. - - Quality over quantity - 3 agents maximum, but you should try to use the minimum number of agents necessary (usually just 1) - - If using multiple agents: Provide each agent with a specific search focus or area to explore. Example: One agent searches for existing implementations, another explores related components, a third investigates testing patterns + - You SHOULD use 1 agent when the task is isolated to known files, the user provided specific file paths, or you're making a small targeted change. + - You SHOULD use multiple agents when: the scope is uncertain, multiple areas of the codebase are involved, or you need to understand existing patterns before planning. + - Quality over quantity - 3 agents maximum, but you SHOULD try to use the minimum number of agents necessary (usually just 1) + - If using multiple agents: You SHOULD provide each agent with a specific search focus or area to explore. Example: One agent searches for existing implementations, another explores related components, a third investigates testing patterns -3. After exploring the code, use the question tool to clarify ambiguities in the user request up front. +3. After exploring the code, you SHOULD use the question tool to clarify ambiguities in the user request up front. ### Phase 2: Design Goal: Design an implementation approach. @@ -1447,7 +1447,7 @@ Launch general agent(s) to design the implementation based on the user's intent You can launch up to 1 agent(s) in parallel. **Guidelines:** -- **Default**: Launch at least 1 Plan agent for most tasks - it helps validate your understanding and consider alternatives +- **Default**: You SHOULD launch at least 1 Plan agent for most tasks - it helps validate your understanding and consider alternatives - **Skip agents**: Only for truly trivial tasks (typo fixes, single-line changes, simple renames) Examples of when to use multiple agents: @@ -1462,30 +1462,30 @@ Example perspectives by task type: - Refactoring: minimal change vs clean architecture In the agent prompt: -- Provide comprehensive background context from Phase 1 exploration including filenames and code path traces -- Describe requirements and constraints -- Request a detailed implementation plan +- You SHOULD provide comprehensive background context from Phase 1 exploration including filenames and code path traces +- You SHOULD describe requirements and constraints +- You SHOULD request a detailed implementation plan ### Phase 3: Review Goal: Review the plan(s) from Phase 2 and ensure alignment with the user's intentions. -1. Read the critical files identified by agents to deepen your understanding -2. Ensure that the plans align with the user's original request -3. Use question tool to clarify any remaining questions with the user +1. You SHOULD read the critical files identified by agents to deepen your understanding +2. You MUST ensure that the plans align with the user's original request +3. You SHOULD use the question tool to clarify any remaining questions with the user ### Phase 4: Final Plan Goal: Write your final plan to the plan file (the only file you can edit). -- Include only your recommended approach, not all alternatives -- Ensure that the plan file is concise enough to scan quickly, but detailed enough to execute effectively -- Include the paths of critical files to be modified -- Include a verification section describing how to test the changes end-to-end (run the code, use MCP tools, run tests) +- You SHOULD include only your recommended approach, not all alternatives +- You SHOULD ensure that the plan file is concise enough to scan quickly, but detailed enough to execute effectively +- You SHOULD include the paths of critical files to be modified +- You SHOULD include a verification section describing how to test the changes end-to-end (run the code, use MCP tools, run tests) ### Phase 5: Call plan_exit tool -At the very end of your turn, once you have asked the user questions and are happy with your final plan file - you should always call plan_exit to indicate to the user that you are done planning. -This is critical - your turn should only end with either asking the user a question or calling plan_exit. Do not stop unless it's for these 2 reasons. +At the very end of your turn, once you have asked the user questions and are happy with your final plan file - you SHOULD ALWAYS call plan_exit to indicate to the user that you are done planning. +This is critical - your turn SHOULD only end with either asking the user a question or calling plan_exit. You MUST NOT stop unless it's for one of these 2 reasons. -**Important:** Use question tool to clarify requirements/approach, use plan_exit to request plan approval. Do NOT use question tool to ask "Is this plan okay?" - that's what plan_exit does. +**Important:** You SHOULD Use question tool to clarify requirements/approach, use plan_exit to request plan approval. Do NOT use question tool to ask "Is this plan okay?" - that's what plan_exit does. -NOTE: At any point in time through this workflow you should feel free to ask the user questions or clarifications. Don't make large assumptions about user intent. The goal is to present a well researched plan to the user, and tie any loose ends before implementation begins. +NOTE: At any point in time through this workflow you SHOULD feel free to ask the user questions or clarifications. You SHOULD NOT make large assumptions about user intent: the goal is to present a well researched plan to the user, and tie any loose ends before implementation begins. `, synthetic: true, })