Agent skill · Data & Analytics

semantic-szz-analyzer

Identify bug-introducing commits using semantic analysis that extends traditional SZZ algorithm. Distinguishes semantic changes from refactorings or code movements using control-flow and data-flow similarity analysis. Use when analyzing bug-fix commits to trace back to bug-introducing changes, investigating software evolution, conducting empirical studies on defect prediction, or reducing false positives in bug localization. Supports git repositories and provides explanations for why commits are identified as bug-introducing.

majiayu000github.com/majiayu000GitHub ↗
claude-codeMIT
Install
npx skills add majiayu000/claude-skill-registry --skill semantic-szz-analyzer --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 2
SKILL.md size: 5 KB
Bundled scripts: none
Path: skills/analysis/semantic-szz-analyzer/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 534
Language: HTML

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

From the SKILL.md

# Semantic SZZ Analyzer ## Overview Semantic SZZ Analyzer extends the traditional SZZ (Sliwerski-Zimmermann-Zeller) algorithm by incorporating semantic analysis to identify bug-introducing commits more accurately. It distinguishes actual semantic changes from refactorings or code movements by analyzing control-flow and data-flow similarity across versions. ## Core Capabilities ### 1. Semantic Change Detection Analyze commits to distinguish between: - **Semantic changes**: Modifications that alter program behavior - **Refactorings**: Code restructuring without behavior changes - **Code movements**: Relocations of code blocks without semantic impact Use control-flow graphs (CFG) and data-flow analysis to compute similarity between code versions. ### 2. Bug-Introducing Commit Identification Given a bug-fix commit, trace back through git history to identify the commit that introduced the bug: 1. Extract changed lines from the bug-fix commit 2. Use `git blame` to find commits that last modified those lines 3. Apply semantic analysis to filter out false positives 4. Rank candidates by semantic similarity and temporal proximity ### 3. False Positive Reduction Traditional SZZ produces many

What's inside
Steps it walks through
  1. Overview
  2. Core Capabilities
  3. 1. Semantic Change Detection
  4. 2. Bug-Introducing Commit Identification
  5. 3. False Positive Reduction
  6. Workflow
  7. Step 1: Analyze Bug-Fix Commit
  8. Step 2: Identify Candidate Commits
  9. Step 3: Apply Semantic Analysis
  10. Step 4: Filter and Rank Results
  11. Step 5: Generate Explanation
  12. Usage Examples
  13. Advanced Features
  14. Custom Similarity Thresholds
Ships with 1 file
  • metadata.json
Commands it runs
git blame -L <start>,<end> <file> <bug-fix-commit>^
python scripts/semantic_analyzer.py --repo <repo-path> --candidate <commit-hash> --fix <fix-commit-hash>
python scripts/semantic_szz.py --repo /path/to/repo --fix-commit abc123
python scripts/batch_analyze.py --repo /path/to/repo --fixes-file bug_fixes.txt
python scripts/semantic_szz.py --repo /path/to/repo --fix-commit abc123 --output report.json --explain
python scripts/semantic_szz.py --repo /path/to/repo --issue JIRA-123
More from claude-skill-registry
All skills →
About this skill
What does the semantic-szz-analyzer skill do?

Identify bug-introducing commits using semantic analysis that extends traditional SZZ algorithm. Distinguishes semantic changes from refactorings or code movements using control-flow and data-flow similarity analysis. Use when analyzing bug-fix commits to trace back to bug-introducing changes, investigating software evolution, conducting empirical studies on defect prediction, or reducing false positives in bug localization. Supports git repositories and provides explanations for why commits are identified as bug-introducing.

How do I install it?

Run `npx skills add majiayu000/claude-skill-registry --skill semantic-szz-analyzer --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.

Keep going