Summarizes the complete lifecycle of a bug across code versions, tracking its introduction, detection, fixing attempts, and regression history. Use when users need to: (1) Understand how a bug evolved over time, (2) Trace when and how a bug was introduced, (3) Analyze fix attempts and their effectiveness, (4) Identify regression patterns, (5) Generate bug lifecycle reports for documentation or post-mortems. Takes a repository, bug identifier, and version history as input.
Install with Tessl CLI
npx tessl i github:ArabelaTso/Skills-4-SE --skill bug-history-summarizer90
Does it follow best practices?
If you maintain this skill, you can automatically optimize it using the tessl CLI to improve its score:
npx tessl skill review --optimize ./path/to/skillValidation for skill structure
Trace and summarize the complete lifecycle of a bug across code versions.
Follow these steps to generate a comprehensive bug history summary:
Collect essential information:
Identify when and how the bug was introduced:
Using git blame and bisect:
git blame on affected files to find when problematic lines were addedgit bisect to pinpoint the exact commit that introduced the bugAnalyze introduction context:
Document when and how the bug was discovered:
Chronicle all attempts to fix the bug:
For each fix attempt:
Identify patterns:
Identify if the bug reappeared after being fixed:
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]Input:
myappAnalysis Process:
abc123 on 2024-01-15def456, 2024-02-21): Added null check, but incompleteghi789, 2024-02-25): Comprehensive fix with testsGenerated 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 reintroductionProvide:
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)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>0f00a4f
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.