From sd0x-dev-flow
Runs interactive hypothesis-driven debugging for unknown bugs, script errors, silent failures, and troubleshooting. Outputs probe journal, root cause, and fix via structured workflow phases.
npx claudepluginhub sd0xdev/sd0x-dev-flow --plugin sd0x-dev-flowThis skill is limited to using the following tools:
- Keywords: debug, 除錯, troubleshoot, diagnose, 查問題, 找 bug, 為什麼不動, 為什麼不 work, something wrong, not working
Guides systematic debugging of bugs, test failures, and unexpected behavior via root cause investigation. Enforces reproduction, evidence gathering, hypothesis testing before fixes.
Debugs errors, test failures, and unexpected behavior via root cause analysis of logs, stack traces, recent changes, hypotheses testing, and strategic logging. Delivers fixes, verification steps, and prevention advice.
Performs root cause analysis for bugs by tracing errors through code, analyzing stack traces, forming and testing hypotheses, then hands off to fix.
Share bugs, ideas, or general feedback.
| Scenario | Alternative |
|---|---|
| GitHub Issue / PR thread 分析 | /issue-analyze |
| 已知根因、直接修復 | /bug-fix |
| 理解程式碼如何運作 | /code-explore |
| 需要雙視角確認邏輯 | /code-investigate |
| 部署後唯讀功能驗證 | /feature-verify |
❌ git add | git commit | git push — per @rules/git-workflow.md
This skill debugs and may fix code but does not commit. /precommit is a quality gate only. To commit, the user must invoke /smart-commit --execute separately.
Phase 0 Phase 1 Phase 2 Phase 3 Phase 4 Phase 5
Intake → Classify → Probe Loop → Root Cause → Fix + → Report
+ Repro (Taxonomy) (max 6) Confirmation Verify
│ │ │ │ │ │
▼ ▼ ▼ ▼ ▼ ▼
Execute refs/ Bash /seek-verdict Edit+test --export
reproduce failure- /codex- /code-investigate /bug-fix (optional)
taxonomy brainstorm (optional)
| Step | Action | Output |
|---|---|---|
| 0a | 解析問題描述(症狀、範圍、環境) | 結構化問題描述 |
| 0b | 嘗試重現(執行命令/腳本) | 預期 vs 實際結果 |
| 0c | 重現成功? | Yes → Phase 1 / No → ⚠️ Need Human |
Repro Contract: 根因聲稱必須基於可重現的觀察,不可基於靜態推測。
根據觀察到的失敗模式,使用 Failure Taxonomy 分類並選擇 first-probe 策略。
See references/failure-taxonomy.md for:
假設驅動的互動式探測迴圈。See references/probe-protocol.md for full rules.
每個 probe 是一個假設測試:
1. 定義假設 H
2. 設計探測命令 C
3. 預測「若 H 成立 → 期望 O」
4. 執行 C → 觀察實際結果
5. 更新假設集合
6. 選下一個最具鑑別力的探測
| Condition | Action |
|---|---|
| 根因已定位 + ≥1 執行結果佐證 | Stop → Phase 3 |
| ≥2 競爭假設無法區分 | Brainstorm → /codex-brainstorm 對抗辯論 |
| 連續 2 輪無新資訊 | Escalate → ⚠️ Need Human |
| Max rounds (6) reached | Escalate → ⚠️ Need Human |
/codex-brainstorm IntegrationWhen ≥2 equally credible hypotheses exist:
/codex-brainstorm via Skill tool — topic = hypothesis comparison| Step | Action | Required |
|---|---|---|
| 3a | 總結根因(What + Why + Impact + Evidence) | ✅ |
| 3b | /seek-verdict --intent confirm — Codex 獨立驗證 | ✅ Mandatory |
| 3c | /code-investigate 雙視角深入驗證 | Optional |
| 3d | /git-investigate 追蹤引入點(若 regression) | Conditional |
/seek-verdict Integration (Step 3b — Mandatory)Invoke /seek-verdict --intent confirm for independent root cause verification.
Anti-anchoring contract (per @skills/seek-verdict/SKILL.md):
mcp__codex__codex call, never reuseResult routing:
| Result | Action |
|---|---|
| ACTIONABLE (confirm) | → Phase 4 |
| NON_ACTIONABLE (high confidence) | Re-enter Phase 2 or ⚠️ Need Human |
| UNCERTAIN | → Phase 4 (conservative), note low confidence |
| Condition | Path |
|---|---|
| Simple fix (≤3 lines) | Edit + regression test + verify |
| Complex fix (multi-file) | Delegate to /bug-fix |
| Architecture-level change | ⛔ Need Human — report root cause + recommendation |
All fix paths require regression test per @rules/testing.md evidence model. Bug type → test level mapping per @skills/bug-fix/SKILL.md.
Simple fix path:
Output format: see references/report-template.md.
Default: conversation-only output. With --export [path], write to file (with redaction per Probe Safety Rules).
| Rule | Description |
|---|---|
| Read-first default | 預設探測為唯讀:cat, curl -s, grep, ls, git log |
| Write-probe gate | 可能修改狀態的探測標記 [WRITE_PROBE],非 sandbox 環境需用戶確認 |
| Timeout | 每個探測命令 timeout ≤ 30 秒 |
| Output budget | 單次探測輸出 ≤ 500 行(超出 truncate) |
| Redaction | 禁止記錄 API keys, tokens, passwords(per @rules/security.md),以 [REDACTED] 取代 |
| Deny list | 禁止:rm, drop, delete, truncate, 任何 destructive 操作 |
| Key | Default | Description |
|---|---|---|
debug.max_probe_rounds | 6 | Maximum probe loop iterations |
MUST re-review after fix until PASS (per @rules/auto-loop.md)
Fix → Review → Issues found → Fix again → ... → ✅ Pass → Next step
Doc Sync is governed by @rules/auto-loop.md (behavior-layer rule). After precommit pass, triggers conditionally when changes map to docs/features/.
## Debug Report: <title>
- **Type**: <classification>
- **Root Cause**: <what + why>
- **Fix**: <change description>
- **Verdict**: <seek-verdict result>
- **Probe Rounds**: <N>
/seek-verdict --intent confirm executed (Phase 3)git add/commit/push executed| File | Purpose | When to Read |
|---|---|---|
references/failure-taxonomy.md | Problem classification + first-probe routing | Phase 1 |
references/probe-protocol.md | Probe Loop rules + termination criteria | Phase 2 |
references/report-template.md | Debug Report template + export format | Phase 5 |
Input: /debug bash scripts/deploy.sh 回傳 exit code 1
Phase 0: 執行 bash scripts/deploy.sh → 確認失敗
Phase 1: Script Bug
Phase 2: R1: bash -x trace → 發現 line 42 curl 失敗
R2: 直接 curl endpoint → 404
R3: 檢查 URL → 路徑缺少 /api prefix → Stop
Phase 3: /seek-verdict confirm → ACTIONABLE
Phase 4: Edit line 42 + regression test
Phase 5: Debug Report
Input: /debug API 回傳空陣列但資料庫有資料
Phase 0: curl API endpoint → 確認回傳 []
Phase 1: Silent Failure(表面正常但結果錯誤)
Phase 2: R1: 檢查 query filter → 發現 status 欄位名稱不符
R2: 直接 DB query → 有資料 → Stop
Phase 3: /seek-verdict confirm → ACTIONABLE
Phase 4: 修正 field name + unit test
Phase 5: Debug Report
Input: /debug ks-status.sh 回傳 ready:false 但 deployment 已就緒
Phase 0: 執行 bash ks-status.sh → ready:false, 缺少 replicas 欄位
Phase 1: Silent Failure(404 被 fallback 吞掉)
Phase 2: R1: 直接 curl API → invalid JSON → R2: 原始回應 → 404
R3: 改用 apps/v1 路徑 → 200 + 完整資料 → Stop
Phase 3: /seek-verdict confirm → ACTIONABLE
Phase 4: api/v1 → apps/v1(1 word fix)+ test
Phase 5: Debug Report