agenticluke/knowledge-sync-plus

ローカルファイル、Claude Codeメモリ、MCPメモリ、データストア、GitHub、Linear、Gitリポジトリ間で知識を保存、整理、同期、検索、重複排除します。

knowledge-sync-plus とは?

このスキルは、複数の知識ストア(ローカルファイル、Claude Codeメモリ、MCPメモリ、データベース、GitHub、Linear、Gitリポジトリ)を横断して知識を管理するための包括的なシステムです。各事実には一つの主要な保管場所を割り当て、他のストアには短いメモと元の場所へのリンクのみを保持することを推奨します。主な機能は、知識の保存・インポート、ストア間の同期、重複の検出・マージ、事実の検索、単一の真実源の更新です。処理フローは読み取りと分類、既存データの検索、コピーや競合の処理、保存、インデックス更新、結果の確認という6つのステップから成ります。また、チャットエクスポート、ワークスペース状態、GitHub/Linear、複数ソースの同期ワークフローも定義されています。エッジケース(日付不明、所有者不明、シークレット発見、部分的な書き込み失敗など)にも対応し、重複作成の防止、各事実の単一ホーム保持、ユーザー承認なしのコミットやプッシュを行わないことを保証します。

対応✓Claude Code✓Codex CLI~Cursor✓Antigravity
npx skills add https://github.com/agenticluke/knowledge-sync-plus/tree/main/skill

Installed? Explore more 生産性&コラボレーション skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

知識操作

複数のストアにわたって知識を管理します。

各事実には一つの主要な保管場所を割り当てます。他のストアには短いメモとその保管場所へのリンクのみを保持します。

このスキルを使用するタイミング

ユーザーが次のことを希望する場合にこのスキルを使用します:

  • 事実やメモを知識ベースに保存する。
  • ファイル、チャット、データセットをインポートする。
  • ストア間で知識を同期する。
  • 重複したメモを検索またはマージする。
  • トピックに関する既知の事実を検索する。
  • 共有された真実源を更新する。
  • 単純なメモリルックアップ以上のことを行う。

主要ルール

  • コード作業は実際のクローンリポジトリで行うこと。
  • 進行中の計画と作業状態はGitHub、Linear、またはリポジトリに置くこと。
  • コードリポジトリ外に属する長いメモは、コードリポジトリの外に置くこと。
  • 長期的でデバイス間で共有するメモは知識ベースに置くこと。
  • 作成する前に検索すること。
  • 同じ事実の主要コピーを二つ作成しないこと。
  • ユーザーが要求し、必要なツールが既に設定されていない限り、外部コールを行わないこと。
  • キー、パスワード、トークン、クッキー、プライベートなログインデータを決して保存しないこと。
  • ユーザーが要求するか、そのステップを既に承認していない限り、コミットやプッシュを行わないこと。
  • 新しい事実を古いメモで置き換えないこと。

ストレージ階層

1. ライブ作業ソース

例:

  • GitHub issues、プルリクエスト、ディスカッション、リリースノート
  • Linear issues、プロジェクト、ドキュメント
  • 実際のプロジェクトリポジトリ内のファイル

これを使用する対象:

  • 現在の計画
  • ロードマップ
  • リリース状態
  • ロールアウト状態
  • ビルドとコード作業

事実がアクティブな作業を変更する場合、最初にこの階層を更新します。

2. Claude Code メモリ

パス:

