Community寫作與編輯github.com

pablodiazjorge/prompt-forge

即插即用的工具包,為 AI 編碼代理提供跨工作階段的持久記憶、錯誤追蹤與學習循環能力。

prompt-forge 是什麼?

這項技能為 AI 編碼代理(如 Claude Code、Cursor 或 Codex)提供了一個輕量級的持續問題追蹤系統。它透過在 `knowledge/issues/` 目錄中創建和更新結構化的問題檔案,使代理能夠在工作階段之間保留有關錯誤修正、API 發現和專案特性的知識。每次編碼迭代結束時,該技能會掃描對話中的關鍵信號(如已修復的錯誤或重複出現的模式),將其與現有問題進行交叉比對,然後建立或更新條目。當某個問題被多次觀察到(3 次以上)時,其確定性會提高到「高」,並轉交給 `ai-engineer` 技能進行推廣。該系統支援多位開發者同時操作(透過基於 UUID 的 ID 避免衝突),並且完全獨立——無需後端或外部依賴。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add pablodiazjorge/prompt-forge

Installed? Explore more 寫作與編輯 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

在你喜歡的 AI 中提問

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

說明文件

開發者:持續問題追蹤

觸發時機

在每個重要的編碼迭代結束時執行,或是當使用者明確要求時執行。不要在任務中途執行——請等待一個自然的暫停點。

此技能在會話開始時預設載入。它是安全且無破壞性的:只會寫入 knowledge/issues/open/ 和 knowledge/issues/INDEX.md。

演算法

第一階段——掃描當前對話

回顧當前對話,尋找以下類型的信號:

信號範例優先級
已修正的錯誤"PowerShell 將 {{ }} 解讀錯誤"、"ngx-translate v18 沒有 forRoot()"高
API 發現"linkedSignal 需要 Node ≥22"、"provideZonelessChangeDetection() 在 Angular 22 中已穩定"高
找到的解決方案"使用 create_file 而非 Set-Content 來處理模板"中
重複模式同一錯誤在本次會話中出現 2 次以上高
專案特性"這個 monorepo 使用 npm workspaces"、".gitignore 排除了 .github/"中
工具限制"Copilot 不直接暴露 usage.prompt_tokens"低
使用者偏好"偏好使用 ; 而非 && 分隔指令"中

第二階段——與問題註冊表交叉比對

  1. 讀取 knowledge/issues/INDEX.md——取得所有現有問題的 ID、標題、分類
  2. 對於第一階段的每個信號,嘗試與現有問題進行匹配:
    • 透過關鍵字重疊(標題 + 描述)進行匹配
    • 透過分類 + 相似的錯誤模式進行匹配
    • 使用 grep_search 在 knowledge/issues/open/ 中搜尋相關內容

第三階段——建立或更新問題

新問題(找不到匹配)

產生 ID:ISSUE-YYYYMMDD-XXXX 其中 XXXX = UUID 的前 4 個十六進位字元
  PowerShell: [guid]::NewGuid().ToString().Substring(0, 4)
  範例: ISSUE-20260624-a1b2
使用 TEMPLATE.md 建立 knowledge/issues/open/ISSUE-YYYYMMDD-XXXX.md
設定 occurrences=1、certainty=low、status=open
將 created_by 設定為 "developer"(或當前的代理識別碼)
在 INDEX.md → 開放問題表格中插入新的一行
如果您有工作階段的 token 資料,可選擇性將其加到「證據」區段

ID 是基於 UUID 的——無需先讀取 INDEX.md。多位開發者同時工作時,衝突風險為零。

更新現有問題(找到匹配)

將 occurrences 增加 1
將 last_seen 更新為今天的日期
將當前工作階段資訊附加到 sessions 陣列
重新評估確定性:
  - 1 次出現 → low
  - 2 次出現 → medium
  - 3 次以上出現 → high
使用 replace_string_in_file 更新 open/ 中的問題檔案
更新 INDEX.md 中的計數與行資料

INDEX.md 合併衝突

如果兩位開發者同時在 INDEX.md 中新增行,Git 合併衝突會發生在表格主體。解決方式:保留兩個分支中的所有行;重新計算目錄數量以更新摘要數字。

報告

輸出一個摘要表格:

## 開發者報告——YYYY-MM-DD

| 動作 | ID | 標題 | 分類 | 詳細資訊 |
|--------|----|-------|----------|--------|
| 🆕 新增 | ISSUE-001 | ... | ... | 已在 open/ 中建立 |
| 📈 更新 | ISSUE-002 | ... | ... | 1→2 次出現,確定性 low→medium |

重要規則

  1. 絕對不要推廣問題。 推廣是 ai-engineer 技能的責任。您的唯一輸出是 open/ 中的問題檔案以及對 INDEX.md 的更新。

  2. 絕對不要修改技能或記憶檔案。 您對 .github/skills/ 和 /memories/ 是唯讀的觀察者。請不要觸碰它們。

  3. 絕對不要為模型已經知道的事情建立問題——如果是常識(例如「使用 const 而非 var」),請直接跳過。

  4. 保持問題檔案簡潔——TEMPLATE.md 格式是上限,而非下限。不要寫長篇大論。

  5. 工作階段隔離——frontmatter 中的 sessions 陣列儲存工作階段的 UUID。如果可用,請使用 session_store_sql 來尋找當前工作階段的 UUID,否則使用基於日期的識別碼。

  6. 務必填寫 created_by——將其設定為代理名稱或工作階段識別碼,以便 ai-engineer 在審查時能夠追溯問題的來源。

交接給 AI 工程師

當問題達到 certainty: high(3 次以上出現)時,ai-engineer 技能負責推廣。developer 技能不決定要推廣什麼或推到哪裡——它只記錄信號強度。當使用者要求整理知識、清理問題或推廣模式時,請以子代理的身分執行 ai-engineer 技能。

檔案路徑參考

資源路徑
問題註冊索引knowledge/issues/INDEX.md
問題模板knowledge/issues/TEMPLATE.md
開放問題knowledge/issues/open/ISSUE-XXX.md
已推廣問題knowledge/issues/promoted/ISSUE-XXX.md
已拋棄問題knowledge/issues/discarded/ISSUE-XXX.md

相關技能