bisect

Automate git bisect to isolate the first regression-introducing commit.

9|Updated Mar 22, 2026
One-click install
npx skills add https://github.com/paultyng/skill-issue --skill bisect-paultyng
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: bisect
Source: https://github.com/paultyng/skill-issue/tree/main/skills/bisect
Command: npx skills add https://github.com/paultyng/skill-issue --skill bisect-paultyng

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Manually searching through hundreds of commits to find the one that introduced a bug is extremely time-consuming and prone to error, especially for regressions with unclear root causes or large commit ranges.

Core Features & Use Cases

  • Automated Git Bisect Workflow: Drives git bisect run with a user-provided reproducer command to automatically narrow down the first bad commit without manual step-by-step checking.
  • Edge Case Handling: Safely manages flaky reproducers, commits marked with [skip-bisect], uncommitted working tree changes via auto-stashing, and compile/setup failures on old commits.
  • Use Case: If your CI pipeline started failing last week and log analysis from other debugging tools can't pinpoint the cause, this skill runs the full bisect process and generates a clear report of the offending commit with its full diff and metadata.

Quick Start

Ask the AI to run a bisect to find the commit that broke your failing user login test, and provide the command that reliably reproduces that test failure as the reproducer.

Frequently Asked Questions about bisect

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I find the exact commit that introduced a regression in my git history?

Git bisect requires a deterministic reproducer command that exits with distinct status codes for good and bad states to automate the regression search. You must provide this reliable reproducer command so the workflow can automatically narrow down the commit range and identify the exact failure point.

What is the best way to run git bisect automatically to find a breaking commit?

The best way to run git bisect automatically is by executing git bisect run with a deterministic reproducer command. This automates the regression isolation process without manual step-by-step checking, safely handling working tree state preservation and flaky reproducers to produce a clear report of the offending commit.

How does git bisect handle uncommitted working tree changes during regression testing?

During regression testing, the automated git bisect workflow handles uncommitted working tree changes via auto-stashing. This safely preserves your working tree state before checking out historical commits, ensuring the bisect process runs cleanly without losing your local modifications.

Can I skip certain commits when isolating a regression with git bisect?

Yes, you can skip certain commits when isolating a regression by marking them with skip-bisect commit markers. The automated workflow recognizes these markers and handles compile or setup failures on old commits, allowing the bisect process to continue past problematic points in the project history.

What should I do if my reproducer command is flaky during a git bisect run?

If your reproducer command is flaky during a git bisect run, the automated workflow applies flaky reproducer mitigation to handle inconsistent test results. This ensures the regression isolation process remains accurate and can still pinpoint the exact commit that introduced the failure despite intermittent behavior.

When should I use automated git bisect instead of manual log analysis for root cause analysis?

You should use automated git bisect for root cause analysis when log analysis from related debugging tools has failed to identify the cause, or when manually searching through hundreds of commits is too time-consuming. It efficiently traces a previously passing behavior that is now failing back to a specific commit in your project history.