Skip to content
Back to skills

Bug Fix 1

ASecurity

Systematic approach to debugging and fixing issues

  • 2 stars
  • 0 votes
  • 0 copies
  • 4 views
  • Added September 27, 2026
developmenttypescriptgobashdebugginggitapi

Works with

  • cli
  • api

Security analysis

A100/100

Scanned September 27, 2026

npx -y skills add David-Li0406/meta-skill-evloving --skill bug-fix-1 --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Bug Fix 1?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Bug Fix 1
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/david-li0406-bug-fix-1/badge)](https://www.skillsdirectory.com/skills/david-li0406-bug-fix-1)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: Bug Fix
description: Systematic approach to debugging and fixing issues
triggers:
  - /bug-fix
  - fix bug
  - debug this
  - find the bug
allowed-tools:
  - Read
  - Write
  - Edit
  - Glob
  - Grep
  - Bash(npm run test*)
  - Bash(pnpm test*)
  - Bash(yarn test*)
  - Bash(git log*)
  - Bash(git blame*)
---

# Bug Fix Skill

A systematic approach to identifying, debugging, and fixing issues.

## Process

### 1. Reproduce the Bug
Before fixing, confirm you can reproduce it:
- What are the exact steps to trigger the bug?
- What is the expected behavior?
- What is the actual behavior?
- Is it consistent or intermittent?

### 2. Gather Information

```bash
# Check recent changes that might have caused it
git log --oneline -20

# Find who last modified relevant code
git blame src/problematic-file.ts

# Search for related code
grep -r "functionName" src/
```

### 3. Isolate the Problem

Narrow down the scope:
- Which file(s) contain the bug?
- Which function or component?
- What conditions trigger it?

**Debugging techniques:**
- Add logging at key points
- Use breakpoints in debugger
- Write a failing test that reproduces the bug
- Binary search through git history (`git bisect`)

### 4. Write a Failing Test

Before fixing, write a test that fails due to the bug:

```typescript
describe('checkout', () => {
  it('should not duplicate items when clicked rapidly', () => {
    // This test should FAIL before the fix
    const cart = new Cart();

    // Simulate rapid clicks
    cart.addItem('product-1');
    cart.addItem('product-1');

    expect(cart.items).toHaveLength(1);
    expect(cart.items[0].quantity).toBe(2);
  });
});
```

### 5. Implement the Fix

- Fix the root cause, not just the symptom
- Keep the fix minimal and focused
- Don't refactor unrelated code

### 6. Verify the Fix

```bash
# Run the specific test
npm run test -- --grep "should not duplicate"

# Run related tests
npm run test -- src/cart/

# Run full test suite
npm run test
```

### 7. Document and Commit

```bash
git add .
git commit -m "$(cat <<'EOF'
fix(cart): prevent duplicate items on rapid clicks

The add-to-cart handler wasn't debounced, allowing multiple
clicks to create duplicate cart entries before the UI updated.

Added 300ms debounce to the click handler.

Fixes #456
EOF
)"
```

## Common Bug Categories

### Race Conditions
- Symptoms: Intermittent failures, timing-dependent
- Fix: Add locks, debounce, or proper async handling

### Null/Undefined Errors
- Symptoms: "Cannot read property of undefined"
- Fix: Add null checks, optional chaining, default values

### Off-by-One Errors
- Symptoms: Array index out of bounds, wrong loop iterations
- Fix: Check boundary conditions, use `.length - 1` carefully

### State Management
- Symptoms: Stale data, unexpected values
- Fix: Ensure proper state updates, check mutation vs immutability

### Memory Leaks
- Symptoms: Growing memory usage, slowdowns over time
- Fix: Clean up subscriptions, event listeners, timers

## Git Bisect (Finding When Bug Was Introduced)

```bash
# Start bisect
git bisect start

# Mark current as bad
git bisect bad

# Mark known good commit
git bisect good abc123

# Git will checkout commits for you to test
# Mark each as good or bad
git bisect good  # or git bisect bad

# When found, git shows the first bad commit
# End bisect
git bisect reset
```

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…