0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Claude Code の記憶リセット問題を CLAUDE.md と Skills で解決する5分セットアップ

0
Posted at

はじめに

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分で始める永続記憶セットアップ

  1. プロジェクトルートに CLAUDE.md を作る(鉄則・スタック・規約)
  2. .claude/skills/PR レビュー / リリース手順 などを置く
  3. .claude/memory/過去の決定・失敗 を蓄積
  4. CLAUDE.md から @.claude/memory/ で参照させる

これで Claude Code は毎セッション「あなたのプロジェクトを完全に理解した相棒」として起動します。

セッション間の記憶リセットに悩んでいる方、ぜひ試してみてください。


関連: 教材で手を動かして学ぶ

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?