はじめに
Qiita で「Claude Code はセッションをまたぐと記憶がリセットされる — 5分で永続記憶を仕込む方法」がトレンド入りしていました。
これは Claude Code を実務で使い始めた多くのエンジニアが最初にぶつかる問題です。
毎日 Claude Code MAX で実プロダクトを動かしている立場として、この問題を CLAUDE.md / Skills / Hooks の3点セット で解決する実用パターンを共有します。
5分でセットアップ可能。
なぜ「記憶リセット」が問題か
Claude Code は セッションごとに記憶がリセット されます。
つまり、
- 昨日「うちのプロジェクトは TypeScript で書く」と教えても
- 今日新しいセッションを開くと忘れている
- 毎回同じ説明を繰り返す羽目になる
これが続くと、生産性が体感30〜50%下がる のが現場の実感です。
解決策の全体像
3つのレイヤーで「永続記憶」を作ります:
Layer 1: CLAUDE.md → プロジェクト全体の常時ルール(毎セッション最初から効く)
Layer 2: Skills → 特定の手順・ワークフロー(トリガーで呼び出す)
Layer 3: memory/ ディレクトリ → 過去の決定・学びの蓄積(必要時に参照)
それぞれの役割と書き方を見ていきます。
Layer 1: CLAUDE.md(5分でできる最重要セットアップ)
プロジェクトのルートに CLAUDE.md を作って、以下を入れる:
# プロジェクトメモ
## 技術スタック
- フロント: Next.js 14 (App Router) + TypeScript + Tailwind
- バック: Supabase (Auth + Postgres + Storage)
- AI: Claude API (claude-3.5-sonnet)
## コード規約
- TypeScript strict モード
- エラーハンドリング: neverthrow の Result 型
- 認証: Supabase Auth、JWT は直接触らない
- DBスキーマ変更: migration ファイルを必ず作成
## 鉄則
- 着手前に「何をやるか」を1行で宣言してから始める
- 既存規約を確認してから書く
- エラーハンドリングが書けない時は聞き返す
- 完了報告は「やったこと」「変更ファイル」「次の確認事項」をセットで
- 不明な前提は推測で進めず質問する
## このプロジェクトで「絶対やらない」こと
- console.log を本番コードに残さない
- any 型を使わない
- 認証・認可をフロントだけで判断しない
これだけで、毎セッションの最初から Claude Code は 「あなたのプロジェクトの常識」を持った状態 で起動します。
Layer 2: Skills(手順を分離する)
.claude/skills/ 配下に、特定の手順を分離します。
例:pr-review/skill.md
# pr-review
PRレビューする時の手順:
1. PRの概要を要約する
2. 変更ファイルごとにレビュー観点を当てる:
- セキュリティ: 認証バイパス・SQL injection・XSS
- エラーハンドリング: try/catch / Result 型の網羅
- テスト: 主要パスのテスト存在
- 既存規約との整合性
3. 改善提案を3つに絞って提示
4. マージ判断(OK / 要修正 / 議論)を明示
セッション中で「PRレビューして」と言うだけで、この手順が呼び出されます。
Layer 3: memory/ ディレクトリ(学びの蓄積)
.claude/memory/ を作って、過去の決定や学びを記録:
.claude/memory/
├── decisions.md # 重要な技術判断の履歴
├── patterns.md # 繰り返し出てくる実装パターン
├── failures.md # 過去の失敗とその原因
└── conventions.md # 細かいコード規約・命名ルール
CLAUDE.md から @.claude/memory/ を参照させれば、セッション開始時に自動で読み込まれます:
# CLAUDE.md
@.claude/memory/decisions.md
@.claude/memory/patterns.md
効果測定
私のプロジェクトで、3つを揃えた前後の比較:
| 指標 | 整備前 | 整備後 |
|---|---|---|
| 1セッションの平均長 | 短い(毎回ゼロから説明) | 長い(深い議論ができる) |
| 同じ質問を AI が繰り返す頻度 | 月10回 | 月1〜2回 |
| 規約から外れた実装 | 週3〜5回 | 週0〜1回 |
| 引き継ぎコスト | 数日 | 数時間 |
「記憶リセット」が解消されると、Claude Code は永続的な相棒 になります。
アンチパターン
NG1: CLAUDE.md に手順書を全部書く
長すぎる CLAUDE.md は逆効果。手順は Skills に分離。
NG2: memory/ に何でも入れる
スナップショット的に「現在の状態」を書くと、変化に追従できなくなる。意思決定の履歴と原則 だけ書く。
NG3: 整備して満足する
Skills や memory は 継続更新 が前提。月1で見直す癖をつける。
まとめ: 5分で始める永続記憶セットアップ
- プロジェクトルートに CLAUDE.md を作る(鉄則・スタック・規約)
-
.claude/skills/に PR レビュー / リリース手順 などを置く -
.claude/memory/に 過去の決定・失敗 を蓄積 - CLAUDE.md から
@.claude/memory/で参照させる
これで Claude Code は毎セッション「あなたのプロジェクトを完全に理解した相棒」として起動します。
セッション間の記憶リセットに悩んでいる方、ぜひ試してみてください。
関連: 教材で手を動かして学ぶ
- まず無料で試したい方: 教材の体験版を GitHub で配布中(
git cloneしてすぐ動かせます) → https://github.com/ayies128/next-ai-camp-trial - 全20セッション完全版+メンタリング → https://menta.work/plan/20251?ref=qiita
- YouTubeチャンネル → https://www.youtube.com/channel/UC1rXVD9WYsQPQEWZyd-A1KA/?ref=qiita