Community生產力與協作github.com

agenticluke/knowledge-sync-plus

儲存、整理、同步、搜尋並移除跨本地檔案、Claude Code記憶、MCP記憶、資料儲存庫、GitHub、Linear 和 Git 儲存庫中的重複知識。

knowledge-sync-plus 是什麼?

這是一個強大的知識管理技能,專為 AI 代理(如 Claude Code)設計,用於在多個儲存層之間高效管理事實、筆記和資料。其核心原則是為每個事實建立一個「主要存放處」,其他儲存庫則僅保留簡短筆記和連結,從而避免重複和混亂。它支援從本地檔案、聊天記錄、GitHub Issues、Linear 專案等多種來源匯入知識,並在寫入前自動搜尋以合併重複項。當來源間有衝突時,會保留雙方說法及時間戳記,並先詢問使用者再進行變更。此技能支援六個儲存層:即時工作來源(GitHub/Linear)、Claude Code 記憶、MCP 記憶、知識庫儲存庫、資料庫(如 Supabase)以及本地筆記與封存,並根據知識類型提供選擇主要存放處的準則。它特別強調安全,絕不儲存密碼或令牌,所有提交與推送操作都需經過使用者核准。最終,它會回報每個已變更和跳過的儲存庫狀態,確保同步過程透明且可控。

相容平台✓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 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

知識操作

跨多個儲存庫管理知識。

為每個事實指定一個主要存放處。其他儲存庫可保留簡短筆記以及指向該主要存放處的連結。

何時使用此技能

當使用者想要以下操作時,請使用此技能:

  • 將事實或筆記儲存到知識庫。
  • 匯入檔案、聊天記錄或資料集。
  • 在儲存庫之間同步知識。
  • 尋找或合併重複的筆記。
  • 搜尋關於某個主題的已知事實。
  • 更新共享的真實來源。
  • 執行比單純記憶查詢更複雜的任務。

主要規則

  • 將程式碼工作保留在實際的複製儲存庫中。
  • 將進行中的計畫和工作狀態放在 GitHub、Linear 或儲存庫中。
  • 將較長的筆記放在程式碼儲存庫之外(當它們不屬於程式碼時)。
  • 將長期、跨裝置的筆記放在知識庫中。
  • 在建立之前先進行搜尋。
  • 不要為同一個事實建立兩個主要副本。
  • 除非使用者要求且必要的工具已設定好,否則不要進行外部呼叫。
  • 絕對不要儲存金鑰、密碼、令牌、Cookie 或私人登入資料。
  • 除非使用者要求或已核准該步驟,否則不要提交或推送。
  • 不要用舊筆記取代較新的事實。

儲存層

1. 即時工作來源

範例:

  • GitHub issues、pull requests、討論與發行說明
  • 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. 本地筆記與封存

用於:

  • 供他人閱讀的筆記
  • 舊計畫
  • 本地媒體清單
  • 短期非程式碼檔案

不要將其用作第二個程式碼儲存庫或用於存放進行中計畫的主要位置。

選擇主要存放處

使用此指南:

知識類型主要存放處可選副本
當前計畫、發行或程式碼狀態GitHub、Linear 或專案儲存庫簡短記憶筆記
業務決策專案記憶或知識庫MCP 記憶
使用者偏好或回饋Claude Code 記憶MCP 記憶
小型參考事實Claude Code 記憶MCP 記憶
大型文件集資料儲存庫或知識庫簡短記憶摘要
聊天或對話匯出知識庫儲存庫簡短記憶摘要
本地短期筆記本地封存無

如果兩個選擇都合適,請選擇擁有該工作的儲存庫。從另一個儲存庫新增連結,而不是複製完整文字。

匯入步驟

1. 閱讀與分類

找出:

  • 來源
  • 主題
  • 日期
  • 擁有者
  • 事實是否為最新
  • 文字是否包含機密
  • 最佳主要存放處

不要匯入無法閱讀或信任的文字。將不確定的事實標記為不確定。

2. 搜尋比對

在寫入之前:

  • 搜尋記憶檔案。
  • 在 MCP 記憶設定完成時進行搜尋。
  • 搜尋知識庫。
  • 當 GitHub 或 Linear 可能擁有該事實時,檢查它們。
  • 在使用目標資料儲存庫時檢查它。

按主題、名稱、日期、ID 和來源連結進行比對。

3. 處理副本與衝突

如果相同的事實已存在:

  • 更新主要記錄。
  • 新增新的來源連結或日期。
  • 保留有用的歷史記錄。
  • 僅在安全的情況下,移除或標記過時的副本。

如果兩個來源不一致:

  • 不要猜測。
  • 保留雙方的說法及其日期和來源。
  • 僅在新來源明顯擁有該事實時,偏好較新的來源。
  • 當選擇會改變工作或刪除資料時,詢問使用者。

