feat(prompts): daily-prep prompt from file, English default
This commit is contained in:
@@ -14,17 +14,11 @@ public static class DailyPrepPrompt
|
|||||||
$"--allowedTools {CandidatesTool} {SetMyDayTool}";
|
$"--allowedTools {CandidatesTool} {SetMyDayTool}";
|
||||||
|
|
||||||
public static string BuildPrompt(int maxTasks, DateOnly today) =>
|
public static string BuildPrompt(int maxTasks, DateOnly today) =>
|
||||||
$"""
|
ClaudeDo.Data.PromptFiles.Render(
|
||||||
Du bereitest meinen Arbeitstag fuer {today:yyyy-MM-dd} vor.
|
ClaudeDo.Data.PromptKind.DailyPrep,
|
||||||
|
new Dictionary<string, string>
|
||||||
1. Rufe {CandidatesTool} auf.
|
{
|
||||||
2. Behalte bereits als MyDay markierte offene Tasks (currentMyDay) — entferne sie nicht.
|
["date"] = today.ToString("yyyy-MM-dd"),
|
||||||
3. Fuelle bis maximal {maxTasks} offene Tasks GESAMT in MyDay auf (currentMyDay zaehlt mit). Niemals mehr.
|
["maxTasks"] = maxTasks.ToString(),
|
||||||
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.
|
|
||||||
""";
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ public class DailyPrepPromptTests
|
|||||||
Assert.Contains("2026-06-03", prompt);
|
Assert.Contains("2026-06-03", prompt);
|
||||||
Assert.Contains("get_daily_prep_candidates", prompt);
|
Assert.Contains("get_daily_prep_candidates", prompt);
|
||||||
Assert.Contains("set_my_day", prompt);
|
Assert.Contains("set_my_day", prompt);
|
||||||
|
Assert.Contains("preparing my workday", prompt);
|
||||||
}
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
|
|||||||
Reference in New Issue
Block a user