--- name: wiki-cowork-scan description: "掃描本機 Documents 下所有裝了 system-dev-template 的資料夾,自動整理 LLM Wiki。支援一般專案、Logseq vault、Obsidian vault 三種結構,偵測方式與 install.sh 一致。觸發時機:使用者說「整理 wiki」「幫我掃 wiki」「更新我的 wiki」「wiki 掃描」,或 Cowork cron 定期觸發。" --- # Wiki Cowork Scan ## 核心原則 這個 skill 與 Claude Code 的 `/wiki-init` `/wiki-capture` 共用同一套規則: | 層 | 規則 | |------------|-------------------------------------------| | raw source | 只讀,不動 | | `.claude/wiki/` | 唯一輸出地點,只增不覆 | | `CLAUDE.md` | 不動 | | `logseq/`、`.obsidian/`、`assets/` | 絕對不動 | **CC 和 Cowork 輸出格式相同,任何一方整理過的內容,另一方看到就跳過或補充,不覆蓋。** --- ## 第一步:發現所有目標資料夾 掃描 `~/Documents`(遞迴深度 3 層),找出所有含 `.claude/wiki/` 的資料夾。 ``` ~/Documents/ project-a/.claude/wiki/ ← ✅ 目標 Logseq/.claude/wiki/ ← ✅ 目標 其他資料夾/ ← ❌ 跳過 ``` 找到後列出清單,告訴使用者:「找到 N 個 wiki 資料夾,開始整理。」 --- ## 第二步:對每個資料夾偵測 vault 類型 進入每個目標資料夾的**根目錄**(`.claude/wiki/` 的上兩層),依序判斷: ### 判斷順序(與 install.sh 一致) ``` if 根目錄有 logseq/ 資料夾 → vault 類型:Logseq → raw source:pages/、journals/ → 忽略:logseq/、assets/ else if 根目錄有 .obsidian/ 資料夾 → vault 類型:Obsidian → raw source:根目錄下所有 .md(排除 .obsidian/ 內的檔案) else → vault 類型:一般專案 → raw source:docs/ 下所有 .md ``` --- ## 第三步:讀取現有 wiki 狀態 進入 `.claude/wiki/`,讀取: - `INDEX.md`:目前已有哪些 wiki 頁面 - `status.md`:上次整理時間、進度 - `log.md`(如果有):誰動過什麼 目的:**知道哪些已整理過,只處理新增或有變動的 raw source**,不重複整理。 --- ## 第四步:整理規則 ### 讀 raw source 逐一讀取 raw source 的 `.md` 檔。跳過: - 檔名以 `.` 開頭的隱藏檔 - `.wikiignore` 裡列出的 glob pattern(如果存在) - 含有 `` 標記的區段 ### 整理邏輯 每個 raw source 檔案,判斷: 1. **INDEX.md 裡已有對應條目,且 raw source 未修改** → 跳過 2. **INDEX.md 裡已有條目,但 raw source 有新內容** → 更新對應 wiki 頁面,補充新資訊,不刪舊內容 3. **INDEX.md 裡沒有對應條目** → 新建 wiki 頁面 ### Wiki 頁面格式 ```markdown # [主題名稱] **來源**:`[raw source 相對路徑]` **最後更新**:YYYY-MM-DD ## 摘要 [2-3 句話說明這份文件在講什麼] ## 重點 - [要點 1] - [要點 2] ## 關聯 - [[相關 wiki 頁面]] ``` ### 使用 `[[wikilink]]` 語法 整理時,如果發現內容與其他 wiki 頁面有關聯,加上 `[[頁面名稱]]` 連結。這是 Karpathy LLM Wiki 的核心機制——知識會互相連結,不是孤立的筆記。 --- ## 第五步:更新 INDEX.md 和 status.md ### INDEX.md 格式 ```markdown # Wiki Index > 最後更新:YYYY-MM-DD HH:MM | 來源:cowork-scan | 總頁數:N ## 頁面列表 | 頁面 | 來源 | 摘要 | 最後更新 | |------|------|------|----------| | [[頁面名稱]] | `raw/path.md` | 一句話摘要 | YYYY-MM-DD | ``` ### status.md 更新 在現有內容**末尾追加**(不覆蓋): ```markdown ## YYYY-MM-DD HH:MM|cowork-scan - vault 類型:[Logseq / Obsidian / 一般專案] - 掃描檔案:N 個 - 新增頁面:N 個 - 更新頁面:N 個 - 跳過:N 個(未變動) ``` --- ## 第六步:回報結果 整理完所有資料夾後,輸出摘要: ``` ✅ Wiki 整理完成 資料夾 1:~/Documents/project-a 類型:一般專案 新增:3 頁,更新:1 頁,跳過:12 頁 資料夾 2:~/Documents/Logseq 類型:Logseq vault 新增:5 頁,更新:2 頁,跳過:47 頁 總計:8 頁新增,3 頁更新 ``` --- ## 絕對禁止 - ❌ 修改任何 raw source 檔案 - ❌ 修改 `CLAUDE.md` - ❌ 動 `logseq/`、`.obsidian/`、`assets/` 資料夾 - ❌ 刪除 `.claude/wiki/` 裡已有的頁面(只增補,不刪除) - ❌ 把機敏資訊(密碼、金鑰、個資)寫進 wiki(遇到跳過並記錄) - ❌ 整理沒有 `.claude/wiki/` 的資料夾(那不是這個 skill 的目標)