AgentSkillsCN

issue-discuss

将当前 LLM 对话讨论转化为结构化的 GitLab Issue,整合 issue-create 和 issue-split 功能。当用户说“把讨论建成 issue”、“discuss to issue”、“整理成 issue”、“从对话建立 issue”时触发。

SKILL.md
--- frontmatter
name: issue-discuss
description: 將當前 LLM 對話討論轉為結構化 GitLab Issue,整合 issue-create 和 issue-split 功能。當使用者說「把討論建成 issue」、「discuss to issue」、「整理成 issue」、「從對話建立 issue」時觸發。

Issue Discuss

將當前與 Claude 的對話討論內容,智慧萃取並轉為結構化的 GitLab Issue。自動整合 /issue-create/issue-split 的功能。

使用方式

基本用法(從當前對話萃取)

code
/issue-discuss

指定討論範圍

code
/issue-discuss 關於效能優化的部分

指定建立模式

code
/issue-discuss --mode=split 關於效能優化的部分

參數說明:

  • 描述(可選):限定要萃取的討論範圍,若未指定則分析整段對話
  • --mode(可選):
    • auto(預設):AI 自動判斷該建立單一 Issue 或拆分多個
    • single:強制建立單一 Issue
    • split:強制拆分為多個 Issue

前置條件

需要 .issue-config.json 存在。按以下優先順序搜尋:

  1. 專案目錄: ./.issue-config.json
  2. 使用者目錄: ~/.claude/.issue-config.json

若均不存在,提示:「找不到 .issue-config.json,請先執行 /issue-init 建立設定。」

工作流程

1. 讀取設定

從搜尋到的 .issue-config.json 讀取所有相關設定(專案層級優先於使用者層級)。

2. 對話內容萃取

AI 分析當前對話上下文,萃取:

  • 核心問題/需求:討論的主要議題
  • 達成的共識:已確定的方向和決策
  • 行動項目:需要執行的具體任務
  • 技術細節:討論中提到的技術方案、限制、注意事項
  • 未解決的問題:需要後續跟進的議題

3. 結構化分析

AI 根據萃取結果進行判斷:

單一需求(mode=single 或 auto 判斷為單一):

  • 生成一個結構化的 Issue
  • 呼叫 /issue-create 的邏輯

複合需求(mode=split 或 auto 判斷為多個):

  • 識別多個獨立的子需求
  • 先建立主 Issue,再呼叫 /issue-split 的邏輯拆分

判斷依據:

  • 討論中提到的獨立行動項目數量
  • 是否涉及多個模組/專案
  • 是否有明確的階段性區分

4. 預覽萃取結果

使用 AskUserQuestion 展示萃取結果:

問題:「以下是從對話中萃取的 Issue 內容,請確認」

單一 Issue 模式

code
📋 萃取結果(單一 Issue)

標題: [Feature] 實作使用者通知系統
專案: BizForm/Home
Labels: feature, backend, frontend

描述:
  ## 背景
  (從對話中萃取的背景說明)

  ## 討論摘要
  (關鍵決策和共識)

  ## 驗收條件
  - [ ] (從對話中萃取的行動項目)

  ## 技術備註
  (討論中提到的技術方案)

  ---
  > 📝 本 Issue 由 Claude Code /issue-discuss 從對話中自動產生

多 Issue 模式

code
📋 萃取結果(多個 Issue)

主 Issue: 效能優化計畫 - 移除 pagesize=0
子 Issue:
  1. API 層移除 pagesize=0 預設值
  2. 前端分頁元件重構
  3. 資料庫查詢優化

選項:

  1. 確認,建立 Issue
  2. 修改萃取內容
  3. 切換模式(單一 ↔ 拆分)
  4. 取消

5. 建立 Issue

根據確認的模式執行:

單一模式

  • 使用 mcp__GitLab_communication_server__create_issue 建立 Issue
  • 在描述末尾加入「本 Issue 由 Claude Code 對話自動產生」的標註

拆分模式

  • 先建立主 Issue
  • 再逐一建立子 Issue
  • 使用 mcp__GitLab_communication_server__create_issue_link 建立關聯

6. 完成訊息

單一模式

code
✓ Issue 已從對話建立: #456 - [Feature] 實作使用者通知系統
  URL: https://gitlab.example.com/BizForm/Home/-/issues/456

拆分模式

code
✓ 已從對話建立 1 個主 Issue + 3 個子 Issue:

  主 Issue:
  #456 - 效能優化計畫 - 移除 pagesize=0
    URL: https://gitlab.example.com/BizForm/Home/-/issues/456

  子 Issue:
  #457 - API 層移除 pagesize=0 預設值
  #458 - 前端分頁元件重構
  #459 - 資料庫查詢優化

GitLab MCP 工具使用

步驟工具用途
重複檢查list_issues搜尋相似 Issue
建立 Issuecreate_issue建立主 Issue / 子 Issue
建立關聯create_issue_link建立 Issue 間關聯

對話萃取品質保證

  • 優先萃取明確的決策和行動項目,而非討論過程
  • 技術細節以結論為主,不逐一列出所有討論的方案
  • 若對話過長,聚焦在最近的討論內容
  • 未解決的問題標記為 <!-- TODO: 需進一步討論 -->

注意事項

  • 所有 Issue 描述末尾會加入來源標註
  • 萃取結果需使用者確認後才建立
  • 不會修改或刪除對話中的任何內容
  • 若對話中沒有可萃取的行動項目,會提示使用者