manage-memory
について
このスキルは、開発者がClaude Codeの永続メモリを管理するために、MEMORY.mdファイルの整理、抽出、検証を支援します。トピックの専用ファイルへの自動抽出、古くなったエントリの検出、200行制限の強制を自動的に処理します。MEMORY.mdが行数制限に近づいたとき、持続的な洞察を得た生産的なセッションの後、またはプロジェクトの変更によりメモリエントリが古くなっている可能性があるときにご利用ください。
クイックインストール
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-memoryこのコマンドをClaude Codeにコピー&ペーストしてスキルをインストールします
ドキュメント
Manage Memory
Maintain Claude Code's persistent memory directory so it stays accurate, concise, useful across sessions. MEMORY.md loaded into system prompt on every conversation — lines after 200 are truncated. File must be lean index pointing to topic files for detail.
When Use
- MEMORY.md approaching 200-line truncation threshold
- Session produced durable insights worth preserving (new patterns, architecture decisions, debugging solutions)
- Topic section in MEMORY.md grown beyond 10-15 lines. Should be extracted
- Project state changed (renamed files, new domains, updated counts). Memory entries may be stale
- Starting new area of work. Check whether relevant memory already exists
- Periodic maintenance between sessions to keep memory directory healthy
Inputs
- Required: Access to memory directory (typically
~/.claude/projects/<project-path>/memory/) - Optional: Specific trigger (e.g., "MEMORY.md is too long," "just finished major refactor")
- Optional: Topic to add, update, or extract
Steps
Step 1: Assess Current State
Read MEMORY.md and list all files in memory directory:
wc -l <memory-dir>/MEMORY.md
ls -la <memory-dir>/
Check line count against 200-line limit. Inventory existing topic files.
Got: Clear picture of total lines, number of topic files, which sections exist in MEMORY.md.
If fail: Memory directory doesn't exist? Create it. MEMORY.md doesn't exist? Create minimal one with # Project Memory header and ## Topic Files section.
Step 2: Identify Stale Entries
Compare memory claims against current project state. Common staleness patterns:
- Count drift: File counts, skill counts, domain counts changed after additions/removals
- Renamed paths: Files or directories moved or renamed
- Superseded patterns: Workarounds no longer needed after fixes
- Contradictions: Two entries saying different things about same topic
Use Grep to spot-check key claims:
# Example: verify a skill count claim
grep -c "^ - id:" skills/_registry.yml
# Example: verify a file still exists
ls path/claimed/in/memory.md
Got: List of entries stale, with correct current values.
If fail: Can't verify claim (e.g., it references external state you can't check)? Leave it but add (unverified) note rather than silently preserving potentially wrong information.
Step 3: Decide What to Add
For new entries, apply these filters before writing:
- Durability: Will this be true next session? Avoid session-specific context (current task, in-progress work, temporary state).
- Non-duplication: Does CLAUDE.md or project documentation already cover this? Don't duplicate — memory is for things NOT captured elsewhere.
- Verified: Has this been confirmed across multiple interactions, or is it single observation? For single observations, verify against project docs before writing.
- Actionable: Does knowing this change behavior? "The sky is blue" isn't useful. "Exit code 5 means quoting error — use temp files" changes how you work.
Exception: User explicitly asks to remember something? Save immediately — no need to wait for multiple confirmations.
Got: Filtered list of entries worth adding, each meeting durability + non-duplication + verification + actionability criteria.
If fail: Unsure whether entry is worth keeping? Err toward keeping briefly in MEMORY.md — easier to prune later than to rediscover.
Step 4: Extract Oversize Topics
When section in MEMORY.md exceeds ~10-15 lines, extract to dedicated topic file:
- Create
<memory-dir>/<topic-name>.mdwith descriptive header - Move detailed content from MEMORY.md to topic file
- Replace section in MEMORY.md with 1-2 line summary and link:
## Topic Files
- [topic-name.md](topic-name.md) — Brief description of contents
Naming conventions for topic files:
- Use lowercase kebab-case:
viz-architecture.md, notVizArchitecture.md - Name by topic, not chronology:
patterns.md, notsession-2024-12.md - Group related items: combine "R debugging" and "WSL quirks" into
patterns.mdrather than creating one file per fact
Got: MEMORY.md stays under 200 lines. Each topic file self-contained and readable without MEMORY.md context.
If fail: Topic file would be fewer than 5 lines? Probably not worth extracting — leave inline in MEMORY.md.
Step 5: Update MEMORY.md
Apply all changes: remove stale entries, add new entries, update counts, ensure Topic Files section lists all dedicated files.
MEMORY.md structure should follow this pattern:
# 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
Guidelines:
- Keep each bullet to 1-2 lines maximum
- Use inline formatting (
code, bold) for scanability - Put most frequently needed context first
- Topic Files section should always be last
Got: MEMORY.md under 200 lines, accurate, has working links to all topic files.
If fail: Can't get under 200 lines after extraction? Identify least-frequently-used section, extract it. Every section is candidate — even project structure overview can go to topic file if needed, leaving just 1-line summary.
Step 6: Verify Integrity
Run final check:
- Line count: Confirm MEMORY.md under 200 lines
- Links: Verify every topic file referenced in MEMORY.md exists
- Orphans: Check for topic files not referenced in MEMORY.md
- Accuracy: Spot-check 2-3 factual claims against project state
wc -l <memory-dir>/MEMORY.md
# Check for broken links
for f in $(grep -oP '\[.*?\]\(\K[^)]+' <memory-dir>/MEMORY.md); do
ls <memory-dir>/$f 2>/dev/null || echo "BROKEN: $f"
done
# Check for orphan files
ls <memory-dir>/*.md | grep -v MEMORY.md
Got: Line count under 200, no broken links, no orphan files, spot-checked claims accurate.
If fail: Fix broken links (update or remove). Orphan files? Either add reference in MEMORY.md or delete if no longer relevant.
Checks
- MEMORY.md under 200 lines
- All topic files referenced in MEMORY.md exist on disk
- No orphan
.mdfiles in memory directory (every file linked from MEMORY.md) - No stale counts or renamed paths in any memory file
- New entries meet durability/non-duplication/verified/actionable criteria
- Topic files have descriptive headers and are self-contained
- MEMORY.md reads as useful quick-reference, not changelog
Pitfalls
- Memory file pollution: Writing every session observation to memory. Most findings session-specific, don't need persisting. Apply four filters (Step 3) before writing.
- Stale counts: Updating code but not memory. Counts (skills, agents, domains, files) drift silently. Always verify counts against source of truth before trusting memory.
- Chronological organization: Organizing by "when I learned it" instead of "what it's about." Topic-based organization (
patterns.md,viz-architecture.md) far more useful for retrieval than date-based files. - Duplicating CLAUDE.md: CLAUDE.md is authoritative project instruction file. Memory should capture things NOT in CLAUDE.md — debugging insights, architecture decisions, workflow preferences, cross-project patterns.
- Over-extraction: Creating topic file for every 3-line section. Only extract when section exceeds ~10-15 lines. Small sections work fine inline.
- Forgetting 200-line limit: MEMORY.md loaded into every system prompt. Lines after 200 silently truncated. File grows past this? Bottom content effectively invisible.
See Also
write-claude-md— CLAUDE.md captures project instructions. Memory captures cross-session learningprune-agent-memory— inverse of manage-memory: auditing, classifying, selectively forgetting stored memorieswrite-continue-here— write structured continuation file for session handoff. Complements memory as short-term context bridgeread-continue-here— read and act on continuation file at session start. Consumption side of handoffcreate-skill— new skills may produce memory-worthy patternsheal— self-healing may update memory as part of integration stepmeditate— meditation sessions may surface insights worth persisting
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エージェントのデプロイやエージェントワークフローのオーケストレーションを求められた際にご利用ください。
