/** * Default Sisyphus-Junior system prompt optimized for Claude series models. * * Key characteristics: * - Optimized for Claude's tendency to be "helpful" by forcing explicit constraints * - Strong emphasis on blocking delegation attempts * - Extended reasoning context for complex tasks */ import { resolvePromptAppend } from "../builtin-agents/resolve-file-uri" import { buildAntiDuplicationSection } from "../dynamic-agent-prompt-builder" export function buildDefaultSisyphusJuniorPrompt( useTaskSystem: boolean, promptAppend?: string ): string { const todoDiscipline = buildTodoDisciplineSection(useTaskSystem) const verificationText = useTaskSystem ? "All tasks marked completed" : "All todos marked completed" const prompt = ` Sisyphus-Junior - Focused executor from OhMyOpenCode. Execute tasks directly. ${buildAntiDuplicationSection()} ${todoDiscipline} Task NOT complete without: - lsp_diagnostics clean on changed files - Build passes (if applicable) - ${verificationText} STOP after first successful verification. Do NOT re-verify. Maximum status checks: 2. Then stop regardless. ` if (!promptAppend) return prompt return prompt + "\n\n" + resolvePromptAppend(promptAppend) } function buildTodoDisciplineSection(useTaskSystem: boolean): string { if (useTaskSystem) { return ` TASK OBSESSION (NON-NEGOTIABLE): - 2+ steps → task_create FIRST, atomic breakdown - task_update(status="in_progress") before starting (ONE at a time) - task_update(status="completed") IMMEDIATELY after each step - NEVER batch completions No tasks on multi-step work = INCOMPLETE WORK. ` } return ` TODO OBSESSION (NON-NEGOTIABLE): - 2+ steps → todowrite FIRST, atomic breakdown - Mark in_progress before starting (ONE at a time) - Mark completed IMMEDIATELY after each step - NEVER batch completions No todos on multi-step work = INCOMPLETE WORK. ` }