diff --git a/src/ClaudeDo.Data/PromptFiles.cs b/src/ClaudeDo.Data/PromptFiles.cs index 060bb1f..e546534 100644 --- a/src/ClaudeDo.Data/PromptFiles.cs +++ b/src/ClaudeDo.Data/PromptFiles.cs @@ -2,7 +2,7 @@ using System.Text; namespace ClaudeDo.Data; -public enum PromptKind { System, Planning, PlanningInitial, Retry, DailyPrep, WeeklyReport, ImprovementChild } +public enum PromptKind { System, Planning, PlanningInitial, Retry, DailyPrep, WeeklyReport, ImprovementChild, Refine } public static class PromptFiles { @@ -17,6 +17,7 @@ public static class PromptFiles PromptKind.DailyPrep => Path.Combine(Root, "daily-prep.md"), PromptKind.WeeklyReport => Path.Combine(Root, "weekly-report.md"), PromptKind.ImprovementChild => Path.Combine(Root, "improvement-child.md"), + PromptKind.Refine => Path.Combine(Root, "refine.md"), _ => throw new ArgumentOutOfRangeException(nameof(kind)) }; @@ -61,6 +62,7 @@ public static class PromptFiles PromptKind.DailyPrep => DailyPrepDefault, PromptKind.WeeklyReport => WeeklyReportDefault, PromptKind.ImprovementChild => ImprovementChildDefault, + PromptKind.Refine => RefineDefault, _ => "" }; @@ -181,6 +183,33 @@ public static class PromptFiles If there are no candidates, do nothing. """; + private const string RefineDefault = """ + You are refining ONE ClaudeDo task so it is ready to run autonomously later. + You are NOT executing the task — only improving its specification. + + The task you are refining: + - id: {taskId} + - title: {title} + - description: {description} + - current subtasks (steps): + {subtasks} + + What to do: + 1. If a repository is available, read the relevant code (read-only) to ground your + understanding. Do NOT edit, create, or delete any files. Do NOT run commands. + 2. Rewrite the description so it is clear, specific, and self-contained: what to change, + where, and what "done" looks like. Keep scope tight — do not invent adjacent work. + 3. Call mcp__claudedo__update_task to save the improved title (only if it genuinely + helps) and description. + 4. If the work is clearer as discrete steps, add them as subtasks with + mcp__claudedo__add_subtask (one call per step, in order). Only add steps that are + not already present in the current subtasks above. + + Use ONLY these tools: mcp__claudedo__get_task, mcp__claudedo__update_task, + mcp__claudedo__add_subtask, and read-only Read/Grep/Glob. When you have updated the + task, stop. + """; + private const string WeeklyReportDefault = """ You are generating a concise weekly standup report for a software developer, covering {start} to {end}.