bug-history-summarizer
SKILL.md
Bug History Summarizer
Trace and summarize the complete lifecycle of a bug across code versions.
Workflow
Follow these steps to generate a comprehensive bug history summary:
1. Identify the Bug and Gather Context
Collect essential information:
- Bug identifier: Issue number, commit hash, or bug description
- Repository: Target codebase with version history
- Version range: Specific versions/commits to analyze (or entire history)
- Related artifacts: Issue reports, pull requests, commit messages, test results
2. Trace Bug Introduction
Identify when and how the bug was introduced:
Using git blame and bisect:
- Run
git blameon affected files to find when problematic lines were added - Use
git bisectto pinpoint the exact commit that introduced the bug - Analyze the introducing commit: author, date, purpose, related changes
Analyze introduction context:
- What was the original intent of the change?
- Was it a new feature, refactoring, or bug fix?
- Were there code review comments or warnings?
- What tests existed at the time?
3. Track Detection History
Document when and how the bug was discovered:
- Initial detection: When was the bug first reported or noticed?
- Detection method: User report, automated test, code review, production incident?
- Time to detection: How long between introduction and discovery?
- Severity assessment: How was the bug initially classified?
4. Analyze Fix Attempts
Chronicle all attempts to fix the bug:
For each fix attempt:
- Commit hash and date
- Author and reviewer
- Fix approach and code changes
- Test coverage added
- Whether the fix was successful or reverted
Identify patterns:
- Multiple fix attempts indicate complexity
- Reverted fixes suggest incomplete understanding
- Test additions show learning from the bug
5. Check for Regressions
Identify if the bug reappeared after being fixed:
- Search for related bug reports after the fix
- Check if the fix was reverted or modified
- Look for similar bugs in related code
- Analyze if the bug reoccurred in different contexts
6. Generate Summary Report
Create a structured timeline and analysis:
Timeline format:
## Bug History: [Bug Title/ID]
### Introduction
- **When**: [Date/Commit]
- **Where**: [File:Line]
- **How**: [Description of introducing change]
- **Context**: [Why the change was made]
### Detection
- **Discovered**: [Date]
- **Method**: [How it was found]
- **Time to Detection**: [Duration]
- **Initial Impact**: [Severity/Scope]
### Fix Attempts
1. **Attempt 1** ([Date/Commit])
- Approach: [Description]
- Outcome: [Success/Failure/Partial]
- Tests Added: [Yes/No]
2. **Attempt 2** ([Date/Commit])
- ...
### Regressions
- **Regression 1** ([Date])
- Cause: [Why it reappeared]
- Fix: [How it was resolved]
### Current Status
- [Fixed/Open/Recurring]
- Last modified: [Date]
### Lessons Learned
- [Key insights from the bug's history]
Example
Input:
- Repository:
myapp - Bug: "Null pointer exception in user login"
- Issue: #456
Analysis Process:
- Git blame shows the problematic code was added in commit
abc123on 2024-01-15 - Commit analysis reveals it was part of a refactoring to improve performance
- Issue tracker shows bug reported on 2024-02-20 (36 days after introduction)
- Fix attempts:
- First fix (commit
def456, 2024-02-21): Added null check, but incomplete - Second fix (commit
ghi789, 2024-02-25): Comprehensive fix with tests
- First fix (commit
- Regression check: No regressions found
Generated Summary:
## Bug History: Null Pointer Exception in User Login (#456)
### Introduction
- **When**: 2024-01-15 (commit abc123)
- **Where**: src/auth/LoginHandler.java:45
- **How**: Refactoring removed null check during performance optimization
- **Context**: Part of PR #234 to reduce login latency
### Detection
- **Discovered**: 2024-02-20
- **Method**: Production incident report
- **Time to Detection**: 36 days
- **Initial Impact**: High severity - blocking user logins
### Fix Attempts
1. **Attempt 1** (2024-02-21, commit def456)
- Approach: Added null check for user object
- Outcome: Partial - fixed main case but missed edge case
- Tests Added: Yes (1 unit test)
2. **Attempt 2** (2024-02-25, commit ghi789)
- Approach: Comprehensive null handling with validation
- Outcome: Success
- Tests Added: Yes (3 unit tests + 1 integration test)
### Regressions
- None detected
### Current Status
- Fixed (as of 2024-02-25)
- Last modified: commit ghi789
### Lessons Learned
- Performance optimizations should maintain defensive checks
- Initial fix was too narrow - comprehensive testing revealed edge cases
- Added regression tests to prevent reintroduction
Output Format
Provide:
- Structured timeline in Markdown format
- Key metrics:
- Time to detection
- Number of fix attempts
- Time to resolution
- Regression count
- Visual timeline (optional, using ASCII or Mermaid):
2024-01-15: Bug introduced (commit abc123) | | (36 days) | 2024-02-20: Bug detected (issue #456) | | (1 day) | 2024-02-21: Fix attempt 1 (partial) | | (4 days) | 2024-02-25: Fix attempt 2 (success) - Lessons learned and recommendations
Git Commands Reference
Useful commands for bug history analysis:
# Find when a line was introduced
git blame <file>
# Find the commit that introduced a bug
git bisect start
git bisect bad <bad-commit>
git bisect good <good-commit>
# Search commit messages for bug references
git log --grep="<bug-id>" --oneline
# Show commits that modified a specific file
git log --follow -- <file>
# Show commits in a date range
git log --since="2024-01-01" --until="2024-12-31"
# Find commits by author
git log --author="<name>"
# Show detailed commit information
git show <commit-hash>
Tips for Effective Bug History Analysis
- Start with the fix - Work backwards from the fix commit to understand the bug
- Check related files - Bugs often span multiple files
- Read commit messages - They provide context about intent
- Review pull requests - Comments reveal decision-making
- Check test history - Tests added after bugs show learning
- Look for patterns - Similar bugs may have related causes
- Consider context - Deadlines, team changes, and technical debt affect bug introduction
Weekly Installs
1
Repository
arabelatso/skills-4-seGitHub Stars
47
First Seen
12 days ago
Security Audits
Installed on
amp1
cline1
opencode1
cursor1
kimi-cli1
codex1