Community程式設計與開發github.com

hbardet/batch-features

將貼上的粗略功能想法清單轉換為格式完整的追蹤器議題,在提交前對每個項目進行辯論。

batch-features 是什麼?

此技能旨在將一系列粗略的功能構想、待辦事項清單或錯誤修復建議,轉化為結構化、可執行的追蹤器議題(例如 GitHub Issues 或 GitLab Issues)。它透過「辯論」流程逐一處理每個項目:AI 會用自己的話重新陳述、提出具體的解釋、最多提兩個自帶默認答案的問題,並確定驗收標準和類型。所有項目完成辯論後,會生成一個審閱表格,讓使用者可以一次性修改、刪除或批准。只有經過批准,才會使用專案的議題模板(如果存在)或共用模板來建立實際議題,並自動套用 status::ready 和 kind::<kind> 標籤。此技能主要用於 Claude Code 等具備 MCP 檔案系統和 CLI 存取能力的 AI 代理,支援 GitLab 和 GitHub 平台。它強制實行了多道「硬閘門」:未經審閱表格批准不得建立議題;驗收標準和驗證章節不得為空;對模糊不清的項目必須標記為 status::blocked,而非胡亂猜測。這確保了從初始構想到可規劃議題的轉變過程嚴謹且高品質。

相容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/hbardet/agent-skills/tree/main/skills/batch-features

Installed? Explore more 程式設計與開發 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

在你喜歡的 AI 中提問

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

說明文件

批次功能

此工作流程的接收端。另一半是 work-issue。

你不是在傾倒一份待辦事項。你是要將粗略的想法轉變為代理人可以直接規劃的議題,而不需要重新進行你的探索。這意味著先逐一辯論每個項目,然後一次核准,最後再提交。

開始時宣布: 「我正在使用 batch-features 技能將此清單轉換為議題。」

設定

shared/ 是此技能旁邊的目錄 — 安裝時為 ~/.agents/skills/shared/,或是在檢出目錄中為 ../shared/。如果 shared/... 路徑無法解析,請使用另一個。

  1. ️讀取儲存庫:根目錄下的 AGENTS.md(或 CLAUDE.md)。其中的慣例具有約束力。
  2. ️讀取 .agent-skills/config.json(如果存在);否則讀取 shared/config.md,詢問首次執行的問題,然後寫入檔案。
  3. ️讀取 shared/tracker-adapter.md、shared/labels.md 和 shared/issue-template.md。
  4. ️偵測追蹤器。查看現有標籤和議題,以便新建立的文件能夠相容。
  5. ️範本。 檢查專案是否已有議題範本(.gitlab/issue_templates/*.md、.github/ISSUE_TEMPLATE/*.md)。如果有的話,使用它並將其路徑記錄在配置中作為 issueTemplate。如果沒有,請注意你將在最後提議將 shared/issue-template.md 提交到專案中。

辯論

逐一處理清單中的項目。對於每個項目:

  1. 用自己的話重新陳述: 它是什麼、服務於誰、為什麼現在要做。在議題內文中的「意圖」下方保留原文作為逐字引用 — 即使其餘部分是英文。
  2. 提出具體的解釋。 不要問「你想在這裡做什麼?」,而是說「我認為這是 X,因為 Y。如果你指的是 Z,請說一聲。」
  3. 最多問兩個問題。 每個問題必須具體,並且每個問題都必須附帶一個使用者可以用一個單詞接受的預設答案。問最能改變建構內容方向的問題。如果使用者要求全面審查,可以多問;否則兩個為限。
  4. 確定兩件事: 驗收標準(每個都是可觀察且可檢查的)和類型(feature / fix / refactor / chore)。沒有其他事項 — 沒有規模、沒有領域、沒有依賴關係。

如果一個項目在辯論後仍無法確定,請將其標記為 status::blocked 並附上 needs spec 註記,而不是進行猜測。提交一個模糊的議題比不提交更糟糕。

在所有項目都經過辯論之前,不要進行提交。

審閱表格

在最後一個項目之後,為整批項目呈現一個表格:

| # | 標題 | 類型 |
|---|------|------|
| 1 | ...   | feature |

然後請求核准。使用者可以編輯標題、刪除項目或更改類型。在此之前,不會提交任何議題。

提交議題

對於每個已核准的項目,按照使用者偏好的順序(預設為建立順序):

  1. 使用追蹤器 CLI 建立議題,內文優先使用專案的範本(如果有),否則使用 shared/issue-template.md。標題和內文使用配置中的 language(預設為 en)。
  2. 套用標籤:status::ready 和 kind::<kind>。記錄議題編號。
  3. 回報議題的 URL。

如果使用者的清單暗示了順序(例如「X 然後 Y」),請在議題內文的「備註」下方註明 — 不要建立依賴關係或標籤。

如果專案沒有議題範本並且使用者接受了你的提議,請執行 shared/issue-template.md 提交到追蹤器預期的路徑(僅一次),然後再提交議題。不要無聲無息地建立它。

報告

最後,列印:

  • 議題 URL,每行一個。
  • 批次摘要:N 個已提交,M 個被阻擋。
  • 一行文字:「要開始工作,請說 work-issue <n>。」

硬閘門

  • 未經審閱表格核准,不得建立任何議題。
  • 驗收標準 或 驗證 章節為空時,不得建立任何議題。
  • 不得使用猜測的範圍建立議題:如果辯論後仍然模糊,則為 status::blocked。
  • 此技能絕不聲稱擁有議題或開始實作;那是 work-issue 的職責。

相關技能