AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Debugging

skill-iliaal-whetstone-debugging · by iliaal

>-

No reviews yet
0 installs
37 views
0.0% view→install

Install

$ agentstack add skill-iliaal-whetstone-debugging

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-iliaal-whetstone-debugging)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
2mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Debugging? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Debugging

The Iron Law

Never propose a fix without first identifying the root cause. "Quick fix now, investigate later" is forbidden — it creates harder bugs.

Process

1. Reproduce — make the bug consistent. If intermittent, run N times under stress or simulate poor conditions (slow network, low memory) until it triggers reliably.

2. Investigate — trace backward through the call chain from the symptom. Add diagnostic logging at each component boundary. Compare working vs broken state using a differential table (environment, version, data, timing — what changed?).

3. Hypothesize and test — one change at a time. If a hypothesis is wrong, fully revert before testing the next. Use git bisect to find regressions efficiently.

4. Fix and verify — create a failing test FIRST, then fix. Run the test. Confirm the original reproduction case passes. No completion claims without fresh verification evidence.

Three-Fix Threshold

After 3 failed fix attempts, STOP. The problem is likely architectural, not a surface bug. Step back and question assumptions about how the system works. Read the actual code path end-to-end instead of spot-checking.

Escalation: Competing Hypotheses

When the cause is unclear across multiple components, use Analysis of Competing Hypotheses:

  • Generate hypotheses across failure modes: logic error, data issue, state problem, integration failure, resource exhaustion, environment
  • Investigate each with evidence: Direct (strong), Correlational (medium), Testimonial (weak)
  • Cite evidence with file:line references
  • Rank by confidence. If multiple hypotheses are equally supported, suspect compound causes.

Intermittent Issues

  • Track with correlation IDs across distributed components
  • Race conditions: look for shared mutable state, check-then-act patterns, missing locks
  • Resource exhaustion: monitor memory growth, connection pool depletion, file descriptor leaks
  • Timing-dependent: replace arbitrary sleep() with condition-based polling — wait for the actual state, not a duration

Defense-in-Depth Validation

After fixing, validate at every layer — not just where the bug appeared:

  • Entry: does invalid input get caught?
  • Business logic: does the fix handle edge cases?
  • Environment: does it work across configurations?
  • Instrumentation: add logging to detect recurrence

Bug Triage

When multiple bugs exist, prioritize by:

  • Severity (data loss > crash > wrong output > cosmetic) separately from Priority (blocking release > customer-facing > internal)
  • Reproducibility: always > sometimes > once. "Sometimes" bugs need instrumentation before fixing.
  • Quick wins: if a fix is < 5 minutes and unblocks others, do it first

Common Patterns

  • Null/undefined access — trace where the value was expected to be set, check all code paths
  • Off-by-one — check < vs <=, array length vs last index, loop boundaries
  • Async ordering — missing await, unhandled promise rejection, callback firing before setup completes
  • Type coercion== vs ===, string-to-number conversion, truthy/falsy edge cases
  • Timezone — always store UTC, convert at display. Check DST transitions.

Anti-Patterns

  • Shotgun debugging (random changes without hypothesis) — revert and think instead
  • Multiple simultaneous changes — isolate each change or you can't learn what worked
  • Fixing the symptom not the cause — the same bug will resurface differently
  • Ignoring intermittent failures ("works on my machine") — instrument and reproduce under load instead

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.