CommunityCoding & Developmentgithub.com

mdesoeuv/claude_skills

Systematic root-cause debugging. Use whenever something is broken, failing, flaky, slow, or "weird" — error messages, stack traces, failing CI, 5xx in production, a Lambda timing out, a Terraform apply erroring, a pod in CrashLoopBackOff. Use it before proposing any fix so the fix targets the cause, not the symptom.

What is claude_skills?

claude_skills is a Claude Code agent skill that systematic root-cause debugging. Use whenever something is broken, failing, flaky, slow, or "weird" — error messages, stack traces, failing CI, 5xx in production, a Lambda timing out, a Terraform apply erroring, a pod in CrashLoopBackOff. Use it before proposing any fix so the fix targets the cause, not the symptom.

Works with✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/mdesoeuv/claude_skills/tree/HEAD/skills/debug

Installed? Explore more Coding & Development skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Ask in your favorite AI

Open a new chat with this agent skill pre-loaded.

Documentation

Debug

The expensive mistake is fixing the first plausible cause. Spend the first minutes narrowing, not patching.

Method

  1. Capture the exact failure. Full error text, stack trace, exit code, timestamps, request IDs, the command that was run. Put it in a code block. Paraphrased errors lose the one token that matters.
  2. Reproduce it. Find the smallest, fastest way to trigger it on demand. If you cannot reproduce, say so and work from logs; do not guess silently.
  3. Establish what changed. git log --since, recent deploys, dependency bumps, config or IAM changes, provider upgrades, a certificate expiring. Most incidents are a change.
  4. Form two or three hypotheses and rank them by likelihood and by how cheap they are to check. Write them down before testing.
  5. Test one hypothesis at a time with a change that would only matter if that hypothesis is true. Revert what did not help; do not accumulate speculative edits.
  6. Fix the cause. Then write a regression test that fails without the fix (see the tdd skill).
  7. Verify in the same way you reproduced it, and run the wider suite.

Where to look, by symptom

SymptomFirst checks
Works locally, fails in CIenv vars, secrets, OS/arch, node/python version, cached deps, timezone, working directory
Intermittent / flakyshared state between tests, time, ordering, network, retries hiding real failures
AWS AccessDeniedwhich principal (aws sts get-caller-identity), resource policy vs identity policy, SCPs, permission boundary, KMS key policy, region
Lambda timeout / cold startVPC attachment, DNS, init outside handler, memory size, downstream latency in X-Ray
Terraform errorprovider version, state drift (terraform plan -refresh-only), -target leftovers, lock file
Kubernetes pod not readykubectl describe pod, events, probes, resource limits, image pull, secret/configmap mounts
5xx after deploycompare previous image/commit, health check path, env/config diffs, DB migration order

Rules

  • Read the logs before reading the code. Logs tell you where; code tells you why.
  • Add temporary logging if needed, and remove it before committing.
  • Never "fix" by widening permissions, disabling TLS verification, catching and swallowing exceptions, or adding retries without understanding what is being retried.
  • When you fix it, write down in one paragraph: cause, why it was not caught, what prevents it next time. That paragraph goes in the PR or the commit body.

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

Related Skills