技能庫存盤點 (skill-stocktake) 是做什麼的?
斜線指令 (/skill-stocktake),使用品質檢查清單 + AI 整體判斷來審計所有 Claude 技能和指令。支援兩種模式:快速掃描,用於近期變更的技能;以及完整盤點,用於完整的審查。
範圍
此指令會鎖定以下路徑(相對於執行指令的目錄):
| 路徑 | 說明 |
|---|---|
~/.claude/skills/ | 全域技能(所有專案) |
{cwd}/.claude/skills/ | 專案層級技能(若目錄存在) |
在第一階段開始時,指令會明確列出找到並掃描了哪些路徑。
鎖定特定專案
若要包含專案層級技能,請在該專案的根目錄執行:
cd ~/path/to/my-project
/skill-stocktake
如果專案沒有 .claude/skills/ 目錄,則只會評估全域技能和指令。
模式
| 模式 | 觸發條件 | 持續時間 |
|---|---|---|
| 快速掃描 | results.json 存在(預設) | 5–10 分鐘 |
| 完整盤點 | results.json 不存在,或 /skill-stocktake full | 20–30 分鐘 |
結果快取: ~/.claude/skills/skill-stocktake/results.json
快速掃描流程
僅重新評估自上次執行以來有變更的技能(5–10 分鐘)。
- 讀取
~/.claude/skills/skill-stocktake/results.json - 執行:
bash ~/.claude/skills/skill-stocktake/scripts/quick-diff.sh \ ~/.claude/skills/skill-stocktake/results.json(專案目錄會從$PWD/.claude/skills自動偵測;僅在需要時明確傳遞) - 如果輸出為
[]:報告「自上次執行以來無變更。」並停止 - 僅使用相同的第二階段標準重新評估那些變更的檔案
- 沿用先前結果中未變更的技能
- 僅輸出差異
- 執行:
bash ~/.claude/skills/skill-stocktake/scripts/save-results.sh \ ~/.claude/skills/skill-stocktake/results.json <<< "$EVAL_RESULTS"
完整盤點流程
第一階段 — 庫存
執行:bash ~/.claude/skills/skill-stocktake/scripts/scan.sh
此腳本會列舉技能檔案、提取 frontmatter,並收集 UTC 修改時間。
專案目錄會從 $PWD/.claude/skills 自動偵測;僅在需要時明確傳遞。
從腳本輸出呈現掃描摘要和庫存表格:
掃描中:
✓ ~/.claude/skills/ (17 個檔案)
✗ {cwd}/.claude/skills/ (未找到 — 僅限全域技能)
| 技能 | 7天使用次數 | 30天使用次數 | 說明 |
|---|
第二階段 — 品質評估
啟動一個代理工具子代理(通用型代理),並附上完整庫存和檢查清單:
Agent(
subagent_type="general-purpose",
prompt="
根據以下清單評估技能庫存。
[庫存]
[檢查清單]
為每個技能回傳 JSON:
{ "判決": "保留"|"改進"|"更新"|"淘汰"|"合併至 [X]", "理由": "..." }
"
)
子代理讀取每個技能,套用檢查清單,並為每個技能回傳 JSON:
{ "判決": "保留"|"改進"|"更新"|"淘汰"|"合併至 [X]", "理由": "..." }
區塊指引: 每次子代理呼叫處理約 20 個技能,以維持可管理的上下文。在每個區塊之後,將中間結果儲存至 results.json(status: "in_progress")。
在所有技能評估完成後:設定 status: "completed",繼續進行第三階段。
恢復偵測: 若啟動時發現 status: "in_progress",從第一個未評估的技能繼續。
每個技能會根據以下檢查清單進行評估:
- [ ] 已檢查與其他技能的內容重疊
- [ ] 已檢查與 MEMORY.md / CLAUDE.md 的重疊
- [ ] 已驗證技術參考的新鮮度(若有工具名稱 / CLI 標誌 / API,請使用 WebSearch)
- [ ] 已考慮使用頻率
判決標準:
| 判決 | 意義 |
|---|---|
| 保留 | 有用且符合現狀 |
| 改進 | 值得保留,但需要特定改進 |
| 更新 | 引用的技術已過時(使用 WebSearch 驗證) |
| 淘汰 | 品質低、陳舊或成本不對稱 |
| 合併至 [X] | 與另一個技能有大量重疊;指明合併目標 |
評估是 AI 整體判斷 — 非數字評分表。指導維度:
- 可操作性:程式碼範例、指令或步驟,讓你能立即行動
- 範圍契合度:名稱、觸發條件和內容一致;不會過於寬泛或狹隘
- 獨特性:價值無法被 MEMORY.md / CLAUDE.md / 其他技能取代
- 時效性:技術參考在當前環境中可正常運作
理由品質要求 — 理由 欄位必須自成體系並足以做出決策:
- 請勿只寫「未變更」— 務必重新陳述核心證據
- 對於淘汰:陳述 (1) 發現了什麼具體缺陷,(2) 取而代之的是什麼,能滿足相同需求
- 錯誤:
「已被取代」 - 正確:
「disable-model-invocation: true 已設定;已被 continuous-learning-v2 取代,該技能涵蓋所有相同模式加上信心評分。無任何獨特內容保留。」
- 錯誤:
- 對於合併:指明目標並說明要整合哪些內容
- 錯誤:
「與 X 重疊」 - 正確:
「42 行精簡內容;chatlog-to-article 的步驟 4 已涵蓋相同工作流程。將 '文章角度' 提示作為一項備註整合到該技能中。」
- 錯誤:
- 對於改進:說明所需的具體變更(哪個章節、什麼行動、目標大小)
- 錯誤:
「太長」 - 正確:
「276 行;章節 '框架比較' (第 80–140 行) 與 ai-era-architecture-principles 重複;將其刪除以縮減至約 150 行。」
- 錯誤:
- 對於保留(快速掃描中僅修改時間變更):重新陳述原始判決理由,請勿寫「未變更」
- 錯誤:
「未變更」 - 正確:
「修改時間已更新但內容未變。獨特的 Python 參考資料,由 rules/python/ 明確匯入;未發現重疊。」
- 錯誤:
第三階段 — 摘要表格
| 技能 | 7天使用次數 | 判決 | 理由 |
|---|
第四階段 — 整合
- 淘汰 / 合併:在向使用者確認之前,針對每個檔案提供詳細的論證:
- 發現什麼具體問題(重疊、過時、損壞的參考等)
- 哪個替代方案涵蓋了相同的功能(淘汰時:哪個現有技能/規則;合併時:目標檔案及要整合的內容)
- 移除的影響(任何受影響的相依技能、MEMORY.md 參考或工作流程)
- 改進:提出具體的改進建議並附上理由:
- 要改變什麼以及為什麼(例如,「將 430 行縮減至 200 行,因為章節 X/Y 與 python-patterns 重複」)
- 由使用者決定是否執行
- 更新:提出已檢查來源的更新內容
- 檢查 MEMORY.md 行數;如果超過 100 行,提議壓縮
結果檔案結構
~/.claude/skills/skill-stocktake/results.json:
evaluated_at:必須設定為評估完成時的實際 UTC 時間。
透過 Bash 取得:date -u +%Y-%m-%dT%H:%M:%SZ。
切勿使用像 T00:00:00Z 這種僅包含日期的近似值。
{
"evaluated_at": "2026-02-21T10:00:00Z",
"mode": "full",
"batch_progress": {
"total": 80,
"evaluated": 80,
"status": "completed"
},
"skills": {
"skill-name": {
"path": "~/.claude/skills/skill-name/SKILL.md",
"verdict": "Keep",
"reason": "Concrete, actionable, unique value for X workflow",
"mtime": "2026-01-15T08:30:00Z"
}
}
}
備註
- 評估是盲審:無論技能來源為何(ECC、自撰、自動提取),都適用相同的檢查清單
- 歸檔 / 刪除操作始終需要明確的使用者確認
- 不根據技能來源做出不同判決