git-investigate · git:20260305.c56d819 · 2026-03-05 · sha256 34e67a23afdff90e
git-investigate git:20260305.c56d819A
Immutable. This exact content is served forever at /api/v1/blob/34e67a23afdff90e.
--- name: git-investigate description: Code investigation knowledge base. Covers code history tracking, issue introduction analysis, root cause diagnosis. allowed-tools: Bash(git:*), Read, Grep, Glob --- # Git Investigate Skill ## Trigger - Keywords: 代碼歷史, git blame, 追蹤變更, 誰寫的, 什麼時候改的, 根本原因, 考古 ## When NOT to Use - 代碼審查(用 codex-review) - 功能開發(用 feature-dev) - 只是想看代碼(直接 Read) ## Command ```bash /git-investigate src/service/xxx.ts:123 # 特定行 /git-investigate processToken # 函數名稱 /git-investigate "error message" # 關鍵字 ``` ## Workflow ``` 定位代碼 → git blame → 找到 commit → 追蹤歷史 → 分析變更 → 報告 ``` ## Investigation Framework | Question | Method | | -------------- | ----------------------------- | | 誰寫的? | `git blame` | | 什麼時候改的? | `git log --follow` | | 為什麼改? | commit message + PR | | 遺漏了什麼? | `git diff` 比較原始 vs 問題版 | ## Common Patterns | Pattern | Symptom | Root Cause | | -------- | ------------- | -------------- | | 類型移除 | enum 值被刪除 | 假設不再需要 | | 條件簡化 | if 條件變少 | 重構時遺漏 | | 重命名 | 部分地方沒改 | 搜尋不完整 | | 邊界忽略 | 只處理主流程 | 沒考慮特殊情況 | ## Verification - 報告包含:調查目標、作者資訊、時間線、原始 vs 問題代碼 - 根本原因有明確分析 - 修復建議具體可行 ## References - `references/commands.md` - Git 命令速查 + 報告模板 ## Examples ``` 輸入:這行代碼是誰改的? 動作:git blame → 找到 commit → 追蹤 PR → 輸出報告 ``` ``` 輸入:這個 bug 是什麼時候引入的? 動作:git log -p -S → 定位引入點 → 分析原因 → 輸出報告 ```