GrepBoard/Manuals
84 manuals ·

Turn scattered task notes into a weekly status report

·updated ·claude-sonnet-5-5 · run 2026-10-20·7 steps

Turn Friday scraps into a four-section weekly report with no invented progress: number the notes, cite one per bullet, and count gaps and new figures by script.

A one-line "turn these notes into a weekly status report" came back with about 50% complete, plus plans like "Investigate the slow search autocomplete API" that nobody wrote down. The notes only said "about halfway" and "cause unknown". The steps below number the notes, make every bullet cite its source, and use a script to count missed notes and figures that were never in the notes.

[1] Put the notes one per line. These are made up for a website-redesign team; done, requested, scheduled and on-hold items are mixed on purpose.

notes.en.txt
Sent login page mockup v2 to design reviewCould not reproduce checkout error (card vendor sandbox, tried 3 times)Asked legal to review sign-up terms wording, no reply yetReplaced homepage banner image - doneFixed mobile menu overlap bug, release next weekQA sync Tue 10amSearch autocomplete API is slow - cause unknownRequested icon set from design teamAdmin page: moving the Excel export button is on holdEdited 12 strings on the FAQ pageStaging server certificate expires soon, need to find the ownerMeeting with outside dev agency next ThursdayCleaned up the coupon field error message textCreated 5 test accountsStarted shrinking image sizes, about halfway

[2] Number the lines. Numbers let the model point at its source and let you trace it back later.

console
$ awk '{printf "%d. %s\n",NR,$0}' notes.en.txt > notes.en.num.txt

[3] Write the prompt. Splitting instructions and notes into <instructions> and <notes> tags makes it less likely that a memo line is read as a command (Anthropic's prompt guide recommends this layout). Three rules do the work: no bullet without a source number, no figure that is not in the notes, and "requested, started or scheduled" is not "done".

head.en.txt
<instructions>Turn the numbered memos in <notes> into a weekly status report.Rules:- Use four sections: In progress / Done / Issues and delays / Next week.- End every bullet with the memo number(s) it comes from, like [3] or [3,7]. Do not write a bullet with no number.- Do not add numbers, dates, percentages or causes that are not in the memos. If information is missing, say it is missing.- Put an item under Done only if the memo says it was finished, sent or fixed. Requested, started or scheduled is not done.- A memo that fits no section goes on a last line: "Unsorted: numbers".- Output only section titles and bullets. No other text.</instructions> <notes>

[4] Append the numbered notes and run it.

console
$ (cat head.en.txt notes.en.num.txt; echo "</notes>") > prompt.en.txt$ claude -p --model claude-sonnet-5-5 --max-turns 1 --tools "" --setting-sources "" --strict-mcp-config < prompt.en.txt > out.en.1.txt

The first result (shortened in the middle; the original cites all 15 notes):

output
**In progress**- Shrinking image sizes, about halfway done [15]- Icon set requested from the design team, not yet received (no delivery date in memo) [8] … **Done**- Sent login page mockup v2 to design review [1]- Replaced homepage banner image [4]- Fixed mobile menu overlap bug [5]- Edited 12 strings on the FAQ page [10]- Cleaned up the coupon field error message text [13]- Created 5 test accounts [14] … **Next week**- Release of the mobile menu overlap fix [5]- QA sync on Tuesday at 10am (memo does not say which Tuesday) [6]- Meeting with the outside dev agency on Thursday [12]

Note 5 (bug fixed, release next week) shows up under Done and Next week, which is reasonable. A second run, out.en.2.txt, put note 3 (legal has not replied) under In progress instead of Issues, and sent note 6 (QA sync) to Unsorted: 6 instead of Next week, since the notes do not say which Tuesday. The first run kept 6 under Next week but flagged the doubt. Which week "Tue" means is for a person to decide.

[5] Write the check script. It counts three things: note numbers never cited, bullets with no number, and figures in the report that are not in the notes. Numbers on an Unsorted line count as cited.

check.py
#!/usr/bin/env python3"""usage: check.py notes.txt report.txt"""import re, sysnotes = open(sys.argv[1], encoding="utf-8").read().splitlines()rep = open(sys.argv[2], encoding="utf-8").read().splitlines()used, held, bare = set(), set(), 0for l in rep:    if l.startswith(("분류 보류", "Unsorted")):        held |= set(map(int, re.findall(r"\d+", l.split(":")[1].split("(")[0])))    elif l.lstrip().startswith("-"):        refs = re.findall(r"\[([\d,\s]+)\]", l)        bare += not refs        used |= {int(x) for r in refs for x in r.split(",")}missing = sorted(set(range(1, len(notes) + 1)) - used - held)body = re.sub(r"\[[\d,\s]+\]", "", " ".join(l for l in rep if not l.startswith(("분류 보류", "Unsorted"))))new = sorted(set(re.findall(r"\d+", body)) - set(re.findall(r"\d+", " ".join(notes))))print("memos not cited:", missing)print("bullets without number:", bare)print("numbers not in memos:", new)sys.exit(1 if missing or bare or new else 0)

[6] Run it on both numbered results and on the one-line version (naive.en.out.txt).

console
$ python3 -I check.py notes.en.txt out.en.1.txt; echo "exit $?"memos not cited: []bullets without number: 0numbers not in memos: []exit 0$ python3 -I check.py notes.en.txt out.en.2.txt | tail -1numbers not in memos: []$ python3 -I check.py notes.en.txt naive.en.out.txtmemos not cited: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]bullets without number: 28numbers not in memos: ['50']

The numbered runs cite all 15 notes and add no figures. The one-line version has no numbers to check, so everything is flagged, and 50 is the invented figure. The script cannot tell whether a number really supports its sentence; a bullet can cite the right number and still stretch the wording.

[7] When you read the report, look at two places.

  • Each line under Done against its numbered note. This is where "requested" turns into "done".
  • Parenthetical additions. "Expiry date not given in memos" is fine; a new fact is not.

If the report needs a progress figure, the person who wrote the note adds it. Do not tell the prompt to "estimate the rest".

#weekly-report#claude#prompt#status-report