feat(prompts): weekly-report instructions from file, point at data sections
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -5,33 +5,19 @@ namespace ClaudeDo.Worker.Report;
|
|||||||
|
|
||||||
public static class WeekReportPromptBuilder
|
public static class WeekReportPromptBuilder
|
||||||
{
|
{
|
||||||
private const string Instructions = """
|
|
||||||
You are generating a concise weekly standup report for a software developer.
|
|
||||||
Summarize what they accomplished between {0} and {1}.
|
|
||||||
|
|
||||||
Rules:
|
|
||||||
- Write the ENTIRE report in German.
|
|
||||||
- Group by day. One "## {{Wochentag}}, {{dd.MM.yyyy}}" section per day that has
|
|
||||||
activity (German weekday names). Omit days with no activity entirely.
|
|
||||||
- Within each day: 3-5 first-person, past-tense bullets ("- Habe X umgesetzt",
|
|
||||||
"- Y behoben"). Merge related small work into one bullet.
|
|
||||||
- Drop trivia: typo fixes, pure exploration, false starts, tooling/log noise.
|
|
||||||
- Blend the developer's own notes and the derived activity into ONE deduplicated
|
|
||||||
bullet list per day. The developer's notes are authoritative - never omit or
|
|
||||||
contradict their substance.
|
|
||||||
- Name the project/repo when it adds clarity.
|
|
||||||
- Output ONLY the dated sections. No preamble, no intro, no closing remarks.
|
|
||||||
""";
|
|
||||||
|
|
||||||
public static string Build(
|
public static string Build(
|
||||||
DateOnly start, DateOnly end,
|
DateOnly start, DateOnly end,
|
||||||
IReadOnlyList<RepoActivity> activity,
|
IReadOnlyList<RepoActivity> activity,
|
||||||
IReadOnlyDictionary<DateOnly, List<string>> notesByDay)
|
IReadOnlyDictionary<DateOnly, List<string>> notesByDay)
|
||||||
{
|
{
|
||||||
var sb = new StringBuilder();
|
var sb = new StringBuilder();
|
||||||
sb.AppendLine(string.Format(CultureInfo.InvariantCulture, Instructions,
|
sb.AppendLine(ClaudeDo.Data.PromptFiles.Render(
|
||||||
start.ToString("dd.MM.yyyy", CultureInfo.InvariantCulture),
|
ClaudeDo.Data.PromptKind.WeeklyReport,
|
||||||
end.ToString("dd.MM.yyyy", CultureInfo.InvariantCulture)));
|
new Dictionary<string, string>
|
||||||
|
{
|
||||||
|
["start"] = start.ToString("dd.MM.yyyy", CultureInfo.InvariantCulture),
|
||||||
|
["end"] = end.ToString("dd.MM.yyyy", CultureInfo.InvariantCulture),
|
||||||
|
}));
|
||||||
sb.AppendLine();
|
sb.AppendLine();
|
||||||
|
|
||||||
var days = new SortedDictionary<DateOnly, List<(string Repo, DayActivity Day)>>();
|
var days = new SortedDictionary<DateOnly, List<(string Repo, DayActivity Day)>>();
|
||||||
|
|||||||
Reference in New Issue
Block a user