Things to make / Recipe 09 of 14 · Data
Make a weekly report you can rerun
Change one CSV row and watch your offline report update.
- About 16 minutes
- For volunteer coordinators who repeat a small weekly hours summary.
- Runs in Claude Code and OMP
What the agent made
Ran it for real with Claude Code 2.1.292 and OMP 18.8.5 on 2026-10-08, in an empty session with no saved memory. Your result will differ.
Weekly report for week-two.csv Rows: 4 Total hours (nonblank rows): 11.0 Warnings (0): (none) To regenerate this report, run from the folder containing the script: python3 weekly-report.py week-two.csv This overwrites week-two-report.txt; the input CSV is never modified. If any hours value is not a valid non-negative number, the script exits with an error naming the line and writes no report.
Open the whole file · Also made: week-one-report.txt, weekly-report.py
The same prompt in OMP made its own version: open what OMP made. Two runs, two different results: that is normal.
Make your own
Get the files
Download the practice folder (ZIP)
Unzip it: you get a folder called
cli-practicewith 2 fictional files. Download two fictional weekly volunteer-hours CSVs, one with a missing hour.Open your agent in that folder
Open a terminal in
cli-practiceand typeclaudeoromp --approval-mode always-ask. First time? Set up in about five minutes, with steps for Mac, Windows, and Linux.Paste this prompt
Work only inside this practice folder. Read week-one.csv and week-two.csv. Write weekly-report.py using only Python's standard library: accept one CSV filename argument, write <input-stem>-report.txt beside it, and show row count, sum of nonblank hours, and warnings naming rows with missing hours. Reject invalid numeric hours rather than treating them as zero. Run it for both samples. Never edit inputs, install packages, schedule jobs, use the network, send messages, or read outside this folder. Explain the rerun command in the report.
The prompt asks the agent to stay in this folder; it cannot enforce that. Read each file change and command before you approve it.
Check it yourself
Open
cli-practice/week-two-report.txtin any text editor, then:Human check: Compare week-two's row count and total against its CSV; in a temporary copy change one hour, rerun the script, and verify the total changes by that amount.
When we checked the recording above: Read source week-two: four rows, 4 + 2.5 + 1 + 3.5 = 11 hours, matching the report. In a temporary copy changed V-101 from 4 to 5; ran python3 weekly-report.py week-two.csv and got four rows, 12 hours, zero warnings. Week-one flags V-103 missing; originals unchanged.
Why an agent, not a chat window
An agent writes and runs a reusable local script, so a new CSV yields a report without pasting it into chat again.