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.
npx skills add https://github.com/ArabelaTso/Skills-4-SE --skill bug-history-summarizer
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 reintroduction
Provide:
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>
Use when implementation is complete, all tests pass, and you need to decide how to integrate the work - guides completion of development work by presenting structured options for merge, PR, or cleanup
Comprehensive GitHub release orchestration with AI swarm coordination for automated versioning, testing, deployment, and rollback management
Migrate test files from `as` type assertions to @total-typescript/shoehorn. Use when user mentions shoehorn, wants to replace `as` in tests, or needs partial test data.
Modern JavaScript/TypeScript development with Bun runtime. Covers package management, bundling, testing, and migration from Node.js. Use when working with Bun, optimizing JS/TS development speed, or migrating from Node.js to Bun.
You are a dependency management expert specializing in safe, incremental upgrades of project dependencies. Plan and execute dependency updates with minimal risk, proper testing, and clear migration pa
Master systematic debugging techniques, profiling tools, and root cause analysis to efficiently track down bugs across any codebase or technology stack. Use when investigating bugs, performance issues, or unexpected behavior.
Opinionated backend development standards for Node.js + Express + TypeScript microservices. Covers layered architecture, BaseController pattern, dependency injection, Prisma repositories, Zod validation, unifiedConfig, Sentry error tracking, async safety, and testing discipline.
Best practices for writing JavaScript/TypeScript tests using Jest, including mocking strategies, test structure, and common patterns.
Take arabelatso/bug-history-summarizer from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.