~/.claude/projects/*/memory/

YAMLフロントマター付きの短いMarkdownファイルを使用します。

これを使用する対象:

  • ユーザーの選択
  • ユーザーのフィードバック
  • 小さなプロジェクトの事実
  • 短い参照メモ
  • 後のチャットで必要な事実

このパスが存在する、または変更可能であると想定しないでください。最初に確認してください。

3. MCP メモリ

一般的なツール:

  • create_entities
  • create_relations
  • add_observations
  • search_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、またはその他のチャットエクスポートの場合:

  1. シークレットとプライベートなログインデータを削除します。
  2. ソース名と日付を保持します。
  3. 完全なエクスポートを知識ベースに保存します。
  4. 短いサマリーをメモリに追加します。
  5. セッションインデックスを更新します。
  6. ユーザーの承認がある場合のみコミットおよびプッシュします。

ワークスペース状態の同期

重要なファイルと設定の場合:

  1. フォルダーマップを作成します。
  2. 有用でシークレットではない事実のみをコピーします。
  3. キー、トークン、パスワード、クッキー、プライベートパスを削除します。
  4. ソースと日付を記録します。
  5. 時間の経過に伴う変更を追跡します。

ライブコードフォルダー全体をアーカイブにコピーしないでください。

GitHubまたはLinearの同期

事実がアクティブな作業を変更する場合:

  1. 作業を所有する項目を見つけます。
  2. その項目を最初に更新します。
  3. 必要に応じてサポートドキュメントを追加します。
  4. 追加の価値を提供する場合のみローカルメモを追加します。
  5. メモをメイン項目にリンクします。

複数ソースの同期

チャット、ブックマーク、GitHubイベント、またはその他のソースの場合:

  1. 項目をトピックごとにグループ化します。
  2. 完全なコピーと類似のコピーを削除します。
  3. ソースリンクと日付を保持します。
  4. 明確なステータスメモを1つ作成します。
  5. 主要な保管場所に保存します。
  6. ユーザーの承認がある場合のみコミットおよびプッシュします。

メモリパターン

短期:
現在のタスクリストを使用して、このチャット内の作業を管理します。

中期:
~/.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がリリース計画を所有しています。

手順:

  1. GitHub、メモリ、MCPメモリ、知識ベースでリリース計画を検索します。
  2. Issue 42を開き、それが主要な作業項目であることを確認します。
  3. 許可されていれば、Issue 42を6月15日に更新します。
  4. 新しいメモを作成する代わりに、古いメモリメモを更新します。
  5. リリース日が6月15日であるというMCP事実を追加し、Issue 42にリンクします。
  6. 6月1日のメモを期限切れとしてマークします。古い日付が有用な履歴である場合のみ保持します。
  7. 保存された日付とリンクを読み戻します。
  8. 変更された各ストアとスキップされたストアを報告します。

ユーザーがレビューまたは検索のみを要求した場合は、GitHubを更新しないでください。

エッジケース

  • ソースに日付がない場合、日付は不明と伝えます。
  • 所有者が明確でない場合、ライブ計画を変更する前に尋ねます。
  • ファイルが大きすぎる場合、知識ベースまたはデータストアに保存し、短いメモリメモを保持します。
  • 2つの項目が同じ名前を共有する場合、ID、リンク、所有者、日付を使用して区別します。
  • コンテンツがプライベートである可能性がある場合、必要最小限の情報のみを保存します。
  • シークレットが見つかった場合、除外します。コピーまたは印刷しないでください。
  • 書き込みが部分的に失敗した場合、同期が完了したと主張しないでください。成功したことと失敗したことをリストします。
  • 保存によって有用な履歴が削除される場合、アーカイブするか、最初に尋ねます。
  • 安全な主要な保管場所がない場合、ユーザーにどこに置くべきか尋ねます。
  • 同じ事実が2つのストアに存在する必要がある場合、完全なテキストを1つのストアに保持します。もう一方のストアには短いメモとリンクを置きます。

最終確認

終了する前に、以下を確認します:

  • 新しい重複が作成されていないこと。
  • 各事実に一つの主要な保管場所があること。
  • 古い事実が更新されるか、期限切れとしてマークされていること。
  • シークレットが保存または印刷されていないこと。
  • 日付、名前、ID、リンクが正しいこと。
  • インデックスとサマリーが最新であること。
  • 必要に応じて相互リンクが追加されていること。
  • すべての変更されたレコードが読み戻されていること。
  • 承認なしにコミット、プッシュ、外部書き込みが行われていないこと。
  • ユーザーに何が変更され、何がスキップされ、その理由が伝えられていること。

関連スキル