memory の書き方(写し)¶
この文書はコーディネーター(Claude Code)の system prompt にある memory の書き方の写しである。正は system prompt。食い違ったら system prompt を正としてこの写しを直す(v7 §3-6・人間ゲート 2026-09-15 Q3 = A)。ワーカーは memory を読まない・書かない(
.beads/PRIME.mdの分担)。
1. 置き場¶
~/.claude/projects/<メイン worktree のパスを-区切りにした slug>/memory/(この repo では -Users-kyoei-woo-Projects-waste-link-waste-link)。repo 外。全ワークツリーが同じディレクトリを共有する。
2. 1 ファイル 1 事実¶
1 ファイル 1 事実。ファイル名 = kebab-case の name。名前に日付を入れない(日付が必要なのは生の資料 = session-log の側)。
3. frontmatter¶
name(ファイル名と同じ)/ description(1 行。索引に載り、索引が常時読み込まれたときにそのファイルを開くかの手掛かり。問いに該当する memory の選定は本文の rg で行う・§5)/ metadata.type は user / feedback / project / reference の 4 値だけ。
4. 本文¶
feedback / project は Why: と How to apply: を付ける。関連は [[name]] で相互リンク(存在しない名前は「後で書く」印であって誤りではないが、削除・改名で迷子にしたら張り替える)。
5. 索引 MEMORY.md¶
1 memory につき 1 行 - [Title](file.md) — hook。1 行 200 字以内。合計は約 25,000 字が上限(ローダーの表示 24.4KB = 文字数 ÷ 1024)で、超えた分の行は読み込まれない。詳細は本文へ、索引は要点だけ。索引は該当の判断に使わない。聞くときは本文を rg で引く(v7 §3-1・§8)。
6. 目安¶
本文 8KB(8,192 byte)超は要約・分割の候補。
7. 保存前¶
保存前に同じ事実を扱う既存ファイルを探し、あれば更新する(重複を作らない)。誤りと分かった memory は削除し、参照を張り替える。verdict などから書くときは逐語 1〜2 行と出所(パス:行)を添え、種類は判断・実測・文脈・失敗のどれかを含む(v7 §3-2)。 memory ディレクトリは git 管理(ローカル・remote なし・wl-mqze)。履歴は git に持ち、ファイルは単一の現況を保つ。commit はセッション終了時の hook。
8. 書かないもの¶
書かないもの: repo にあること(コード構造・過去の修正・git 履歴・CLAUDE.md / AGENTS.md の内容)・この会話だけの事柄・秘密。
9. 現況ポインタ¶
現況ポインタ coordinator-resume-state は 3KB 以下・学びを書かない。過去のセッション記録は ~/.claude/projects/<slug>/session-log/ に日付別(生の資料。wiki からリンクしない)。
10. 検査¶
検査: scripts/memory-inspect.mjs(wl-9jt1)が I1〜I5(索引の行長・8KB 超・名前の日付・type 違反・リンク切れ)を毎セッションの先頭に 7 行で出す(表示のみ・止めない)。月次点検(人)は wl-v4tz から。