systematic-debug/SKILL.md
系統性排查非預期行為。透過撰寫測試重現問題,修復後建立回歸測試防止再次出現。不用於已明確知道根因的簡單修復,不用於不需測試驗證的直覺式修正。
npx skillsauth add laitszkin/apollo-toolkit systematic-debugInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
以流程化方式重現非預期行為。 修復後建立回歸測試,避免再次出現。
開始除錯前,先分類錯誤類型,選擇對應策略:
| 類型 | 特徵 | 適用方法 | |------|------|----------| | 語法/型別錯誤 | 編譯器或 linter 直接指出 | 直接修復錯誤訊息指出的位置 | | 邏輯錯誤 | 輸出結果錯誤、測試失敗 | 假設驅動除錯 + 二元搜尋 | | 狀態錯誤 | 間歇性、順序相依 | 追蹤狀態轉移、找出變異點 | | 整合錯誤 | 獨立運作正常、連接後失敗 | 檢查邊界、合約、格式 | | 環境錯誤 | 部分環境正常、部分異常 | 比對環境差異、檢查設定檔 | | 效能錯誤 | 結果正確但緩慢/耗資源 | 效能分析工具、找熱點、檢查複雜度 |
按照用戶給出的資訊閱讀相關代碼。 排查可能導致問題的原因。從錯誤訊息、最近變更、日誌中收集證據。
選擇適合當前問題的除錯方法(參考下方方法指引),形成可證偽的假設。
整理所有可能導致問題的原因,撰寫測試案例嘗試重現該問題。 若所有構思的可能性均無法重現非預期行為,需重新假設直至測試有效重現。
一次只改變一個變數。若同時改變多個條件,無法歸因因果關係。
對代碼進行修復,直至重現測試全數通過。
修復根因而非症狀。修復完成後,保留重現測試作為回歸測試。
根據問題類型選擇最適合的方法:
適用於線上事故、邏輯錯誤。按 cheapest-first 順序測試假設。
適用於簡單、線性的失敗。反覆追問「為什麼」,沿著單一因果鏈追溯。 注意:當多個原因互動時,Five Whys 會遺漏分支原因。
適用於多因互動、架構層級的預防。從頂層失敗出發,自上而下分解所有可能的貢獻原因, 直到可觀測、可測試的葉節點。找出最小 cut sets(單點故障優先處理)。 參考:NASA SW 手冊、Chaos Engineering
適用於多團隊、跨服務的複雜問題。透過四維度矩陣強制結構化:
| 維度 | IS(問題在哪) | IS NOT(問題不在哪) | 差異(原因所在) | |------|---------------|-------------------|----------------| | What | | | | | Where | | | | | When | | | | | Extent | | | |
有效的根因必須解釋所有 IS 和所有 IS NOT。KT 最適合環境穩定、邊界清晰的問題,不適合串聯式災難。 參考:Kepner-Tregoe Problem Solving
方法選擇原則:當有多個可能根因時,先從 cheapest-first 開始測試(最簡單驗證的假設優先)。
若發現自己有以下想法,表示正在跳過調查步驟,需立即停止:
以上任何一個出現 → 停止修復,返回步驟 1。
若同一錯誤經過 3 次修復仍失敗:
在除錯過程中記錄每個假設的狀態:
假設:[對根因的推測]
狀態:[未驗證 / 已確認 / 已推翻]
驗證方式:[做了什麼檢查]
證據:[觀察到的結果]
每次形成新假設時,先確認它是否能解釋所有已觀測到的症狀。
若系統性調查後仍無法找到根因(環境性、時序性、外部依賴問題):
95% 的「找不到根因」其實是調查不夠深。在放棄前確認已用盡當前可用的證據。
development
Review a pull request — interactive PR selection via `gh`, 4-dimension code review (hallucinated code, architecture, performance, test validity), then post severity-graded comments with fix suggestions on the PR. Not for spec-based review — use `review` instead.
development
Read a user-specified PDF that marks the week's key financial events, deeply research each marked event with current sources, capture any additional breaking financial developments, and produce a concise Chinese-capable PDF briefing that explains what happened and why it matters.
documentation
Generate long-form videos (more than 10 minutes) by following user instructions and invoking related skills only when needed (`openai-text-to-image-storyboard`, `docs-to-voice`, `remotion-best-practices`). For text inputs, extract a complete long-form story arc, generate fresh storyboard images (no reuse of previously generated pictures), and render a 16:9 animated long-form video.
tools
協助完成自動化版本發佈。同步文檔、更新版本號、推送 tag 並建立 GitHub Release。