
Memory Session
Run one guided memory session and bank it properly: pick the theme the timeline is hungriest for, follow the thread of feeling through the recorded conversation, and file the session with the follow-up questions that keep the next one alive. Locks the theme and question set FIRST, then captures the session in the teller's own words, then files it in the store with the threads to pull next time. Use for memory sessions, filing an interview with a parent or grandparent, memoir capture, and 'what should I ask next time'.
Steps
Entry step: scope. Each step names the specialist role it wants; the full working prompt is expandable.
- Scope the sessionplannerentry
theme from the timeline's gaps, question set, capture rules
Show working prompt
Choose the session's aim before pressing record — or before opening the transcript. Step 1: read sessions.json and timeline.md from the workspace — what has been captured already, and which years and themes the timeline is hungriest for. Step 2: pick the session theme with the owner and draft the question set — open questions that follow feeling, not chronology ('what did the kitchen smell like' beats 'what year was that'). Step 3: write an acceptance-criteria checklist ('the session file preserves the teller's own words and phrasings', 'the session is recorded in the store with its date and theme', 'the report names the moments worth a chapter, each with the teller's words', 'at least three follow-up threads, each with the question to open it'). Call write_task_note with the theme + question set + checklist and write notes/scope.md. - Capture the sessioninterviewer
session record in the teller's own words under sessions/
Show working prompt
Bank the session from the recording. Step 1: work from the session recording's transcript — through the project's transcription capabilities, or from a transcript file the owner provides. Step 2: shape it gently into a session record: keep the teller's own words and phrasings verbatim, keep the digressions (they are where the good material lives), and mark the interviewer's questions so the thread stays followable. Step 3: note the moments where the feeling changed — a laugh, a pause, a subject change — right where they happened. Step 4: save the session record in the sessions/ folder named for the date (for example sessions/2026-07-18-session.md) and call write_task_note with the path and the themes touched.
- File the sessionarchivist
store record updated, chapter-worthy moments, follow-up threads
Show working prompt
File the session and set up the next one. Step 1: record the session in the store through the project's memoir capabilities — date, teller, theme, and the session file's path — so sessions.json stays the index of everything banked. Step 2: write report.md: what was captured this session in a few warm lines, the moments worth a chapter (quote the teller's words for each), and at least three follow-up threads — each one a specific question for next time, aimed at a gap the session opened. Step 3: note anything the teller said to come back to, or asked to keep private — that instruction outranks everything. Call write_task_note with the chapter-worthy count and the top follow-up question.
- Evaluatereviewer
Grade the deliverable against every acceptance criterion. All pass → finish; any fail → loop back and fix the gap.
Show working prompt
Open report.md and the new session file under sessions/ and verify every criterion from notes/scope.md: the session file preserves the teller's own words (spot-check the report's quotes against the session file — they must be verbatim), the session is recorded in the store with date and theme, the chapter-worthy moments are named with the teller's words, and there are at least three follow-up threads each carrying a real question. Write PASS/FAIL per criterion; on any failure, name the gap and loop back to file. Then route — this is the whole point of the loop: - **Every criterion PASSES →** call `advance_task_step({ ref, stepId: "evaluate", next: "finish" })`. - **Any criterion FAILS →** write the specific gaps to notes, then call `advance_task_step({ ref, stepId: "evaluate", next: "file" })` to loop back. The builder fixes exactly those gaps. Never route to `finish` while any criterion is unmet. The build phase's completion gate already blocked a grossly-incomplete deliverable; your job is the judgment an automated check cannot make (does it actually work, read well, look right). After ~3 unproductive loops, stop and report DONE_WITH_CONCERNS so the user can step in. - Finishdeveloper
All acceptance criteria met. Stamp a short summary and report DONE.
Show working prompt
Every acceptance criterion passed. Write a one-paragraph DONE summary to task notes via `write_task_note`: what was built, the deliverable path(s), and a one-line confirmation that each criterion is met. Then report DONE.
Triggers
Phrases that suggest this craftbook to a crew.
- file the memory session
- run a memory session
- we recorded a session with mom
- what should I ask next time
- bank the interview
Source
View this craftbook on GitHub · MIT license