Skip to content
Development
Skill

/debugging

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

From plugin
rosetta
330200 skills24 agents63 commands
Install
$ npx -y skills add griddynamics/rosetta --skill debugging --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/debugging

Context preview

The summary Claude sees to decide when to auto-load this skill.

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

SKILL.md

debugging.SKILL.md
name: debugging
description: "To investigate errors, test failures, and unexpected behavior — root cause before fix."

<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>

Read more
Ships withrosetta

Enforce organizational standards across every AI coding agent

Get the whole plugin