szz-bug-introducing-commit-identifier
Identifies bug-introducing commits using SZZ-style analysis based on bug-fixing commits, commit history, and code blame information. Use this skill when you need to trace bugs back to their origin, identify which commits introduced bugs, analyze bug-fix commits to find root causes, perform software repository mining for bug analysis, or conduct empirical studies on software defects. Triggers when users ask to find bug-introducing commits, identify when a bug was introduced, trace bug origins, perform SZZ analysis, or analyze bug-fixing commits.
npx skills add majiayu000/claude-skill-registry --skill szz-bug-identifier --agent claude-code
Same command for any agent — swap --agent for codex, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
# SZZ Bug-Introducing Commit Identifier ## Overview This skill performs SZZ (Śliwerski-Zimmermann-Zeller) algorithm analysis to identify bug-introducing commits in git repositories. Given a bug-fixing commit, it traces modified lines back through version history using git blame to find candidate commits that originally introduced the buggy code. ## Workflow ### 1. Identify the Bug-Fixing Commit Start by identifying the commit that fixes the bug. This can be obtained from: - Commit hash provided by the user - Issue tracker references (e.g., "fixes #123") - Commit message analysis (e.g., "fix:", "bug:") - Manual identification by the user ### 2. Run the SZZ Analysis Use the provided script to perform the analysis: ```bash python scripts/szz_analyzer.py <fix-commit-hash> ``` **Options:** - `--repo <path>`: Specify repository path (default: current directory) - `--json`: Output results in JSON format for programmatic processing - `--top <n>`: Number of top candidates to show (default: 10) **Example:** ```bash python scripts/szz_analyzer.py abc123def --repo /path/to/repo --top 5 ``` ### 3. Interpret Results The script outputs a ranked list of candidate bug-introducing commits with: - **
- Overview
- Workflow
- 1. Identify the Bug-Fixing Commit
- 2. Run the SZZ Analysis
- 3. Interpret Results
- 4. Manual Verification
- Understanding Confidence Scores
- False Positive Filtering
- Common Use Cases
- Use Case 1: Bug Root Cause Analysis
- Use Case 2: Developer Accountability
- Use Case 3: Bug Pattern Analysis
- Use Case 4: Empirical Software Engineering Research
- Limitations and Considerations
python scripts/szz_analyzer.py <fix-commit-hash> python scripts/szz_analyzer.py abc123def --repo /path/to/repo --top 5 for commit in $(git log --grep="fix:" --format="%H"); do echo "Analyzing fix: $commit" python scripts/szz_analyzer.py $commit --top 3 done
What does the szz-bug-introducing-commit-identifier skill do?
Identifies bug-introducing commits using SZZ-style analysis based on bug-fixing commits, commit history, and code blame information. Use this skill when you need to trace bugs back to their origin, identify which commits introduced bugs, analyze bug-fix commits to find root causes, perform software repository mining for bug analysis, or conduct empirical studies on software defects. Triggers when users ask to find bug-introducing commits, identify when a bug was introduced, trace bug origins, perform SZZ analysis, or analyze bug-fixing commits.
How do I install it?
Run `npx skills add majiayu000/claude-skill-registry --skill szz-bug-identifier --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From majiayu000/claude-skill-registry, a repository with 534 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.
