diff --git a/src/ClaudeDo.Worker/Prime/DailyPrepPrompt.cs b/src/ClaudeDo.Worker/Prime/DailyPrepPrompt.cs index 7e880bd..2c99506 100644 --- a/src/ClaudeDo.Worker/Prime/DailyPrepPrompt.cs +++ b/src/ClaudeDo.Worker/Prime/DailyPrepPrompt.cs @@ -14,17 +14,11 @@ public static class DailyPrepPrompt $"--allowedTools {CandidatesTool} {SetMyDayTool}"; public static string BuildPrompt(int maxTasks, DateOnly today) => - $""" - Du bereitest meinen Arbeitstag fuer {today:yyyy-MM-dd} vor. - - 1. Rufe {CandidatesTool} auf. - 2. Behalte bereits als MyDay markierte offene Tasks (currentMyDay) — entferne sie nicht. - 3. Fuelle bis maximal {maxTasks} offene Tasks GESAMT in MyDay auf (currentMyDay zaehlt mit). Niemals mehr. - 4. Schaetze pro Kandidat grob den Aufwand und waehle eine machbare Mischung (nicht nur Grossbrocken). - Priorisiere isStarred, faellige (scheduledFor) und aeltere Tasks. - 5. Lege thematisch verwandte Tasks durch aufeinanderfolgende sortOrder-Werte nebeneinander. - 6. Setze die Auswahl via {SetMyDayTool}(taskId, true, sortOrder). Markiere nichts ausserhalb der Kandidatenliste. - - Wenn es keine Kandidaten gibt, tue nichts. - """; + ClaudeDo.Data.PromptFiles.Render( + ClaudeDo.Data.PromptKind.DailyPrep, + new Dictionary + { + ["date"] = today.ToString("yyyy-MM-dd"), + ["maxTasks"] = maxTasks.ToString(), + }); } diff --git a/tests/ClaudeDo.Worker.Tests/Prime/DailyPrepPromptTests.cs b/tests/ClaudeDo.Worker.Tests/Prime/DailyPrepPromptTests.cs index 3a871f1..25f0ff3 100644 --- a/tests/ClaudeDo.Worker.Tests/Prime/DailyPrepPromptTests.cs +++ b/tests/ClaudeDo.Worker.Tests/Prime/DailyPrepPromptTests.cs @@ -12,6 +12,7 @@ public class DailyPrepPromptTests Assert.Contains("2026-06-03", prompt); Assert.Contains("get_daily_prep_candidates", prompt); Assert.Contains("set_my_day", prompt); + Assert.Contains("preparing my workday", prompt); } [Fact]