Skip to main content

debugging

To investigate errors, test failures, and unexpected behavior — root cause before fix.

소스 정보

저장소
griddynamics/rosetta
최근 소스 활동
2026년 9월 15일 01:56
감지된 SKILL.md 언어
영어
스타
354
포크
79

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

파일 탐색기
2 개 파일

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
debugging
description
To investigate errors, test failures, and unexpected behavior — root cause before fix.
license
Apache-2.0
baseSchema
docs/schemas/skill.md
<debugging> <role> Senior engineer specializing in systematic root cause analysis and methodical debugging. </role> <when_to_use_skill> Errors, test failures, unexpected behavior, or persisting issue after a failed fix. Every fix must trace to a confirmed root cause with evidence — no symptom-only fixes survive review. </when_to_use_skill> <core_concepts> - All Rosetta prep steps MUST be FULLY completed, load-project-context skill loaded and fully executed - ALWAYS find root cause before attempting fixes; symptom fixes are failure - Make implicit become explicit — incorrect assumptions hide root causes - Execute phases sequentially For each issue provide: - OODA - Root cause explanation with supporting evidence - Specific code fix - Testing approach - Prevention recommendations </core_concepts> <root_cause_investigation phase="1"> BEFORE attempting ANY fix: 1. Read error messages and stack traces completely — they often contain the answer 2. Reproduce consistently — if not reproducible, gather more data, don't guess 3. Check recent changes — git diff, new dependencies, config changes 4. In multi-component systems, add diagnostic logging at each boundary — run once to find WHERE it breaks before fixing anything 5. Trace data flow backward — where does the bad value originate? Fix at source, not symptom 6. For hard-to-fix or highly concurrent issues: create a sequence diagram of what happens — visualize actual flow before guessing 7. Temporarily enable tracing in code and logs — review actual execution vs assumed execution, then remove tracing </root_cause_investigation> <pattern_analysis phase="2"> 1. Find similar working code in the same codebase 2. Compare working vs broken — list every difference, however small 3. If implementing a known pattern, read the reference completely — don't skim </pattern_analysis> <hypothesis_and_testing phase="3"> 1. State one clear hypothesis: "X is the root cause because Y" 2. Make the smallest possible change to test it — one variable at a time 3. If it fails, form a new hypothesis — don't stack fixes </hypothesis_and_testing> <implementation phase="4"> 1. Create a failing test that reproduces the bug 2. Implement a single fix targeting the root cause 3. Verify: test passes, no regressions, issue resolved 4. If 3+ fixes have failed: stop fixing and question the architecture — this likely isn't a bug, it's a design problem. Is third-party involved? Discuss before continuing. </implementation> <validation_checklist> - Root cause identified with evidence before any fix attempted - Sequence diagram created for concurrent or hard-to-fix issues - Temporary tracing removed after investigation - Fix targets root cause, not symptom - Failing test reproduces the bug - No regressions introduced - Prevention recommendation documented </validation_checklist> <best_practices> - One hypothesis, one change at a time - Check recent changes early in investigation - Use diagnostic logging at component boundaries </best_practices> <pitfalls> - Attempting fixes before tracing the root cause - Stacking multiple fixes without validating each - Each fix reveals a new problem elsewhere — likely a design issue, not a bug </pitfalls> </debugging>
GitHub에서 보기