agentsclimarketplace

Dev debugging strategies

Skill ai-enhanced-engineer/aiee-skills/skills/dev-debugging-strategies

Systematic production debugging patterns including hypothesis-driven investigation, temporal regression analysis, and environment-first triage. Use when diagnosing production failures, investigating regressions, or debugging issues without an obvious root cause. Call for recently broken features, hypothesis enumeration, or root cause analysis.From its SKILL.md

Install
npx -y skills add ai-enhanced-engineer/aiee-skills --skill dev-debugging-strategies

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 3 stars3 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

5.4 KB, as published. Nobody here has run it

Production Debugging Strategies

Systematic patterns for investigating production failures, validated by diagnosing a React Native ML inference failure across 9 competing hypotheses (Feb 2026).

Hypothesis-Driven Framework

For production failures without an obvious cause, structure investigation as numbered hypotheses:

H1: <Short name>
  Confidence: High / Medium / Low
  Category: Environment / Code / Data / Infrastructure
  Failure Mechanism: step-by-step description of how this causes the symptom
  Predicted Symptom: what the user would experience
  Diagnostic Test: cheapest test to confirm/deny (curl, log check, version check)
  Remediation: fix if confirmed

Enumerate all hypotheses first, then rank by diagnostic cost — premature commitment to one hypothesis creates confirmation bias, causing contradicting evidence to be rationalized away.

Temporal Analysis Filter

First question for any regression: "When did this last work?"

Split hypotheses into regression candidates (recent change could explain it) and static bugs (would have been broken from day one) — test regression candidates first. This single question eliminated 4 of 9 hypotheses in one session.

Environment Before Code

For "recently broken" features, check infrastructure before reading application code:

CheckCostWhat It Rules Out
curl -sL "URL" | head -302 minDead external dependency, wrong URL
Check OS/runtime version compatibility5 minPlatform-breaking update
Verify CDN / auth tokens unexpired5 minInfrastructure regression
Check dependency version matrix10 minPackage incompatibility after upgrade
Read application code30+ minUse only after environment checks pass

Recurring environment traps (jsdom Node 22, PHP display_errors, SQLite/MySQL DDL, Homebrew Python 3.14 ABI, empty CA store) — see reference.md for probes and fallbacks.

CWD-First Diagnostic for Babel/Jest Failures

CWD drift (e.g., cd android && ./gradlew ... leaving shell in a subdirectory) produces identical symptoms to version incompatibilities in Babel/Jest transform errors — check CWD and config resolution before investigating parser/plugin versions. Full probe commands in reference.md.

Deeper Debugging Patterns

  • CI vs Local Divergence — fetch real error with gh run view <id> --log-failed, then check SDK/toolchain version mismatch. See reference.md.
  • Webhook & Wire-Level — root-cause checklist, wire-level JSON inspection, vendor prompt-injection handling. See reference.md.
  • Documentation & Review-Bot Loops — doc-vs-reality drift, review-bot false-positive triage, Playwright visual-verification loop. See reference.md.

Confident False-Negatives (Tool Dialect Traps)

A "0 results" that contradicts a strong prior is a signal to suspect the tool's dialect, not to conclude absence:

  • git grep -E with \s: POSIX ERE has no \s, so the pattern silently matches nothing and reports a false "absent." Use a literal space, a bracket class [[:space:]], or grep -P (PCRE).
  • curl -w format starting with @: a write-out format string beginning with @ is parsed as a filename ("error reading"), not a format — never lead the -w string with @.

Both produce confident false-negatives that derail diagnosis. When a search result contradicts what you're nearly certain is true, re-run with a different tool/dialect before trusting the zero.

Anti-Patterns

Anti-PatternPattern
Reading code before checking environment for regressionscurl/version checks first; static bugs don't suddenly appear
Trusting a git grep -E '\s' "0 results" as proof of absence\s is invalid in POSIX ERE — matches nothing; use [[:space:]] or grep -P
Ranking hypotheses by confidence aloneRank by diagnostic cost; cheap low-confidence tests beat expensive high-confidence ones
Mixing regression hypotheses with always-broken onesApply temporal filter first; eliminates ~40% of hypotheses in one step
Fixing the most likely cause without a diagnostic testDiagnostic confirms before remediation — avoids fixing the wrong thing
Assuming backend involvement without tracing data flowTrace actual data flow first; mobile apps may run entirely on-device

Tool-specific incident anti-patterns (dispatch direction, FK type asymmetry, pre-commit gitignore loop, Pint casing, Edit on single-line files, PHP display_errors) — see reference.md.

See reference.md for: Investigation Audit Pattern (8 steps), Frontend CSS rules, Reviewer Blocker Triage, Tooling Pitfalls, cost tiers, hypothesis examples, Sanctum triage, Playwright FE↔BE drift + backend-less page.route mocking (OPTIONS preflight, run_code_unsafe realm), git branch & merge hygiene + pre-push commit-contents check + fix-forward recovery for omitted-last-fix, CI-flake, Python extra= trap.

Keep looking

Skills are one crate of 627,801. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.