92 lines
3.4 KiB
Markdown
92 lines
3.4 KiB
Markdown
---
|
||
description: 從會話中擷取可重用的模式,在儲存前進行品質自評,並決定正確的儲存路徑(全域 vs 專案)。
|
||
---
|
||
|
||
# /learn-eval - 擷取、評估並儲存
|
||
|
||
擴充了 `/learn` 指令,在寫入任何技能檔案之前,加入品質閘控 (Quality gate) 與儲存位置的決策。
|
||
|
||
## 擷取對象
|
||
|
||
尋找以下內容:
|
||
|
||
1. **錯誤修復模式** — 根本原因 + 修復方法 + 可重用性
|
||
2. **偵錯技巧** — 非直觀的步驟、工具組合
|
||
3. **權宜措施 (Workarounds)** — 套件庫的奇特行為、API 限制、特定版本的修正
|
||
4. **專案特定模式** — 慣例、架構決策、整合模式
|
||
|
||
## 流程
|
||
|
||
1. 審查會話以找出可擷取的模式
|
||
2. 識別出最有價值且可重用的見解
|
||
|
||
3. **決定儲存位置:**
|
||
- 詢問:「這個模式是否對其他專案也有用?」
|
||
- **全域 (Global)** (`~/.claude/skills/learned/`):可在 2 個以上不同專案中使用的通用模式 (Bash 相容性、LLM API 行為、偵錯技巧等)。
|
||
- **專案 (Project)** (目前專案中的 `.claude/skills/learned/`):專案特定的知識 (特定配置檔案的特性、專案內部的架構決策等)。
|
||
- 若有疑慮,優先選擇「全域」(將全域遷移至專案比反向操作更容易)。
|
||
|
||
4. 使用以下格式撰寫技能檔案草稿:
|
||
|
||
```markdown
|
||
---
|
||
name: 模式名稱
|
||
description: "請控制在 130 個字元以內"
|
||
user-invocable: false
|
||
origin: auto-extracted
|
||
---
|
||
|
||
# [描述性模式名稱]
|
||
|
||
**擷取日期:** [日期]
|
||
**適用情境:** [簡短描述適用此模式的時機]
|
||
|
||
## 問題
|
||
[解決了什麼問題 — 請具體說明]
|
||
|
||
## 解決方案
|
||
[模式/技術/權宜措施 — 包含程式碼範例]
|
||
|
||
## 何時使用
|
||
[觸發條件]
|
||
```
|
||
|
||
5. **儲存前進行自評** (參考以下標準):
|
||
|
||
| 維度 | 1 | 3 | 5 |
|
||
|-----------|---|---|---|
|
||
| 具體性 | 僅有抽象原則,無程式碼範例 | 包含具代表性的程式碼範例 | 具備涵蓋所有使用模式的豐富範例 |
|
||
| 可執行性 | 不清楚該採取什麼行動 | 主要步驟容易理解 | 具備立即執行性,涵蓋邊緣情況 |
|
||
| 範圍契合度 | 太廣泛或太狹隘 | 大部分合適,邊界略顯模糊 | 名稱、觸發點與內容完美契合 |
|
||
| 非冗餘性 | 與另一項技能幾乎相同 | 有些重疊但具備獨特觀點 | 具備完全獨特的價值 |
|
||
| 覆蓋完整度 | 僅涵蓋目標任務的一小部分 | 涵蓋主要情況,缺少常見變體 | 涵蓋主要情況、邊緣情況與陷阱 |
|
||
|
||
- 每個維度評分為 1–5 分
|
||
- 若任何維度低於 3 分,請修改草稿並重新評分,直到所有維度均 ≥ 3
|
||
- 向使用者展示評分表與最終草稿
|
||
|
||
6. 請求使用者確認:
|
||
- 展示:預計儲存路徑 + 評分表 + 最終草稿
|
||
- 在獲得明確確認後才進行寫入
|
||
|
||
7. 儲存至選定的位置
|
||
|
||
## 步驟 5 的輸出格式 (評分表)
|
||
|
||
| 維度 | 分數 | 理由/依據 |
|
||
|-----------|-------|-----------|
|
||
| 具體性 | N/5 | ... |
|
||
| 可執行性 | N/5 | ... |
|
||
| 範圍契合度 | N/5 | ... |
|
||
| 非冗餘性 | N/5 | ... |
|
||
| 覆蓋完整度 | N/5 | ... |
|
||
| **總分** | **N/25** | |
|
||
|
||
## 注意事項
|
||
|
||
- 不要擷取瑣碎的修復 (拼字錯誤、簡單的語法錯誤)
|
||
- 不要擷取一次性的問題 (特定 API 故障等)
|
||
- 專注於能為未來會話節省時間的模式
|
||
- 保持技能專一 — 每個技能檔案僅包含一個模式
|
||
- 若「覆蓋完整度」評分較低,請在儲存前加入相關的變體說明
|