Communitygithub.com

gzb1128/skill-forge

Skill Forge:Claude Code 的外掛市場,提供代理工具文件、程式碼品質工作流程和 OpenCode 自訂功能。

skill-forge 是什麼?

此技能「Skill Forge」作為 Claude Code 的外掛市場,提供代理工具文件、程式碼品質工作流程與 OpenCode 自訂功能。其主要目的是在會話結束時,引導模型使用 `/agent-docs:learn` 指令,產生存取記憶提案(AGENTS.md)。此技能遵循嚴格的「不可衍生性原則」,僅記錄無法從程式碼庫本身推導出的隱藏知識,例如隱藏依賴、誤導性的錯誤訊息、特定專案的解決方法或關鍵操作順序。支援分類將洞察結果分為隱藏知識、快速參考、規則、文件或跳過,並要求對每個保留的候選項目進行明確的驗證。所有變更都以 diff 格式提出,並在實際寫入目標 AGENTS.md 檔案前需要使用者明確批准。此技能禁用模型自動調用,需要使用者特意觸發。

相容平台✓Claude Code~Codex CLI~Cursor✓OpenCode
npx skills add gzb1128/skill-forge

在你喜歡的 AI 中提問

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

說明文件

手動觸發技能。disable-model-invocation: true 可防止模型在工作中自動調用此工作流程。從此外掛安裝後,請在會話結束時特意使用 /agent-docs:learn 來調用它。 請勿新增鉤子、背景任務、自動觸發行為、執行時期儲存、向量資料庫、MCP 整合或外部記憶系統。

回顧本次會話中發生的事,並為適當的 AGENTS.md 檔案產生存取記憶提案。在使用者看到提議的 diff 並明確批准之前,請勿編輯檔案。

不可衍生性原則

僅記錄無法從程式碼庫本身推導出的資訊。 在提出任何「隱藏知識」條目之前,請先問:

下一個代理或人類可以透過閱讀程式碼、執行 git log 或檢查現有文件來發現此資訊嗎?

如果可以,則不要將其記錄為隱藏知識。門檻很高。大多數知識應歸屬於原始碼、提交訊息或現有文件,而非 AGENTS.md。

步驟 1:提取候選洞察

回顧當前會話,並列出候選洞察。候選項目通常來自隱藏依賴、誤導性的失敗、特定專案的工作區、關鍵順序、命令發現或文件缺口。

先不要寫任何東西。首先對每個候選項目進行分類。

步驟 2:分類候選項目

分類目的地規則
Hidden Knowledge最近的相關 AGENTS.md 下的 ## Hidden Knowledge僅限於無法推導的隱藏依賴、誤導性錯誤、工作區、怪癖或關鍵順序
Quick Reference根目錄 AGENTS.md 的 Quick Reference 表格建置、測試、檢查、執行、程式碼產生、清理或其他常見指令
Rule僅報告建議目的地團隊慣例或硬邊界;請勿從 /agent-docs:learn 建立或修改 docs/rules/
Doc僅報告建議目的地較長的設計、疑難排解、操作手冊或函式庫說明;請勿從 /agent-docs:learn 建立或修改文件
Skip不寫入可推導、一次性、重複、過時、通用或無法驗證

隱藏知識候選項目

只有通過不可衍生性測試的候選項目才能成為隱藏知識:

  1. 隱藏依賴:必須一起更改但沒有明顯關聯的檔案或模組。
  2. 誤導性錯誤:指向錯誤位置或原因的錯誤訊息。
  3. 工作區與怪癖:與標準模式不同的專案特定行為。
  4. 關鍵順序:必須以特定順序發生的操作。

跳過條件

跳過以下類別的候選項目:

  • 透過閱讀原始碼即可看到的程式碼模式、架構或檔案結構。
  • git log 或 git blame 已記錄的 Git 歷史或近期更改。
  • 除錯解決方案,如果修復方案現已寫入程式碼,且提交訊息應承載上下文。
  • 已存在於 AGENTS.md、docs/rules/ 或 README 中。
  • 標準語言或框架行為。
  • 屬於 Quick Reference 而非 Hidden Knowledge 的非顯而易見指令。
  • 短暫的會話細節,包括暫時失敗的嘗試。
  • 未經驗證的主張。

步驟 3:驗證每個保留的候選項目

在提出每個保留的候選項目之前,都需要明確的證據:

候選項目提及驗證證據
檔案路徑使用 ls 或讀取檔案確認路徑存在
函式、型別、指令或符號使用搜尋或語言感知查找確認其存在
行為或約束執行最小的相關指令、檢查原始碼,或解釋為什麼直接執行不安全
現有的 AGENTS.md 內容讀取目標區段並檢查是否有過時或重複的條目

如果驗證失敗,將候選項目分類為 Skip 並說明失敗的檢查。如果無法安全執行驗證,則將其報告為未經驗證,且不要提議寫入。

步驟 4:選擇目標

選擇受影響範圍最近的 AGENTS.md:

洞察範圍目標檔案
影響整個專案根目錄 AGENTS.md
影響特定套件<package>/AGENTS.md
影響複雜模組<package>/<module>/AGENTS.md,僅在符合子套件條件時

對於 Hidden Knowledge,在目標 AGENTS.md 的結尾附近附加或建立一個 ## Hidden Knowledge 區段。將每個洞察保持在 1-3 行。

對於 Quick Reference,提議更新根目錄 AGENTS.md 表格中的一行。

對於 Rule 和 Doc,僅報告建議的目的地。請勿從此指令建立或修改規則文件、設計文件、疑難排解文件、操作手冊或函式庫文件。

步驟 5:先顯示建議的更改

在編輯任何檔案之前,請使用以下格式顯示所有提案:

## Learn Proposals

### 1. `<分類>` -> `<目標檔案>`

**原因:** <一行說明為什麼這對未來會話有幫助>

**驗證:** <路徑/符號/指令/行為證據>

**動作:** <新增/更新/跳過/僅報告>

```diff
- <現有行,僅在更新已批准的現有條目時>
+ <確切的建議新增或替換>
```

### 跳過的候選項目

1. `<候選>` -> 因<原因>而跳過

### 僅報告的建議

1. `<候選>` -> 屬於<建議目的地>,不透過 `/agent-docs:learn` 處理

請勿跳過 diff 和批准步驟。即使使用者要求快速套用,使用者必須先看到確切的建議更改並批准。

步驟 6:僅套用已批准的更改

批准後:

  1. 僅套用使用者批准的提案。
  2. 保留現有 AGENTS.md 結構,並保持新增內容簡潔。
  3. 請勿從 /agent-docs:learn 執行一般清理;使用 /agent-docs:remember 處理過時、重複或錯置的現有記憶。
  4. 報告更改了什麼、更改在哪裡、以及跳過了哪些候選項目。

程序

  1. 回顧對話歷史以尋找候選洞察。
  2. 將每個候選項目分類為 Hidden Knowledge、Quick Reference、Rule、Doc 或 Skip。
  3. 對 Hidden Knowledge 候選項目套用不可衍生性測試。
  4. 驗證每個保留的候選項目並記錄證據。
  5. 選擇正確的 AGENTS.md 目標或僅報告目的地。
  6. 顯示提議的 diff 和跳過的候選項目。
  7. 等待使用者明確批准。
  8. 僅套用已批准的 AGENTS.md 更改。
  9. 報告最終的寫入、跳過以及剩餘的僅報告建議。

相關技能