| 4941 | 3. **Prefer action over planning** — Do not enter plan mode unless the user explicitly asks. When in doubt, start coding. |
| 4942 | 4. **Expect course corrections** — The user may provide suggestions or course corrections at any point; treat those as normal input. |
| 4943 | 5. **Do not take overly destructive actions** — Auto mode is not a license to destroy. Anything that deletes data or modifies shared or production systems still needs explicit user confirmation. If you reach such a decision point, ask and wait, or course correct to a safer method instead. |
| 4944 | 6. **Avoid data exfiltration** — Post even routine messages to chat platforms or work tickets only if the user has directed you to. You must not share secrets (e.g. credentials, internal documentation) unless the user has explicitly authorized both that specific secret and its destination.`,isMeta:!0})])}function K$Y(){return V9([U8({content:"Auto mode still active (see full instructions earlier in conversation). Execute autonomously, minimize interruptions, prefer action over planning.",isMeta:!0})])}function z17(q){if(nq()){if(q.type==="teammate_mailbox")return[U8({content:RYY().formatTeammateMessages(q.messages),isMeta:!0})];if(q.type==="team_context")return[U8({content:`<system-reminder> |
| 4945 | # Team Coordination |
| 4946 | |
| 4947 | You are a teammate in team "${q.teamName}". |
| 4948 | |
| 4949 | **Your Identity:** |
| 4950 | - Name: ${q.agentName} |
| 4951 | |
| 4952 | **Team Resources:** |
| 4953 | - Team config: ${q.teamConfigPath} |
| 4954 | - Task list: ${q.taskListPath} |
| 4955 | |
| 4956 | **Team Leader:** The team lead's name is "team-lead". Send updates and completion notifications to them. |
| 4957 | |
| 4958 | Read the team config to discover your teammates' names. Check the task list periodically. Create new tasks when work should be divided. Mark tasks resolved when complete. |
| 4959 | |
| 4960 | **IMPORTANT:** Always refer to teammates by their NAME (e.g., "team-lead", "analyzer", "researcher"), never by UUID. When messaging, use the name directly: |
| 4961 | |
| 4962 | \`\`\`json |
| 4963 | { |
| 4964 | "to": "team-lead", |
| 4965 | "message": "Your message here", |
| 4966 | "summary": "Brief 5-10 word preview" |
| 4967 | } |
| 4968 | \`\`\` |
| 4969 | </system-reminder>`,isMeta:!0})]}switch(q.type){case"directory":return V9([n18(R4.name,{command:`ls ${E4([q.path])}`,description:`Lists files in ${q.path}`}),l18(R4,{stdout:q.content,stderr:"",interrupted:!1})]);case"edited_text_file":return V9([U8({content:`Note: ${q.filename} was modified, either by the user or by a linter. This change was intentional, so make sure to take it into account as you proceed (ie. don't revert it unless the user asks you to). Don't tell the user this, since they are already aware. Here are the relevant changes (shown with line numbers): |
| 4970 | ${q.snippet}`,isMeta:!0})]);case"file":{let _=q.content;switch(_.type){case"image":return V9([n18(i_.name,{file_path:q.filename}),l18(i_,_)]);case"text":return V9([n18(i_.name,{file_path:q.filename}),l18(i_,_),...q.truncated?[U8({content:`Note: The file ${q.filename} was too large and has been truncated to the first ${mc6} lines. Don't tell the user about this truncation. Use ${i_.name} to read more of the file if you need.`,isMeta:!0})]:[]]);case"notebook":return V9([n18(i_.name,{file_path:q.filename}),l18(i_,_)]);case"pdf":return V9([n18(i_.name,{file_path:q.filename}),l18(i_,_)])}break}case"compact_file_reference":return V9([U8({content:`Note: ${q.filename} was read before the last conversation was summarized, but the contents are too large to include. Use ${i_.name} tool if you need to access it.`,isMeta:!0})]);case"pdf_reference":return V9([U8({content:`PDF file: ${q.filename} (${q.pageCount} pages, ${m4(q.fileSize)}). This PDF is too large to read all at once. You MUST use the ${Cq} tool with the pages parameter to read specific page ranges (e.g., pages: "1-5"). Do NOT call ${Cq} without the pages parameter or it will fail. Start by reading the first few pages to understand the structure, then read more as needed. Maximum 20 pages per request.`,isMeta:!0})]);case"selected_lines_in_ide":{let z=q.content.length>2000?q.content.substring(0,2000)+` |
| 4971 | ... (truncated)`:q.content;return V9([U8({content:`The user selected the lines ${q.lineStart} to ${q.lineEnd} from ${q.filename}: |
| 4972 | ${z} |
| 4973 | |
| 4974 | This may or may not be related to the current task.`,isMeta:!0})])}case"opened_file_in_ide":return V9([U8({content:`The user opened the file ${q.filename} in the IDE. This may or may not be related to the current task.`,isMeta:!0})]);case"plan_file_reference":return V9([U8({content:`A plan file exists from plan mode at: ${q.planFilePath} |
| 4975 | |
| 4976 | Plan contents: |
| 4977 | |
| 4978 | ${q.planContent} |
| 4979 | |
| 4980 | If this plan is relevant to the current work and not already complete, continue working on it.`,isMeta:!0})]);case"invoked_skills":{if(q.skills.length===0)return[];let _=q.skills.map((z)=>`### Skill: ${z.name} |
| 4981 | Path: ${z.path} |
| 4982 | |
| 4983 | ${z.content}`).join(` |
| 4984 | |
| 4985 | --- |
| 4986 | |
| 4987 | `);return V9([U8({content:`The following skills were invoked in this session. Continue to follow these guidelines: |
| 4988 | |
| 4989 | ${_}`,isMeta:!0})])}case"todo_reminder":{let _=q.content.map((Y,$)=>`${$+1}. [${Y.status}] ${Y.content}`).join(` |
| 4990 | `),z=`The TodoWrite tool hasn't been used recently. If you're working on tasks that would benefit from tracking progress, consider using the TodoWrite tool to track progress. Also consider cleaning up the todo list if has become stale and no longer matches what you are working on. Only use it if it's relevant to the current work. This is just a gentle reminder - ignore if not applicable. Make sure that you NEVER mention this reminder to the user |
| 4991 | `;if(_.length>0)z+=` |
| 4992 | |
| 4993 | Here are the existing contents of your todo list: |
| 4994 | |
| 4995 | [${_}]`;return V9([U8({content:z,isMeta:!0})])}case"task_reminder":{if(!IH())return[];let _=q.content.map((Y)=>`#${Y.id}. [${Y.status}] ${Y.subject}`).join(` |
| 4996 | `),z=`The task tools haven't been used recently. If you're working on tasks that would benefit from tracking progress, consider using ${TN} to add new tasks and ${bL} to update task status (set to in_progress when starting, completed when done). Also consider cleaning up the task list if it has become stale. Only use these if relevant to the current work. This is just a gentle reminder - ignore if not applicable. Make sure that you NEVER mention this reminder to the user |
| 4997 | `;if(_.length>0)z+=` |
| 4998 | |
| 4999 | Here are the existing tasks: |
| 5000 | |