Skill: Workflow - General Debugging
Workflow for general debugging tasks in a pristine branch or project work, without the overhead of issue tracking. Use this skill when investigating crashes, hangs, or unexpected behavior where no specific issue ID is provided.
Principles
- Lightweight & Focused: Focus on the immediate problem without the
overhead of issue tracking conventions (e.g.,
regress-<id>naming,Bug:tags) unless requested. - Efficient Investigation: Prioritize quick root cause analysis using GDB and targeted code reading over exhaustive documentation.
- Pristine Branch Work: Assume you are working on a clean branch or ongoing project work where changes are local.
- Architectural Skepticism: Always question your fix. Ensure it addresses the root cause and not just a symptom.
Workflow
1. Problem Triage
- Reproduce the issue if possible.
- Analyze the symptom (crash, hang, incorrect output).
- If a repro script is available, do not modify it directly. Create a scratch copy for investigation.
2. Static & Dynamic Analysis
- Use
code_searchorgrep_searchto locate relevant code based on stack traces or symptoms. - Use GDB (
gdb-mcp) to inspect runtime state, set breakpoints, and trace execution. - Focus on understanding the immediate failure context before expanding the scope.
3. Propose Fix
- Develop a minimal fix targeting the root cause.
- Follow V8 Best Practices.
- Architectural Skepticism: Argue against your own proposal. Does it disable optimizations? Does it violate invariants?
4. Verify
- Create a Regression Test: Design and implement a clean, semantic regression test. Verify it fails on the unfixed code and passes cleanly on the fixed code.
- Verify the fix against the repro or by running relevant unit tests.
- Ensure no new failures are introduced in related areas.
5. Finalization
- Format the code using
git cl format. - Present the Fix & Test: Present both the fix diff and the accompanying working regression test to the user/main agent.
- Do not create commits or upload CLs unless explicitly requested.