4. 儲存

僅寫入在範圍內且可使用的儲存庫。

  • 當進行中的工作改變時,先更新即時工作來源。
  • 保持 Claude Code 記憶簡短。
  • 使用 MCP 記憶儲存事實和連結。
  • 將長文字放入知識庫。
  • 將大型資料集放入資料儲存庫。
  • 在已知時新增來源、日期和擁有者。

如果某個儲存庫遺失或唯讀,則不要在那裡儲存任何內容。報告無法完成的操作。

5. 更新索引

更新用於尋找新項目的任何主題清單、對話清單或摘要檔案。

使用小寫的 kebab-case 檔案名稱,例如:

release-plan-2026-05.md

6. 檢查結果

逐一讀回每個已變更的記錄。確保連結、日期和名稱正確。

同步工作

同步對話

針對 Claude、Codex 或其他對話匯出:

  1. 移除機密和私人登入資料。
  2. 保留來源名稱和日期。
  3. 將完整匯出內容儲存在知識庫中。
  4. 在記憶體中新增簡短摘要。
  5. 更新對話索引。
  6. 僅在使用者核准後才提交和推送。

同步工作區狀態

針對關鍵檔案和設定:

  1. 建立資料夾對應圖。
  2. 僅複製有用且非機密的事實。
  3. 移除金鑰、令牌、密碼、Cookie 和私人路徑。
  4. 記錄來源和日期。
  5. 追蹤隨時間的變更。

不要將整個進行中的程式碼資料夾複製到封存檔案中。

同步 GitHub 或 Linear

當某個事實改變進行中的工作時:

  1. 找到擁有該工作的項目。
  2. 先更新該項目。
  3. 在需要時新增支援文件。
  4. 僅在能提供額外價值時,才新增本地筆記。
  5. 將筆記連結回主要項目。

同步多個來源

針對對話、書籤、GitHub 事件或其他來源:

  1. 按主題分組項目。
  2. 移除完全相同的副本和近似副本。
  3. 保留來源連結和日期。
  4. 撰寫一條清晰的狀態筆記。
  5. 將其儲存在主要存放處。
  6. 僅在使用者核准後才提交和推送。

記憶模式

短期:
使用當前任務清單來處理此對話中的工作。

中期:
使用 `~/.claude/projects/*/memory/` 中的簡短檔案。

長期:
使用 GitHub 或 Linear 處理進行中的工作。
使用知識庫處理較長的筆記。

關聯事實:
使用 MCP 記憶處理項目、事實和連結。

知識檔案格式

---
title: 發布計畫
type: project
topics:
  - release
  - mobile-app
source: https://example.com/item/123
updated: 2026-05-12
status: current
---

# 發布計畫

簡短的事實放在這裡。

## 連結

- 主要工作項目:URL 或檔案路徑

僅使用有幫助的欄位。使用 YYYY-MM-DD 格式的 ISO 日期。將 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. 新增 MCP 事實,說明發布日期為 6 月 15 日,並將其連結到 issue 42。
  6. 將任何提到 6 月 1 日的筆記標記為過時。僅在舊日期為有用的歷史記錄時才保留它。
  7. 讀回已儲存的日期和連結。
  8. 報告每個已變更的儲存庫以及任何被跳過的儲存庫。

如果使用者僅要求檢閱或搜尋,請不要更新 GitHub。

邊緣情況

  • 如果來源沒有日期,請說明日期未知。
  • 如果擁有者不明確,請在更改進行中的計畫之前先詢問。
  • 如果檔案太大,請將其儲存在知識庫或資料儲存庫中,並保留簡短的記憶筆記。
  • 如果兩個項目同名,請使用 ID、連結、擁有者和日期來區分它們。
  • 如果內容可能是私密的,請儲存最少需要的資料。
  • 如果發現機密,請將其排除。不要複製或列印它。
  • 如果寫入部分失敗,請不要聲稱同步完成。列出哪些成功、哪些失敗。
  • 如果儲存會刪除有用的歷史記錄,請先封存或詢問。
  • 如果沒有安全的主要存放處,請詢問使用者應該放在哪裡。
  • 如果同一個事實必須出現在兩個儲存庫中,請將完整文字保留在一個儲存庫中。在另一個儲存庫中放置簡短筆記和連結。

最終檢查

在完成之前,請確認:

  • 沒有建立新的重複項。
  • 每個事實都有一個主要存放處。
  • 舊事實已更新或標記為過時。
  • 沒有儲存或列印機密。
  • 日期、名稱、ID 和連結正確。
  • 索引和摘要為最新。
  • 在有用時新增了交叉連結。
  • 所有已變更的記錄都已讀回。
  • 未經核准,沒有進行提交、推送或外部寫入。
  • 告訴使用者哪些已變更、哪些被跳過以及原因。

相關技能