์Šคํ‚ฌ systematic-debugging
๐Ÿ”

systematic-debugging

์•ˆ์ „ โšก ์Šคํฌ๋ฆฝํŠธ ํฌํ•จ๐Ÿ“ ํŒŒ์ผ ์‹œ์Šคํ…œ ์•ก์„ธ์Šค

Apply systematic debugging for any bug

๋˜ํ•œ ๋‹ค์Œ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: Cycleaddict,DMJGilbert,Doyajin174,obra,Asmayaseen,DYAI2025,ChrisWiles,davila7,CodingCossack

Random fixes waste time and create new bugs. This skill provides a four-phase methodology to find root cause before attempting any fix. It prevents symptom-level patching and ensures lasting solutions.

์ง€์›: Claude Codex Code(CC)
๐Ÿ“Š 70 ์ ์ ˆํ•จ
1

์Šคํ‚ฌ ZIP ๋‹ค์šด๋กœ๋“œ

2

Claude์—์„œ ์—…๋กœ๋“œ

์„ค์ • โ†’ ๊ธฐ๋Šฅ โ†’ ์Šคํ‚ฌ โ†’ ์Šคํ‚ฌ ์—…๋กœ๋“œ๋กœ ์ด๋™

3

ํ† ๊ธ€์„ ์ผœ๊ณ  ์‚ฌ์šฉ ์‹œ์ž‘

ํ…Œ์ŠคํŠธํ•ด ๋ณด๊ธฐ

"systematic-debugging" ์‚ฌ์šฉ ์ค‘์ž…๋‹ˆ๋‹ค. Test fails with 'Expected status completed but received pending'

์˜ˆ์ƒ ๊ฒฐ๊ณผ:

  • Phase 1 - Root Cause: Trace when status gets set versus when we check it
  • Phase 2 - Pattern: Find working tests that verify status updates
  • Phase 3 - Hypothesis: Perhaps async operation not awaited before assertion
  • Phase 4 - Implementation: Add waitFor condition to detect actual state change

"systematic-debugging" ์‚ฌ์šฉ ์ค‘์ž…๋‹ˆ๋‹ค. File created in wrong directory during tests

์˜ˆ์ƒ ๊ฒฐ๊ณผ:

  • Phase 1 - Root Cause: Use find-polluter.sh to identify which test creates the file
  • Phase 2 - Pattern: Compare with tests that run clean
  • Phase 3 - Hypothesis: Empty path variable resolves to cwd
  • Phase 4 - Implementation: Add validation layer that refuses operation outside tmpdir

"systematic-debugging" ์‚ฌ์šฉ ์ค‘์ž…๋‹ˆ๋‹ค. Environment secrets not reaching build layer

์˜ˆ์ƒ ๊ฒฐ๊ณผ:

  • Phase 1 - Evidence: Log env vars at each layer (workflow, build, signing)
  • Phase 2 - Pattern: Find where propagation breaks down
  • Phase 3 - Hypothesis: Layer transition strips environment
  • Phase 4 - Implementation: Add defense-in-depth check at each layer boundary

๋ณด์•ˆ ๊ฐ์‚ฌ

์•ˆ์ „
v5 โ€ข 1/17/2026

This is a legitimate debugging methodology skill containing only documentation and code examples. All 138 static findings are FALSE POSITIVES. The flagged patterns are markdown documentation showing example debugging commands, shell variable expansion, environment checks, and standard filesystem operations - all used for legitimate debugging documentation purposes. No malicious code or intent present.

12
์Šค์บ”๋œ ํŒŒ์ผ
1,489
๋ถ„์„๋œ ์ค„ ์ˆ˜
2
๋ฐœ๊ฒฌ ์‚ฌํ•ญ
5
์ด ๊ฐ์‚ฌ ์ˆ˜

์œ„ํ—˜ ์š”์ธ

โšก ์Šคํฌ๋ฆฝํŠธ ํฌํ•จ (1)
๐Ÿ“ ํŒŒ์ผ ์‹œ์Šคํ…œ ์•ก์„ธ์Šค (1)

ํ’ˆ์งˆ ์ ์ˆ˜

38
์•„ํ‚คํ…์ฒ˜
100
์œ ์ง€๋ณด์ˆ˜์„ฑ
87
์ฝ˜ํ…์ธ 
22
์ปค๋ฎค๋‹ˆํ‹ฐ
100
๋ณด์•ˆ
91
์‚ฌ์–‘ ์ค€์ˆ˜

๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๊ฒƒ

Fix test failures properly

Stop adding sleep statements. Trace why tests fail at the source for permanent fixes.

Avoid symptom-level patching

Follow documented process instead of guessing fixes when encountering unexpected behavior.

Trace complex call stacks

Find where invalid data originates in multi-component systems with proven tracing techniques.

์ด ํ”„๋กฌํ”„ํŠธ๋ฅผ ์‚ฌ์šฉํ•ด ๋ณด์„ธ์š”

Basic bug investigation
Load skills/debugging/systematic-debugging and help me investigate this test failure. The test expects X but received Y.
Multi-layer system debugging
Use the root cause tracing technique to trace this bug backward through the call chain. The error appears at line N.
Flaky test pattern
Apply the condition-based waiting pattern to replace arbitrary timeouts in this test file.
Prevent symptom fixing
Check my work against the systematic debugging process. Have I actually found the root cause?

๋ชจ๋ฒ” ์‚ฌ๋ก€

  • Always complete Phase 1 (root cause) before proposing any fix, even under time pressure
  • Trace backward through the call chain to find where bad data originated, not where it manifests
  • Add validation at every layer data passes through to make bugs structurally impossible

ํ”ผํ•˜๊ธฐ

  • Adding sleep statements instead of waiting for actual conditions
  • Fixing where the error appears instead of tracing to the source
  • Proposing multiple fixes at once to 'get more coverage'

์ž์ฃผ ๋ฌป๋Š” ์งˆ๋ฌธ

Can I skip to the fix if the issue seems obvious?
No. The skill mandates Phase 1 completion before any fix. Simple bugs have root causes too. Systematic is faster than thrashing.
What if I do not understand the codebase well enough to trace root cause?
Say 'I do not understand X' rather than guessing. Ask for help or research more. The skill explicitly values honesty over pretense.
How do I handle production emergencies with this skill?
The skill acknowledges pressure but requires investigation first. Quick fixes mask issues that recur. Systematic debugging handles emergencies faster than symptom whack-a-mole.
When should I use condition-based waiting?
Replace arbitrary sleep or timeout calls with polling for the actual condition. This eliminates flaky tests that pass on fast machines but fail in CI.
What if three fixes have already failed?
Stop and question the architecture. Three failed fixes often indicate a structural problem, not a symptom to patch. Discuss with your human partner.
How is this different from test-driven development?
TDD writes tests before code. This skill investigates bugs when they occur. Both require understanding root cause but serve different phases of development.

๊ฐœ๋ฐœ์ž ์„ธ๋ถ€ ์ •๋ณด

์ž‘์„ฑ์ž

Cygnusfear

๋ผ์ด์„ ์Šค

MIT

์ฐธ์กฐ

main

ํŒŒ์ผ ๊ตฌ์กฐ