Community程式設計與開發github.com

teefayb/claude-code-setup-demo

診斷失敗或間歇性失敗的 Vitest 測試或 CI 檢查,找出根本原因,並提出或套用最小的正確修復。當測試在本機或 CI 失敗時使用。

claude-code-setup-demo 是什麼?

此技能專為開發者與 AI 代理工具設計,用於系統性處理 Vitest 測試或 CI 檢查的失敗與不穩定性。它提供一套清晰、逐步的流程:從重現失敗(支援指定檔案與測試名稱)、讀取斷言差異與堆疊追蹤,到透過 Git 記錄找出程式碼變更,最後將失敗原因歸類為程式碼錯誤、過時測試、測試隔離問題或環境差異。此技能強調最小正確修復,禁止繞過或弱化斷言來讓測試通過。支援多種平台(如 Claude Code、Cursor、Codex),廣泛應用於使用 Vitest 的 JavaScript/TypeScript 專案。其流程整合了重現、Git 差異分析與重複執行以檢查不穩定性,確保開發者能找出根本原因並安全修復,同時保存完整的命令記錄。

相容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/teefayb/claude-code-setup-demo/tree/HEAD/.claude/skills/triage-test

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

在你喜歡的 AI 中提問

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

說明文件

對此失敗進行分類處理:$ARGUMENTS

步驟

  1. 重現。僅執行失敗的檔案:npx vitest run <file>(加上 -t "<test name>" 可縮小範圍)。如果未指定檔案,則執行 npm test 並選取第一個失敗。如果測試通過,請重複執行 5 次(npx vitest run <file> --repeat 4)來檢查是否為不穩定測試。
  2. 在閱讀程式碼之前,先讀取斷言差異與堆疊追蹤。說出失敗的預期結果。
  3. 找出變更:git log --oneline -10 -- <source file> <test file> 與 git diff main...HEAD -- <files>。
  4. 分類原因,並說出是哪一類:
    • 程式碼錯誤 — 測試是正確的;請修正原始碼。
    • 過時測試 — 行為已刻意變更;更新測試並說明是哪個提交改變了它。
    • 測試隔離 — 測試之間共享狀態(資料檔案、環境變數、時間、順序)。在此儲存庫中,檢查測試是否使用 useTempDataFile() 並傳遞明確的 now 給 createLink,而非依賴系統時鐘。
    • 環境 — Node 版本、缺少安裝、僅在 CI 中出現的差異。
  5. 修正根本原因。絕不要跳過、刪除或弱化斷言來讓測試通過,也絕不要未經說明就編輯 data/seed.json 來滿足測試。
  6. 重新執行檔案,然後執行 npm test。
  7. 回報:原因(一句話)、分類、修正方式與執行的命令。

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

相關技能