コンテンツにスキップ

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.typeuser / feedback / project / reference の 4 値だけ。

4. 本文

feedback / projectWhy:How to apply: を付ける。関連は [[name]] で相互リンク(存在しない名前は「後で書く」印であって誤りではないが、削除・改名で迷子にしたら張り替える)。

5. 索引 MEMORY.md

1 memory につき 1 行 - [Title](file.md) — hook1 行 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 から。