Do it by hand once, then automate
I want to teach from the PoC I'm building, so I keep a daily log here: what I built, why, and how I used Claude. On day one I wrote the log with Claude by hand. Then I turned those prompts into a command, and its first real run wrote the notes for today.
What runs now
go run . log PROJECTin this site's generator. It reads the newest Claude Code session of that project and writes two files innotes/.- A
.prompt.mdtranscript next to the note: prompts verbatim, tool output cut to 6 lines, names redacted. The site shows it in a terminal pane beside the note. - A draft note that
claude -pwrites from the transcript, in the voice of the newest note on the site. --dry-runprints both files and writes nothing. The command never overwrites a file.
The numbers: 610 lines of Go, about 2 minutes per run, and the first draft took 1 min 43 s.
Five choices and why
A decision diary. Each note lists choices as "choice, why, what I didn't pick". It teaches the reasoning, which you can't see in the code. Not picked: a replay of every prompt, or a list of lessons without the why.
On my own site, without client names. The notes are mine and public, so they live here, not in the client's repo. Client, product and host names never appear. Not picked: a log folder inside the PoC repo.
The session file, not a copy of the terminal. Claude Code saves every session as JSONL. The command reads that file, so it gets every prompt word for word. Not picked: pasting the scrollback by hand.
Claude drafts, I edit. The command calls claude -p without tools and without saving a session. The newest note
goes along as the example of the voice. Not picked: a template that fills in blanks, which can't explain a choice.
The names to hide live outside the repo. They sit in ~/.config/alen.andronewille.eu/redact.txt, one per line,
because the list itself names the client. Your home folder, email addresses and common secret formats are always
replaced. Not picked: a list in the site's repo.
How I used Claude
- Directions before a format. I asked: "give me 3 directions and your suggestions for them. keep it compact, i have adhd." I picked the decision diary and moved the notes from the PoC repo to this site.
- A hand pass first. Claude wrote the first note and its
.prompt.mdby hand, redacting names as it went. That pass set the format the command now follows. - Then the tool. I asked: "now write this into a tool so i can run that instead of going through these prompts with you for the next sessions." Claude read how Claude Code stores sessions and built the command.
- A dry run on a real session. The first dry run leaked the product name into the file name. Claude now redacts the title before it makes the slug.
- The first real run drifted. I had moved the hand-written note away first, so Claude had no voice example. The layout of the choices changed until I edited the note.
What I'd tell someone starting the same
- Do a chore by hand with Claude once, then ask for the tool. The manual pass is the spec.
- Dry-run on a real session before writing. That is where the leaked name showed up.
- Keep the list of names to hide out of the repo you publish from.
Next
- Run
go run . logafter each session and edit the draft before publishing. - Make the command handle two sessions on one day.