一键导入
codex-systematic-debugging
Use for bugs, test failures, broken behavior, or unexpected results; enforces 4-phase root-cause debugging before fixes.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use for bugs, test failures, broken behavior, or unexpected results; enforces 4-phase root-cause debugging before fixes.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Use for project memory, decisions, handoffs, genome, knowledge index, changelog, and patterns that must persist across sessions.
Use for frontend, backend, mobile, debugging, security, or specialized engineering work that needs focused domain references and strict boundaries.
Use for prototype, MVP, fullstack feature, from-scratch feature, or multi-domain work that needs a SPEC.md before planning or implementation. Do not use for tiny one-file edits.
Use when code changes may require documentation updates; maps git diff to candidate docs without auto-editing documentation.
Use before completion, PR, deploy, handoff, or when verifying code changes. Runs advisory or blocking checks and reports evidence.
Use when the task involves reading, creating, or editing `.docx` documents, especially when formatting or layout fidelity matters; prefer `python-docx` plus the bundled `scripts/render_docx.py` for visual checks.
| name | codex-systematic-debugging |
| description | Use for bugs, test failures, broken behavior, or unexpected results; enforces 4-phase root-cause debugging before fixes. |
| load_priority | on-demand |
4-phase process: Root Cause Investigation → Pattern Analysis → Hypothesis & Testing → Implementation. No fixes without root cause. 3+ failed fixes = question architecture. Use $root-cause or $trace to activate.
$codex-systematic-debugging, $root-cause, or $trace.codex-workflow-autopilot routes to debug or fix workflow.codex-intent-context-analyzer detects debug intent.Announce at start: "I'm using codex-systematic-debugging to investigate root cause."
NO FIXES WITHOUT ROOT CAUSE INVESTIGATION FIRST
If you haven't completed Phase 1, you cannot propose fixes.
Core principle: ALWAYS find root cause before attempting fixes. Symptom fixes are failure.
Violating the letter of this process is violating the spirit of debugging.
Use for ANY technical issue:
Use this ESPECIALLY when:
Don't skip when:
You MUST complete each phase before proceeding to the next.
BEFORE attempting ANY fix:
Read Error Messages Carefully
Reproduce Consistently
Check Recent Changes
Gather Evidence in Multi-Component Systems
WHEN system has multiple components (CI → build → signing, API → service → database):
BEFORE proposing fixes, add diagnostic instrumentation:
For EACH component boundary:
- Log what data enters component
- Log what data exits component
- Verify environment/config propagation
- Check state at each layer
Run once to gather evidence showing WHERE it breaks
THEN analyze evidence to identify failing component
THEN investigate that specific component
Example (multi-layer system):
# Layer 1: Environment
echo "=== ENV check ==="
echo "DB_HOST: ${DB_HOST:+SET}${DB_HOST:-UNSET}"
# Layer 2: Application config
echo "=== Config loaded ==="
node -e "console.log(require('./config').database)"
# Layer 3: Connection
echo "=== DB connection test ==="
node -e "require('./db').ping().then(r => console.log(r))"
# Layer 4: Query
echo "=== Query test ==="
node -e "require('./db').query('SELECT 1').then(r => console.log(r))"
This reveals: Which layer fails (env → config ✓, config → connection ✗)
Trace Data Flow
WHEN error is deep in call stack:
See references/root-cause-tracing.md for the complete backward tracing technique.
Quick version:
Find the pattern before fixing:
Find Working Examples
Compare Against References
Identify Differences
Understand Dependencies
Scientific method:
Form Single Hypothesis
Test Minimally
Verify Before Continuing
When You Don't Know
Fix the root cause, not the symptom:
Create Failing Test Case
codex-test-driven-development skill for writing proper failing testsImplement Single Fix
Verify Fix
$gate or $check for full verificationIf Fix Doesn't Work
Pattern indicating architectural problem:
STOP and question fundamentals:
Discuss with the human before attempting more fixes.
This is NOT a failed hypothesis — this is a wrong architecture.
If you catch yourself thinking:
ALL of these mean: STOP. Return to Phase 1.
If 3+ fixes failed: Question the architecture (see Phase 4.5)
| Excuse | Reality |
|---|---|
| "Issue is simple, don't need process" | Simple issues have root causes too. Process is fast for simple bugs. |
| "Emergency, no time for process" | Systematic debugging is FASTER than guess-and-check thrashing. |
| "Just try this first, then investigate" | First fix sets the pattern. Do it right from the start. |
| "I'll write test after confirming fix works" | Untested fixes don't stick. Test first proves it. |
| "Multiple fixes at once saves time" | Can't isolate what worked. Causes new bugs. |
| "Reference too long, I'll adapt the pattern" | Partial understanding guarantees bugs. Read it completely. |
| "I see the problem, let me fix it" | Seeing symptoms ≠ understanding root cause. |
| "One more fix attempt" (after 2+ failures) | 3+ failures = architectural problem. Question pattern, don't fix again. |
| Phase | Key Activities | Success Criteria |
|---|---|---|
| 1. Root Cause | Read errors, reproduce, check changes, gather evidence | Understand WHAT and WHY |
| 2. Pattern | Find working examples, compare | Identify differences |
| 3. Hypothesis | Form theory, test minimally | Confirmed or new hypothesis |
| 4. Implementation | Create test, fix, verify | Bug resolved, tests pass, gate green |
After Phase 4 fix, verify through quality gate:
# Quick verification
python codex-execution-quality-gate/scripts/auto_gate.py --mode quick --project-root <repo>
# Smart test selection
python codex-execution-quality-gate/scripts/smart_test_selector.py --project-root <repo>
| Alias | Behavior |
|---|---|
$debug | Activates .workflows/debug.md + this skill |
$root-cause | Jump directly to Phase 1 |
$trace | Jump to data flow tracing (Phase 1, Step 5) |
Available in references/ directory:
root-cause-tracing.md — Trace bugs backward through call stack to find original triggerdefense-in-depth.md — Add validation at multiple layers after finding root causecondition-based-waiting.md — Replace arbitrary timeouts with condition pollingcodex-test-driven-development — For creating failing test case (Phase 4, Step 1)codex-execution-quality-gate — Verify fix via $gate before claiming successFrom debugging sessions: