manage-memory
정보
이 스킬은 Claude Code의 지속적 메모리 파일을 관리하며, MEMORY.md 파일의 내용을 체계화하고 추출하며 검증합니다. MEMORY.md를 200줄 이하의 간결한 색인으로 유지하며, 주제를 별도의 전용 파일로 추출하고, 오래된 내용을 탐지하며, 프로젝트 상태에 대한 정확성을 검증합니다. 줄 수 제한에 근접했을 때, 지속적인 통찰력을 생성한 후, 특정 섹션이 너무 커졌을 때, 또는 프로젝트 변경사항으로 인해 항목이 오래되었을 가능성이 있을 때 사용하세요.
빠른 설치
Claude Code
추천npx skills add pjt222/agent-almanac -a claude-code/plugin add https://github.com/pjt222/agent-almanacgit clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/manage-memoryClaude Code에서 이 명령을 복사하여 붙여넣어 스킬을 설치하세요
문서
メモリの管理
Claude Codeの永続的なメモリディレクトリをセッション間で正確、簡潔、有用な状態に保つ。MEMORY.mdはすべての会話でシステムプロンプトに読み込まれる — 200行以降は切り捨てられるため、このファイルは詳細についてトピックファイルを指す無駄のないインデックスでなければならない。
使用タイミング
- MEMORY.mdが200行の切り捨て閾値に近づいている場合
- セッションで保存すべき耐久性のある洞察が生まれた場合(新しいパターン、アーキテクチャの決定、デバッグ解決策)
- MEMORY.mdのトピックセクションが10〜15行を超えて抽出すべき場合
- プロジェクト状態が変化した(ファイルの名前変更、新しいドメイン、更新されたカウント)ためメモリエントリが古い可能性がある場合
- 新しい作業領域を始めて関連するメモリが既に存在するか確認する場合
- セッション間での定期的なメンテナンスでメモリディレクトリを健全に保つ場合
入力
- 必須: メモリディレクトリへのアクセス(通常
~/.claude/projects/<project-path>/memory/) - 任意: 具体的なトリガー(例:「MEMORY.mdが長すぎる」「大規模リファクタリングが完了した」)
- 任意: 追加、更新、または抽出するトピック
手順
ステップ1: 現状の評価
MEMORY.mdを読み、メモリディレクトリ内のすべてのファイルを一覧表示する:
wc -l <memory-dir>/MEMORY.md
ls -la <memory-dir>/
200行制限に対する行数を確認する。既存のトピックファイルを棚卸しする。
期待結果: 総行数、トピックファイルの数、MEMORY.mdに存在するセクションの明確な把握。
失敗時: メモリディレクトリが存在しない場合は作成する。MEMORY.mdが存在しない場合は、# Project Memory ヘッダーと ## Topic Files セクションを含む最小限のものを作成する。
ステップ2: 古くなったエントリの特定
メモリの主張を現在のプロジェクト状態と比較する。一般的な陳腐化パターン:
- カウントのずれ: 追加/削除後に変化したファイル数、スキル数、ドメイン数
- 名前変更されたパス: 移動、名前変更、削除されたファイルまたはディレクトリ
- 不要になったパターン: 修正後に不要になった回避策
- 矛盾: 同じトピックについて異なることを述べている2つのエントリ
Grepを使って主要な主張を確認する:
# 例: スキル数の主張を確認する
grep -c "^ - id:" skills/_registry.yml
# 例: ファイルがまだ存在するか確認する
ls path/claimed/in/memory.md
期待結果: 古くなったエントリの一覧と正しい現在値。
失敗時: 主張を確認できない場合(例: 確認できない外部状態を参照している)、潜在的に誤った情報を黙って保持するのではなく、(unverified) 注釈を追加する。
ステップ3: 追加すべき内容の決定
新しいエントリには、書き込む前にこれらのフィルターを適用する:
- 耐久性: これは次のセッションでも真実か? セッション固有のコンテキスト(現在のタスク、進行中の作業、一時的な状態)は避ける。
- 重複なし: CLAUDE.mdやプロジェクトドキュメントでは既にカバーされていないか? 重複させない — メモリは他の場所でキャプチャされていないことのためのもの。
- 検証済み: 複数のインタラクションで確認されたか、単一の観察か? 単一の観察の場合、書き込む前にプロジェクトドキュメントに対して確認する。
- 実行可能: これを知ることで動作が変わるか? 「空は青い」は有用ではない。「終了コード5はクォートエラーを意味する — 一時ファイルを使用する」は作業方法を変える。
例外: ユーザーが何かを覚えるよう明示的に求めた場合、すぐに保存する — 複数の確認を待つ必要はない。
期待結果: 耐久性 + 重複なし + 検証 + 実行可能性の基準を満たす、追加すべきエントリのフィルタリングされた一覧。
失敗時: エントリを保持する価値があるかどうか不明な場合、MEMORY.mdに簡単に保持する方向に誤る — 後で整理する方が再発見するよりも簡単だ。
ステップ4: サイズが大きすぎるトピックの抽出
MEMORY.mdのセクションが約10〜15行を超えた場合、専用のトピックファイルに抽出する:
<memory-dir>/<topic-name>.mdを説明的なヘッダーで作成する- MEMORY.mdからトピックファイルに詳細なコンテンツを移動する
- MEMORY.mdのセクションを1〜2行の要約とリンクに置き換える:
## Topic Files
- [topic-name.md](topic-name.md) — Brief description of contents
トピックファイルの命名規則:
- 小文字ケバブケースを使用する:
viz-architecture.md(VizArchitecture.mdではなく) - 時系列ではなくトピックで名前を付ける:
patterns.md(session-2024-12.mdではなく) - 関連するアイテムをグループ化する: 「Rデバッグ」と「WSLの特性」を別々のファイルではなく
patterns.mdにまとめる
期待結果: MEMORY.mdが200行未満に収まる。各トピックファイルはMEMORY.mdのコンテキストなしに単独で読める。
失敗時: トピックファイルが5行未満になる場合、おそらく抽出する価値はない — MEMORY.mdにインラインで残す。
ステップ5: MEMORY.mdを更新する
すべての変更を適用する: 古いエントリを削除し、新しいエントリを追加し、カウントを更新し、トピックファイルセクションにすべての専用ファイルが一覧されていることを確認する。
MEMORY.mdの構造はこのパターンに従う必要がある:
# Project Memory
## Section 1 — High-level context
- Bullet points, concise
## Section 2 — Another topic
- Key facts only
## Topic Files
- [file.md](file.md) — What it covers
ガイドライン:
- 各箇条書きは最大1〜2行に保つ
- スキャン性のためにインラインフォーマット(
code、太字)を使用する - 最も頻繁に必要なコンテキストを最初に置く
- トピックファイルセクションは常に最後にある
期待結果: MEMORY.mdが200行未満で、正確で、すべてのトピックファイルへの動作するリンクがある。
失敗時: 抽出後も200行以下にならない場合、最も使用頻度の低いセクションを特定して抽出する。すべてのセクションが候補だ — 必要に応じてプロジェクト構造の概要もトピックファイルに移動できる。
ステップ6: 整合性の検証
最終確認を実行する:
- 行数: MEMORY.mdが200行未満であることを確認する
- リンク: MEMORY.mdで参照されているすべてのトピックファイルが存在することを確認する
- 孤立ファイル: MEMORY.mdで参照されていないトピックファイルを確認する
- 正確性: 2〜3つの事実の主張をプロジェクト状態に対してスポットチェックする
wc -l <memory-dir>/MEMORY.md
# 壊れたリンクを確認する
for f in $(grep -oP '\[.*?\]\(\K[^)]+' <memory-dir>/MEMORY.md); do
ls <memory-dir>/$f 2>/dev/null || echo "BROKEN: $f"
done
# 孤立したファイルを確認する
ls <memory-dir>/*.md | grep -v MEMORY.md
期待結果: 200行未満、壊れたリンクなし、孤立したファイルなし、スポットチェックした主張が正確。
失敗時: 壊れたリンクを修正する(更新または削除する)。孤立したファイルについては、MEMORY.mdに参照を追加するか、関連性がなくなっている場合は削除する。
バリデーション
- MEMORY.mdが200行未満である
- MEMORY.mdで参照されているすべてのトピックファイルがディスクに存在する
- メモリディレクトリに孤立した
.mdファイルがない(すべてのファイルがMEMORY.mdからリンクされている) - どのメモリファイルにも古いカウントや名前変更されたパスがない
- 新しいエントリが耐久性/重複なし/検証済み/実行可能性の基準を満たしている
- トピックファイルに説明的なヘッダーがあり、単独で読める
- MEMORY.mdが変更ログではなく有用なクイックリファレンスとして読める
よくある落とし穴
- メモリファイルの汚染: すべてのセッションの観察をメモリに書き込む。ほとんどの発見はセッション固有で永続化する必要はない。書き込む前に4つのフィルター(ステップ3)を適用する。
- 古くなったカウント: コードを更新したがメモリを更新しない。カウント(スキル、エージェント、ドメイン、ファイル)は静かにずれる。メモリを信頼する前に、常にカウントを真実のソースに対して確認する。
- 時系列による整理: 「学習した時期」ではなく「内容」で整理する。トピックベースの整理(
patterns.md、viz-architecture.md)は日付ベースのファイルよりもはるかに取得に有用だ。 - CLAUDE.mdの複製: CLAUDE.mdは権威あるプロジェクト指示ファイルだ。メモリはCLAUDE.mdにないことをキャプチャする — デバッグの洞察、アーキテクチャの決定、ワークフローの好み、プロジェクト横断のパターン。
- 過剰な抽出: すべての3行のセクションにトピックファイルを作成する。セクションが約10〜15行を超えた場合にのみ抽出する。小さいセクションはインラインで問題ない。
- 200行制限を忘れる: MEMORY.mdはすべてのシステムプロンプトに読み込まれる。200行以降は静かに切り捨てられる。ファイルがこれを超えると、下部のコンテンツは実質的に見えなくなる。
関連スキル
write-claude-md— CLAUDE.mdはプロジェクト指示をキャプチャし、メモリはセッション横断の学習をキャプチャするprune-agent-memory— manage-memoryの逆: 保存されたメモリの監査、分類、選択的な忘却write-continue-here— セッション引き継ぎのための構造化された継続ファイルを書く; 短期コンテキストブリッジとしてメモリを補完するread-continue-here— セッション開始時に継続ファイルを読み取り実行する; 引き継ぎの消費側create-skill— 新しいスキルはメモリ価値のあるパターンを生む可能性があるheal— セルフヒーリングは統合ステップの一部としてメモリを更新する場合があるmeditate— 瞑想セッションは永続化する価値のある洞察を明らかにする場合がある
GitHub 저장소
연관 스킬
qmd
개발qmd는 BM25, 벡터 임베딩, 재순위화를 결합한 하이브리드 검색을 통해 로컬 파일을 색인화하고 검색할 수 있는 로컬 검색 및 색인화 CLI 도구입니다. 명령줄 사용과 Claude 통합을 위한 MCP(Model Context Protocol) 모드를 모두 지원합니다. 이 도구는 임베딩에 Ollama를 사용하고 색인을 로컬에 저장하여 터미널에서 직접 문서나 코드베이스를 검색하는 데 이상적입니다.
subagent-driven-development
개발이 스킬은 각 독립적인 작업마다 새로운 하위 에이전트를 배치하고 작업 사이에 코드 리뷰를 진행하여 구현 계획을 실행합니다. 이 리뷰 프로세스를 통해 품질 게이트를 유지하면서 빠른 반복 작업을 가능하게 합니다. 동일한 세션 내에서 대부분 독립적인 작업을 진행할 때 내장된 품질 검증과 함께 지속적인 진행을 보장하기 위해 사용하세요.
mcporter
개발mcporter 스킬은 개발자가 Claude에서 직접 Model Context Protocol(MCP) 서버를 관리하고 호출할 수 있도록 합니다. 이 스킬은 사용 가능한 서버를 나열하고, 인수를 사용해 해당 서버의 도구를 호출하며, 인증 및 데몬 생명주기를 처리하는 명령어를 제공합니다. 개발 워크플로우에서 MCP 서버 기능을 통합하고 테스트할 때 이 스킬을 사용하세요.
adk-deployment-specialist
개발이 스킬은 A2A 프로토콜을 사용하여 Vertex AI ADK 에이전트를 배포하고 오케스트레이션하며, AgentCard 검색, 작업 제출, 코드 실행 샌드박스 및 메모리 뱅크와 같은 지원 도구를 관리합니다. Python, Java 또는 Go 언어로 순차, 병렬 또는 루프 오케스트레이션 패턴을 갖춘 다중 에이전트 시스템 구축을 가능하게 합니다. Google Cloud에서 ADK 에이전트 배포 또는 에이전트 워크플로우 오케스트레이션을 요청받았을 때 사용하세요.
