project-memory
プロジェクトのバグ解決策、設計判断、重要事項、作業履歴などをdocs/project_notes/に構造化して記録・管理するSkill。
📜 元の英語説明(参考)
Set up and maintain a structured project memory system in docs/project_notes/ that tracks bugs with solutions, architectural decisions, key project facts, and work history. Use this skill when asked to "set up project memory", "track our decisions", "log a bug fix", "update project memory", or "initialize memory system". Configures both CLAUDE.md and AGENTS.md to maintain memory awareness across different AI coding tools.
🇯🇵 日本人クリエイター向け解説
プロジェクトのバグ解決策、設計判断、重要事項、作業履歴などをdocs/project_notes/に構造化して記録・管理するSkill。
※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-17
- 取得日時
- 2026-05-17
- 同梱ファイル
- 1
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
[Skill 名] project-memory
プロジェクトメモリ
目次
概要
docs/project_notes/ に構造化されたメモリシステムを確立することで、プロジェクトの組織的知識を維持します。このスキルは、4つの主要なメモリファイル(bugs、decisions、key facts、issues)を設定し、CLAUDE.md と AGENTS.md を構成して、それらを自動的に参照および維持するようにします。その結果、過去の決定、問題の解決策、重要な構成の詳細を、コーディングセッション間や異なるAIツール間で記憶するプロジェクトが実現します。
このスキルを使用するタイミング
このスキルは、次の場合に呼び出します。
- 時間とともに知識が蓄積される新しいプロジェクトを開始するとき
- プロジェクトに、文書化すべき繰り返しのバグや決定がすでに存在するとき
- ユーザーが「プロジェクトメモリを設定して」または「私たちの決定を追跡して」と要求するとき
- ユーザーがバグ修正、アーキテクチャ上の決定、または完了した作業を記録したいとき
- 見覚えのある問題に遭遇したとき(「これ、前にも解決しなかったっけ?」)
- アーキテクチャ上の変更を提案する前(まず既存の決定を確認する)
- 複数の開発者やAIツール(Claude Code、Cursorなど)とプロジェクトに取り組むとき
コア機能
1. 初期設定 - メモリインフラストラクチャの作成
プロジェクトで初めて呼び出されたときに、次の構造を作成します。
docs/
└── project_notes/
├── bugs.md # 解決策を含むバグログ
├── decisions.md # アーキテクチャ上の決定記録
├── key_facts.md # プロジェクトの構成と定数
└── issues.md # チケット参照を含む作業ログ
ディレクトリ命名の理由: memory/ の代わりに docs/project_notes/ を使用することで、AI固有のツールではなく、標準的なエンジニアリング組織のように見えます。これにより、人間の開発者による採用とメンテナンスが増加します。
初期ファイルの内容: このスキル内の references/ ディレクトリからテンプレートをコピーします。
- 初期
bugs.mdにはreferences/bugs_template.mdを使用します。 - 初期
decisions.mdにはreferences/decisions_template.mdを使用します。 - 初期
key_facts.mdにはreferences/key_facts_template.mdを使用します。 - 初期
issues.mdにはreferences/issues_template.mdを使用します。
各テンプレートには、フォーマットの例と使用のヒントが含まれています。
2. CLAUDE.md の設定 - メモリを意識した動作
プロジェクトの CLAUDE.md ファイルに次のセクションを追加または更新します。
## プロジェクトメモリシステム
このプロジェクトは、セッション間の一貫性のために `docs/project_notes/` に組織的知識を保持しています。
### メモリファイル
- **bugs.md** - 日付、解決策、予防策のメモを含むバグログ
- **decisions.md** - コンテキストとトレードオフを含むアーキテクチャ上の決定記録(ADR)
- **key_facts.md** - プロジェクトの構成、資格情報、ポート、重要なURL
- **issues.md** - チケットID、説明、URLを含む作業ログ
### メモリを意識したプロトコル
**アーキテクチャ上の変更を提案する前:**
- 既存の決定については `docs/project_notes/decisions.md` を確認してください
- 提案されたアプローチが過去の選択と矛盾しないことを確認してください
- 矛盾する場合は、既存の決定を認め、変更が必要な理由を説明してください
**エラーやバグに遭遇した場合:**
- 類似の問題については `docs/project_notes/bugs.md` を検索してください
- 見つかった場合は既知の解決策を適用してください
- 解決された場合は新しいバグと解決策を文書化してください
**プロジェクトの構成を検索する場合:**
- 資格情報、ポート、URL、サービスアカウントについては `docs/project_notes/key_facts.md` を確認してください
- 仮定よりも文書化された事実を優先してください
**チケットの作業を完了した場合:**
- 完了した作業を `docs/project_notes/issues.md` に記録してください
- チケットID、日付、簡単な説明、URLを含めてください
**ユーザーがメモリの更新を要求した場合:**
- 適切なメモリファイル(bugs、decisions、key_facts、またはissues)を更新してください
- 確立された形式とスタイル(箇条書き、日付、簡潔なエントリ)に従ってください
### メモリファイルのスタイルガイドライン
- **シンプルさと編集のしやすさのために、テーブルよりも箇条書きを優先してください**
- **エントリは簡潔に保ってください**(説明は1〜3行)
- **時間的コンテキストのために常に日付を含めてください**
- **チケット、ドキュメント、監視ダッシュボードのURLを含めてください**
- **古いエントリの手動クリーンアップ**が期待されます(自動化されていません)
3. AGENTS.md の設定 - マルチツールサポート
プロジェクトに AGENTS.md ファイル(エージェントワークフローやマルチツールプロジェクトに使用される)がある場合は、同じメモリプロトコルを追加します。これにより、Claude Code、Cursor、GitHub Copilot、またはその他のAIツールを使用しているかどうかにかかわらず、一貫性が保証されます。
AGENTS.md が存在する場合: 上記と同じ「プロジェクトメモリシステム」セクションを追加します。
AGENTS.md が存在しない場合: ユーザーに作成するかどうかを尋ねます。多くのプロジェクトは複数のAIツールを使用しており、共有メモリプロトコルから恩恵を受けています。
4. メモリファイルの検索
問題に遭遇したり、決定を下したりするときは、積極的にメモリファイルを検索します。
bugs.md を検索:
# 類似のエラーを探す
grep -i "connection refused" docs/project_notes/bugs.md
# 日付範囲でバグを探す
grep "2025-01" docs/project_notes/bugs.md
decisions.md を検索:
# テクノロジーに関する決定を確認する
grep -i "database" docs/project_notes/decisions.md
# すべてのADRを探す
grep "^### ADR-" docs/project_notes/decisions.md
key_facts.md を検索:
# データベース接続情報を見つける
grep -A 5 "Database" docs/project_notes/key_facts.md
# サービスアカウントを検索する
grep 📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
Project Memory
Table of Contents
- Overview
- When to Use This Skill
- Core Capabilities
- Templates and References
- Example Workflows
- Integration with Other Skills
- Success Criteria
Overview
Maintain institutional knowledge for projects by establishing a structured memory system in docs/project_notes/. This skill sets up four key memory files (bugs, decisions, key facts, issues) and configures CLAUDE.md and AGENTS.md to automatically reference and maintain them. The result is a project that remembers past decisions, solutions to problems, and important configuration details across coding sessions and across different AI tools.
When to Use This Skill
Invoke this skill when:
- Starting a new project that will accumulate knowledge over time
- The project already has recurring bugs or decisions that should be documented
- The user asks to "set up project memory" or "track our decisions"
- The user wants to log a bug fix, architectural decision, or completed work
- Encountering a problem that feels familiar ("didn't we solve this before?")
- Before proposing an architectural change (check existing decisions first)
- Working on projects with multiple developers or AI tools (Claude Code, Cursor, etc.)
Core Capabilities
1. Initial Setup - Create Memory Infrastructure
When invoked for the first time in a project, create the following structure:
docs/
└── project_notes/
├── bugs.md # Bug log with solutions
├── decisions.md # Architectural Decision Records
├── key_facts.md # Project configuration and constants
└── issues.md # Work log with ticket references
Directory naming rationale: Using docs/project_notes/ instead of memory/ makes it look like standard engineering organization, not AI-specific tooling. This increases adoption and maintenance by human developers.
Initial file content: Copy templates from the references/ directory in this skill:
- Use
references/bugs_template.mdfor initialbugs.md - Use
references/decisions_template.mdfor initialdecisions.md - Use
references/key_facts_template.mdfor initialkey_facts.md - Use
references/issues_template.mdfor initialissues.md
Each template includes format examples and usage tips.
2. Configure CLAUDE.md - Memory-Aware Behavior
Add or update the following section in the project's CLAUDE.md file:
## Project Memory System
This project maintains institutional knowledge in `docs/project_notes/` for consistency across sessions.
### Memory Files
- **bugs.md** - Bug log with dates, solutions, and prevention notes
- **decisions.md** - Architectural Decision Records (ADRs) with context and trade-offs
- **key_facts.md** - Project configuration, credentials, ports, important URLs
- **issues.md** - Work log with ticket IDs, descriptions, and URLs
### Memory-Aware Protocols
**Before proposing architectural changes:**
- Check `docs/project_notes/decisions.md` for existing decisions
- Verify the proposed approach doesn't conflict with past choices
- If it does conflict, acknowledge the existing decision and explain why a change is warranted
**When encountering errors or bugs:**
- Search `docs/project_notes/bugs.md` for similar issues
- Apply known solutions if found
- Document new bugs and solutions when resolved
**When looking up project configuration:**
- Check `docs/project_notes/key_facts.md` for credentials, ports, URLs, service accounts
- Prefer documented facts over assumptions
**When completing work on tickets:**
- Log completed work in `docs/project_notes/issues.md`
- Include ticket ID, date, brief description, and URL
**When user requests memory updates:**
- Update the appropriate memory file (bugs, decisions, key_facts, or issues)
- Follow the established format and style (bullet lists, dates, concise entries)
### Style Guidelines for Memory Files
- **Prefer bullet lists over tables** for simplicity and ease of editing
- **Keep entries concise** (1-3 lines for descriptions)
- **Always include dates** for temporal context
- **Include URLs** for tickets, documentation, monitoring dashboards
- **Manual cleanup** of old entries is expected (not automated)
3. Configure AGENTS.md - Multi-Tool Support
If the project has an AGENTS.md file (used for agent workflows or multi-tool projects), add the same memory protocols. This ensures consistency whether using Claude Code, Cursor, GitHub Copilot, or other AI tools.
If AGENTS.md exists: Add the same "Project Memory System" section as above.
If AGENTS.md doesn't exist: Ask the user if they want to create it. Many projects use multiple AI tools and benefit from shared memory protocols.
4. Searching Memory Files
When encountering problems or making decisions, proactively search memory files:
Search bugs.md:
# Look for similar errors
grep -i "connection refused" docs/project_notes/bugs.md
# Find bugs by date range
grep "2025-01" docs/project_notes/bugs.md
Search decisions.md:
# Check for decisions about a technology
grep -i "database" docs/project_notes/decisions.md
# Find all ADRs
grep "^### ADR-" docs/project_notes/decisions.md
Search key_facts.md:
# Find database connection info
grep -A 5 "Database" docs/project_notes/key_facts.md
# Look up service accounts
grep -i "service account" docs/project_notes/key_facts.md
Use Grep tool for more complex searches:
- Search across all memory files:
Grep(pattern="oauth", path="docs/project_notes/") - Context-aware search:
Grep(pattern="bug", path="docs/project_notes/bugs.md", -A=3, -B=3)
5. Updating Memory Files
When the user requests updates or when documenting resolved issues, update the appropriate memory file:
Adding a bug entry:
### YYYY-MM-DD - Brief Bug Description
- **Issue**: What went wrong
- **Root Cause**: Why it happened
- **Solution**: How it was fixed
- **Prevention**: How to avoid it in the future
Adding a decision:
### ADR-XXX: Decision Title (YYYY-MM-DD)
**Context:**
- Why the decision was needed
- What problem it solves
**Decision:**
- What was chosen
**Alternatives Considered:**
- Option 1 -> Why rejected
- Option 2 -> Why rejected
**Consequences:**
- Benefits
- Trade-offs
Adding key facts:
- Organize by category (GCP Project, Database, API, Local Development, etc.)
- Use bullet lists for clarity
- Include both production and development details
- Add URLs for easy navigation
- See
references/key_facts_template.mdfor security guidelines on what NOT to store
Adding work log entry:
### YYYY-MM-DD - TICKET-ID: Brief Description
- **Status**: Completed / In Progress / Blocked
- **Description**: 1-2 line summary
- **URL**: https://jira.company.com/browse/TICKET-ID
- **Notes**: Any important context
6. Memory File Maintenance
Periodically clean old entries:
- User is responsible for manual cleanup (no automation)
- Remove very old bug entries (6+ months) that are no longer relevant
- Archive completed work from issues.md (3+ months old)
- Keep all decisions (they're lightweight and provide historical context)
- Update key_facts.md when project configuration changes
Conflict resolution:
- If proposing something that conflicts with decisions.md, explain why revisiting the decision is warranted
- Update the decision entry if the choice changes
- Add date of revision to show evolution
Templates and References
This skill includes template files in references/ that demonstrate proper formatting:
- references/bugs_template.md - Bug entry format with examples
- references/decisions_template.md - ADR format with examples
- references/key_facts_template.md - Key facts organization with examples (includes security guidelines)
- references/issues_template.md - Work log format with examples
When creating initial memory files, copy these templates to docs/project_notes/ and customize them for the project.
Example Workflows
Scenario 1: Encountering a Familiar Bug
User: "I'm getting a 'connection refused' error from the database"
-> Search docs/project_notes/bugs.md for "connection"
-> Find previous solution: "Use AlloyDB Auth Proxy on port 5432"
-> Apply known fix
Scenario 2: Proposing an Architectural Change
Internal: "User might benefit from using SQLAlchemy for migrations"
-> Check docs/project_notes/decisions.md
-> Find ADR-002: Already decided to use Alembic
-> Use Alembic instead, maintaining consistency
Scenario 3: User Requests Memory Update
User: "Add that CORS fix to our bug log"
-> Read docs/project_notes/bugs.md
-> Add new entry with date, issue, solution, prevention
-> Confirm addition to user
Scenario 4: Looking Up Project Configuration
Internal: "Need to connect to database"
-> Check docs/project_notes/key_facts.md
-> Find Database Configuration section
-> Use documented connection string and credentials
Tips for Effective Memory Management
- Be proactive: Check memory files before proposing solutions
- Be concise: Keep entries brief (1-3 lines for descriptions)
- Be dated: Always include dates for temporal context
- Be linked: Include URLs to tickets, docs, monitoring dashboards
- Be selective: Focus on recurring or instructive issues, not every bug
Integration with Other Skills
The project-memory skill complements other skills:
- requirements-documenter: Requirements -> Decisions (ADRs reference requirements)
- root-cause-debugger: Bug diagnosis -> Bug log (document solutions after fixes)
- code-quality-reviewer: Quality issues -> Decisions (document quality standards)
- docs-sync-editor: Code changes -> Key facts (update when config changes)
When using these skills together, consider updating memory files as a follow-up action.
Success Criteria
This skill is successfully deployed when:
docs/project_notes/directory exists with all four memory files- CLAUDE.md includes "Project Memory System" section with protocols
- AGENTS.md includes the same protocols (if file exists or user requested)
- Memory files follow template format and style guidelines
- AI assistant checks memory files before proposing changes
- User can easily request memory updates ("add this to bugs.md")
- Memory files look like standard engineering documentation, not AI artifacts