From bug-workflow
Updates Notion bug pages with investigation details like logs, SQL queries, judgments, and screenshots; reopens closed bugs using git repo matching and search.
How this skill is triggered — by the user, by Claude, or both
Slash command
/bug-workflow:bug-updateThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
在調查 Bug 期間,將關鍵 Log、SQL 查詢、初步判斷、問題描述補充等資訊,即時寫入 Notion「任務追蹤工具」的 Bug 頁面對應區塊。
在調查 Bug 期間,將關鍵 Log、SQL 查詢、初步判斷、問題描述補充等資訊,即時寫入 Notion「任務追蹤工具」的 Bug 頁面對應區塊。
也支援將已結案(測試中/已完成)的 Bug 重新開啟(reopen),適用於上線後發現問題未完全修復的情境。
執行前依序檢查以下路徑,讀取第一個找到的設定檔:
~/.claude-company/bug-workflow-config.md(公司環境)~/.claude/bug-workflow-config.md(個人環境)若都不存在,提示使用者先執行 /bug-setup。
/bug-start 建立 Bug 條目前置檢查:參照
references/prerequisites.md執行完整前置檢查(CLAUDE.md + 設定檔 + 專案註冊)。
根據使用者輸入判斷是「一般更新」還是「重新開啟」:
reopen、重新開啟、復發、退回 → Reopen 模式(跳至步驟 1-B)從設定檔讀取「任務追蹤工具」Data Source ID,精確查詢該資料庫:
使用 notion-search 搭配 data_source_url: collection://{任務追蹤工具 Data Source ID} 搜尋:
同時取得 Git Repo 識別碼(從 git remote get-url origin 解析),用於輔助篩選同一專案下的 Bug。
優先匹配邏輯:
/bug-start 建立選定後,使用 notion-fetch 取得頁面完整內容,以便後續 update_content 操作。
Reopen 模式需要定位「測試中」或「已完成」的 Bug。
Step 1 — 解析使用者輸入
| 使用者輸入 | 判斷 |
|---|---|
包含 Notion URL(notion.so/ 或 notion.site/) | → 直接定位模式:以 URL 中的 page_id 定位頁面 |
| 包含非 URL 文字 | → 關鍵字搜尋模式:在「任務追蹤工具」Data Source 中搜尋「測試中」+「已完成」的 Bug,以關鍵字匹配標題 |
什麼都沒提供(僅 reopen) | → 互動式清單模式 |
Step 2 — 互動式清單模式(無參數時)
當使用者只輸入 /bug-update reopen,不帶任何參數時:
notion-search 搭配 data_source_url: collection://{任務追蹤工具 Data Source ID},搜尋狀態為「測試中」或「已完成」且所屬專案匹配的 Bug(按建立時間降序,最多顯示 10 筆)偵測到 Git Repo:TPE01P2101/LineBC
以下為該專案近期已結案的 Bug:
1. [2026-03-15] 訂閱推播開封數欄位與點擊率公式不一致
2. [2026-03-12] customAggregationUnits 含連字號導致 LINE API 400 錯誤 ⭐ 推薦(符合當前分支)
3. [2026-03-10] 傳送數重複計算與 API 回應格式處理
請選擇要重新開啟的 Bug:
• 輸入編號(如 1)
• 輸入關鍵字搜尋更多
• 貼上 Notion 頁面連結
Step 3 — 定位失敗處理
若以上方式都找不到目標 Bug:
找不到符合條件的已結案 Bug,請嘗試:
1. 貼上 Notion 頁面連結(在 Notion 找到該 Bug 頁面,複製連結)
2. 提供更精確的關鍵字
3. 切換到當初的修復分支後重試
定位成功後,執行 Reopen 操作:
notion-update-page 將狀態從「測試中/已完成」改回「進行中」notion-update-page 的 update_content,在「驗證」區塊之前插入「復發紀錄」區塊:---
## 🔄 復發紀錄
### [{日期} 復發] {使用者提供的復發說明,若無則留空待補}
- **復發環境**:{若使用者有提供則填入,否則留空}
- **復發現象**:{若使用者有提供則填入,否則留空}
- **前次修復為何無效**:
---
- [ ])Bug 已重新開啟,後續可使用:
• /bug-update <調查內容> — 補充新的調查資訊
• /bug-close — 二次修復完成後結案
根據使用者輸入的內容,自動判斷應更新哪個區塊:
| 使用者輸入特徵 | 目標區塊 | 說明 |
|---|---|---|
| 包含「通報」、「回報」、「反映」、機關名稱 | 問題描述 > 通報來源 | 補充通報來源 |
| 包含重現步驟描述(「先...再...然後...」) | 問題描述 > 重現步驟 | 填入具體步驟 |
| 包含「預期」、「應該」 | 問題描述 > 預期行為 | 填入預期行為 |
| 包含 log、stacktrace、Exception、ERROR | 調查過程 > 關鍵 Log | 以 code block 格式貼入 |
| 包含 SQL、select、update、insert | 調查過程 > 相關 SQL 查詢 | 以 sql code block 格式貼入 |
| 包含「判斷」、「推測」、「可能是」、「初步」 | 調查過程 > 初步判斷 | 寫入判斷內容 |
| 使用者明確指定區塊 | 指定區塊 | 依使用者指示 |
若無法自動判斷,詢問使用者要更新哪個區塊。
/bug-update 關鍵 log:NullPointerException at PushService.java:235
/bug-update 初步判斷:推播排程在取得 access token 時發生空指標,可能是 token 過期未更新
/bug-update 通報來源:公共運輸處窗口 王小明
使用者可直接貼入多行 log 或 SQL:
/bug-update
然後 Claude Code 會詢問「請貼上要更新的內容」,使用者貼入後自動判斷類型並更新。
/bug-update log /opt/tomcat/logs/catalina.out
讀取指定 log 檔案的最後 50 行,擷取 ERROR/Exception 相關內容,寫入「關鍵 Log」。
使用 notion-update-page 的 update_content 指令:
原則:
[HH:mm] 時間標記,方便追溯調查過程向使用者回傳:
/bug-update 通報來源:公共運輸處窗口 → 更新問題描述
/bug-update 預期行為:應正常顯示使用者列表 → 更新問題描述
/bug-update 重現步驟:1.登入後台 2.點選使用者管理 3.搜尋「嵇南淩」 → 更新問題描述
/bug-update <直接貼 stacktrace> → 更新關鍵 Log
/bug-update <直接貼 SQL> → 更新相關 SQL 查詢
/bug-update 初步判斷:employees 表 status=99 → 更新初步判斷
/bug-update log /path/to/catalina.out → 從檔案擷取 ERROR 寫入關鍵 Log
/bug-update reopen → 顯示該專案近期已結案 Bug 清單,互動式選擇
/bug-update reopen SSO登入找不到使用者 → 用關鍵字搜尋已結案 Bug
/bug-update reopen https://www.notion.so/abe41af9... → 直接指定 Notion 頁面連結
/bug-update reopen SSO登入 正式環境仍出現相同錯誤 → 關鍵字 + 復發說明一起提供
notion-update-page 的 update_content 對同一區塊寫入時會覆蓋該區塊內容。多次寫同一區塊時,必須先 notion-fetch 取得現有內容,串接新內容後再寫回,否則會覆蓋之前的調查紀錄。to_do block,用 update_content 改 checked 狀態即可;用 replace_content 會意外刪除使用者手動新增的內容。[HH:mm] 標記要用 24 小時制本地時區。Claude 預設 UTC,需用 date 指令取本地時間(如 date +%H:%M)再填入。/bug-setup 完成初始設定... (省略 N 行) ... 替代npx claudepluginhub mark22013333/crew --plugin bug-workflowTriages bug reports and error messages by searching Jira for duplicates, checking fix history, and creating structured issues or adding comments.
Logs bug investigations using PACT protocol: creates YAML files tracking symptoms, attempts, root causes, fixes, and reusable solutions in .claude/bugs/. Useful for systematic debugging.
Fixes bugs using structured diagnostic workflow with user interview for clarification, Bug Council for complex issues, scoped searches, and severity-based handling.