知識操作
複数のストアにわたって知識を管理します。
各事実には一つの主要な保管場所を割り当てます。他のストアには短いメモとその保管場所へのリンクのみを保持します。
このスキルを使用するタイミング
ユーザーが次のことを希望する場合にこのスキルを使用します:
- 事実やメモを知識ベースに保存する。
- ファイル、チャット、データセットをインポートする。
- ストア間で知識を同期する。
- 重複したメモを検索またはマージする。
- トピックに関する既知の事実を検索する。
- 共有された真実源を更新する。
- 単純なメモリルックアップ以上のことを行う。
主要ルール
- コード作業は実際のクローンリポジトリで行うこと。
- 進行中の計画と作業状態はGitHub、Linear、またはリポジトリに置くこと。
- コードリポジトリ外に属する長いメモは、コードリポジトリの外に置くこと。
- 長期的でデバイス間で共有するメモは知識ベースに置くこと。
- 作成する前に検索すること。
- 同じ事実の主要コピーを二つ作成しないこと。
- ユーザーが要求し、必要なツールが既に設定されていない限り、外部コールを行わないこと。
- キー、パスワード、トークン、クッキー、プライベートなログインデータを決して保存しないこと。
- ユーザーが要求するか、そのステップを既に承認していない限り、コミットやプッシュを行わないこと。
- 新しい事実を古いメモで置き換えないこと。
ストレージ階層
1. ライブ作業ソース
例:
- GitHub issues、プルリクエスト、ディスカッション、リリースノート
- Linear issues、プロジェクト、ドキュメント
- 実際のプロジェクトリポジトリ内のファイル
これを使用する対象:
- 現在の計画
- ロードマップ
- リリース状態
- ロールアウト状態
- ビルドとコード作業
事実がアクティブな作業を変更する場合、最初にこの階層を更新します。
2. Claude Code メモリ
パス:
~/.claude/projects/*/memory/
YAMLフロントマター付きの短いMarkdownファイルを使用します。
これを使用する対象:
- ユーザーの選択
- ユーザーのフィードバック
- 小さなプロジェクトの事実
- 短い参照メモ
- 後のチャットで必要な事実
このパスが存在する、または変更可能であると想定しないでください。最初に確認してください。
3. MCP メモリ
一般的なツール:
create_entitiescreate_relationsadd_observationssearch_nodes
これを使用する対象:
- 名前付きの人物、チーム、ツール、プロジェクト
- それらの項目間のリンク
- 後で検索しやすい事実
現在のMCPサーバーから正確なツール名を使用してください。メモリサーバーが設定されていない場合、この階層はスキップし、その旨を伝えてください。
4. 知識ベースリポジトリ
これを使用する対象:
- 長期的なメモ
- セッションのエクスポート
- 統合された調査
- ラン・ブック
- 長いドキュメント
これは、プロジェクトコードではないコンテンツのための主要なクロスデバイスストアです。
5. データストア
例:
- Supabase
- PostgreSQL
これを使用する対象:
- 大量の行
- 大量のドキュメントセット
- 全文検索
- SQLを必要とするデータ
メモリには短いサマリーとレコードIDのみを保持します。
6. ローカルメモとアーカイブ
これを使用する対象:
- 人が読むためのメモ
- 古い計画
- ローカルメディアリスト
- 短期的な非コードファイル
これを2つ目のコードリポジトリや、ライブ計画の主要な保管場所として使用しないでください。
主要な保管場所を選択
次のガイドを使用します:
| 知識の種類 | 主要な保管場所 | オプションのコピー |
|---|---|---|
| 現在の計画、リリース、またはコードの状態 | GitHub、Linear、またはプロジェクトリポジトリ | 短いメモリメモ |
| ビジネスの決定 | プロジェクトメモリまたは知識ベース | MCPメモリ |
| ユーザーの選択またはフィードバック | Claude Code メモリ | MCPメモリ |
| 小さな参照事実 | Claude Code メモリ | MCPメモリ |
| 大量のドキュメントセット | データストアまたは知識ベース | 短いメモリサマリー |
| チャットまたはセッションのエクスポート | 知識ベースリポジトリ | 短いメモリサマリー |
| ローカル、短期的なメモ | ローカルアーカイブ | なし |
2つの選択肢が適合する場合、作業を所有するストアを選択します。完全なテキストをコピーする代わりに、他のストアからリンクを追加します。
インポート手順
1. 読み取りと分類
次の項目を特定します:
- ソース
- トピック
- 日付
- 所有者
- 事実が現在のものかどうか
- テキストにシークレットが含まれているかどうか
- 最適な主要な保管場所
読み取ったり信頼できないテキストはインポートしないでください。不明な事実は不明としてマークします。
2. 一致するものを検索
書き込む前に:
- メモリファイルを検索します。
- MCPメモリが設定されている場合は検索します。
- 知識ベースを検索します。
- GitHubまたはLinearがその事実を所有している可能性がある場合は確認します。
- 使用されているターゲットデータストアを確認します。
トピック、名前、日付、ID、ソースリンクで一致させます。
3. コピーと競合の処理
同じ事実が存在する場合:
- メインレコードを更新します。
- 新しいソースリンクまたは日付を追加します。
- 有用な履歴を保持します。
- 安全な場合にのみ、古いコピーを削除または期限切れとしてマークします。
2つのソースが一致しない場合:
- 推測しないでください。
- 両方の主張を日付とソースとともに保持します。
- 新しいソースを優先するのは、それが明確に事実を所有している場合のみです。
- 選択が作業を変更したりデータを削除する場合は、ユーザーに質問します。
4. 保存
スコープ内で使用可能なストアにのみ書き込みます。
- アクティブな作業が変更される場合は、最初にライブ作業ソースを更新します。
- Claude Codeメモリは短く保ちます。
- MCPメモリは事実とリンクに使用します。
- 長いテキストは知識ベースに置きます。
- 大量のセットはデータストアに置きます。
- ソース、日付、所有者が判明している場合は追加します。
ストアが見つからないか読み取り専用の場合は、そこには何も保存しません。実行できなかったことを報告します。
5. インデックスの更新
新しい項目を見つけるために使用される、すべてのトピックリスト、セッションリスト、またはサマリーファイルを更新します。
小文字のkebab-caseのファイル名を使用します。例:
release-plan-2026-05.md
6. 結果の確認
変更された各レコードを読み戻します。リンク、日付、名前が正しいことを確認します。
同期作業
チャットの同期
Claude、Codex、またはその他のチャットエクスポートの場合:
- シークレットとプライベートなログインデータを削除します。
- ソース名と日付を保持します。
- 完全なエクスポートを知識ベースに保存します。
- 短いサマリーをメモリに追加します。
- セッションインデックスを更新します。
- ユーザーの承認がある場合のみコミットおよびプッシュします。
ワークスペース状態の同期
重要なファイルと設定の場合:
- フォルダーマップを作成します。
- 有用でシークレットではない事実のみをコピーします。
- キー、トークン、パスワード、クッキー、プライベートパスを削除します。
- ソースと日付を記録します。
- 時間の経過に伴う変更を追跡します。
ライブコードフォルダー全体をアーカイブにコピーしないでください。
GitHubまたはLinearの同期
事実がアクティブな作業を変更する場合:
- 作業を所有する項目を見つけます。
- その項目を最初に更新します。
- 必要に応じてサポートドキュメントを追加します。
- 追加の価値を提供する場合のみローカルメモを追加します。
- メモをメイン項目にリンクします。
複数ソースの同期
チャット、ブックマーク、GitHubイベント、またはその他のソースの場合:
- 項目をトピックごとにグループ化します。
- 完全なコピーと類似のコピーを削除します。
- ソースリンクと日付を保持します。
- 明確なステータスメモを1つ作成します。
- 主要な保管場所に保存します。
- ユーザーの承認がある場合のみコミットおよびプッシュします。
メモリパターン
短期:
現在のタスクリストを使用して、このチャット内の作業を管理します。
中期:
~/.claude/projects/*/memory/ 内の短いファイルを使用します。
長期:
ライブ作業にはGitHubまたはLinearを使用します。
長いメモには知識ベースを使用します。
リンクされた事実:
項目、事実、リンクにはMCPメモリを使用します。
ナレッジファイルの形式
---
title: リリース計画
type: project
topics:
- リリース
- モバイルアプリ
source: https://example.com/item/123
updated: 2026-05-12
status: current
---
# リリース計画
短い事実はここに記述します。
## リンク
- 主要な作業項目: URL またはファイルパス
役立つフィールドのみを使用します。ISO日付は YYYY-MM-DD 形式を使用します。status は current、stale、archived、または unclear に設定します。
具体的な例
ユーザーリクエスト:
これを保存してください:モバイルアプリのリリースが6月1日から6月15日に変更されました。GitHub issue 42がリリース計画を所有しています。
手順:
- GitHub、メモリ、MCPメモリ、知識ベースでリリース計画を検索します。
- Issue 42を開き、それが主要な作業項目であることを確認します。
- 許可されていれば、Issue 42を6月15日に更新します。
- 新しいメモを作成する代わりに、古いメモリメモを更新します。
- リリース日が6月15日であるというMCP事実を追加し、Issue 42にリンクします。
- 6月1日のメモを期限切れとしてマークします。古い日付が有用な履歴である場合のみ保持します。
- 保存された日付とリンクを読み戻します。
- 変更された各ストアとスキップされたストアを報告します。
ユーザーがレビューまたは検索のみを要求した場合は、GitHubを更新しないでください。
エッジケース
- ソースに日付がない場合、日付は不明と伝えます。
- 所有者が明確でない場合、ライブ計画を変更する前に尋ねます。
- ファイルが大きすぎる場合、知識ベースまたはデータストアに保存し、短いメモリメモを保持します。
- 2つの項目が同じ名前を共有する場合、ID、リンク、所有者、日付を使用して区別します。
- コンテンツがプライベートである可能性がある場合、必要最小限の情報のみを保存します。
- シークレットが見つかった場合、除外します。コピーまたは印刷しないでください。
- 書き込みが部分的に失敗した場合、同期が完了したと主張しないでください。成功したことと失敗したことをリストします。
- 保存によって有用な履歴が削除される場合、アーカイブするか、最初に尋ねます。
- 安全な主要な保管場所がない場合、ユーザーにどこに置くべきか尋ねます。
- 同じ事実が2つのストアに存在する必要がある場合、完全なテキストを1つのストアに保持します。もう一方のストアには短いメモとリンクを置きます。
最終確認
終了する前に、以下を確認します:
- 新しい重複が作成されていないこと。
- 各事実に一つの主要な保管場所があること。
- 古い事実が更新されるか、期限切れとしてマークされていること。
- シークレットが保存または印刷されていないこと。
- 日付、名前、ID、リンクが正しいこと。
- インデックスとサマリーが最新であること。
- 必要に応じて相互リンクが追加されていること。
- すべての変更されたレコードが読み戻されていること。
- 承認なしにコミット、プッシュ、外部書き込みが行われていないこと。
- ユーザーに何が変更され、何がスキップされ、その理由が伝えられていること。