Agent skill

Git Bisect Assistant

by ArabelaTso in ArabelaTso/Skills-4-SE

Automatically performs git bisect to identify the first bad commit that introduced a bug or failure.

Apache-2.0Auto-check passedTesting & QA

Install Git Bisect Assistant

skills CLI
$ npx skills add ArabelaTso/Skills-4-SE --skill git-bisect-assistant -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install ArabelaTso/Skills-4-SE git-bisect-assistant --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/ArabelaTso/Skills-4-SE.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/git-bisect-assistant .claude/skills/git-bisect-assistant && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
git-bisect-assistant
GitHub stars
253
Token cost
~1.2k tokens
SKILL.md length
464 words
Files
2 (incl. scripts)
Skills in repo
150
Repo updated
First seen
Licence
Apache-2.0

At a glance

Automatically performs git bisect to identify the first bad commit that introduced a bug or failure.

  • Works in 3 steps: Gather Information → Run Bisect → Review Results
  • Debugging regressions
  • SKILL.md covers Quick Start, Workflow, Parameters and Handling Flaky Tests, plus 5 more sections
  • Runs Python scripts from its folder; calls python and npm

What it does

Git Bisect Assistant is an agent skill from ArabelaTso/Skills-4-SE. Automatically performs git bisect to identify the first bad commit that introduced a bug or failure. Use when debugging regressions, tracking down when a test started failing, or identifying which commit broke functionality. Handles flaky tests with retry logic and provides comprehensive reports with bisect logs and confidence levels.

Its SKILL.md is about 1.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including scripts (for example `scripts/git_bisect_runner.py`).

It sits in Testing & QA, covering Failing and flaky tests, Git workflow and Error handling. It works with Git. The repository describes itself as: A curated list of 180+ useful Claude Skills for Software Engineering and resources for customizing AI for SE workflows. The licence is Apache-2.0.

When your agent uses it

  • Debugging regressions
  • Tracking down when a test started failing
  • Identifying which commit broke functionality

Example prompts

  • “/git-bisect-assistant”

Requirements

  • Python 3
  • Node.js

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. Gather Information
  2. Run Bisect
  3. Review Results

What it can do on your machine

Read from SKILL.md and the folder at commit 4f38503. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python
    • npm

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use npm, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Git Bisect Assistant loads about 1.2k tokens when it runs. Until then it costs about 89 tokens; SKILL.md has 464 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~89
When it runs · the whole SKILL.md, loaded when a task matches
~1.2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from ArabelaTso/Skills-4-SE at commit 4f38503, republished under its Apache-2.0 licence (© ArabelaTso). 464 words, ~1,194 tokens.

Download SKILL.mdSave it as .claude/skills/git-bisect-assistant/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
git-bisect-assistant
description
Automatically performs git bisect to identify the first bad commit that introduced a bug or failure. Use when debugging regressions, tracking down when a test started failing, or identifying which commit broke functionality. Handles flaky tests with retry logic and provides comprehensive reports with bisect logs and confidence levels.

Git Bisect Assistant

Automates the git bisect process to efficiently identify the first bad commit responsible for a bug or test failure.

Quick Start

Basic usage pattern:

bash
python scripts/git_bisect_runner.py \
  --good <known-good-commit> \
  --bad <known-bad-commit> \
  --test "<test-command>"

Example:

bash
python scripts/git_bisect_runner.py \
  --good v1.0.0 \
  --bad HEAD \
  --test "pytest tests/test_feature.py::test_specific_case"

Workflow

  1. Gather Information

    • Identify the known good revision (commit, tag, or branch)
    • Identify the known bad revision (defaults to HEAD)
    • Determine the test command that fails on bad commits and passes on good commits
  2. Run Bisect

    • Execute the git_bisect_runner.py script with appropriate parameters
    • The script will automatically test commits and narrow down the culprit
  3. Review Results

    • Examine the identified bad commit
    • Review the bisect log showing all tested commits
    • Check confidence level and assumptions

Parameters

Required
  • --good: Known good revision (commit hash, tag, or branch name)
  • --test: Shell command to test each commit. Exit code 0 = good, non-zero = bad
Optional
  • --bad: Known bad revision (default: HEAD)
  • --repo: Repository path (default: current directory)
  • --retries: Number of test runs per commit for flaky tests (default: 1)
  • --timeout: Test execution timeout in seconds (default: no timeout)

Handling Flaky Tests

For non-deterministic tests, use --retries to run the test multiple times per commit:

bash
python scripts/git_bisect_runner.py \
  --good abc123 \
  --bad HEAD \
  --test "npm test" \
  --retries 3

The script uses majority voting: if a test passes 2 out of 3 times, the commit is marked as good.

Test Command Guidelines

The test command should:

  • Exit with code 0 for good commits (test passes)
  • Exit with non-zero code for bad commits (test fails)
  • Be deterministic or use --retries for flaky tests
  • Complete within reasonable time or use --timeout

Examples:

bash
# Python test
--test "pytest tests/test_auth.py -v"

# Shell script
--test "./scripts/verify_build.sh"

# Compilation check
--test "make && ./bin/app --version"

# Multiple commands
--test "npm install && npm test"

Output Report

The script generates a comprehensive report including:

  • First Bad Commit: Hash and commit message of the culprit
  • Confidence Level: Assessment based on test stability and retry logic
  • Assumptions: Any assumptions made during bisect (retries, timeouts)
  • Tested Commits: Complete list of all commits tested with results
  • Bisect Log: Detailed log of the bisect process
Show full SKILL.md (168 more words)Show less

Common Scenarios

Scenario 1: Test Started Failing

User: "The integration tests started failing sometime in the last 20 commits"

bash
python scripts/git_bisect_runner.py \
  --good HEAD~20 \
  --bad HEAD \
  --test "pytest tests/integration/"
Scenario 2: Feature Broke After Release

User: "Feature X worked in v2.1.0 but is broken now"

bash
python scripts/git_bisect_runner.py \
  --good v2.1.0 \
  --bad HEAD \
  --test "python -c 'import app; assert app.feature_x() == expected'"
Scenario 3: Flaky Test Investigation

User: "A test fails intermittently, need to find when it started"

bash
python scripts/git_bisect_runner.py \
  --good main \
  --bad feature-branch \
  --test "pytest tests/test_flaky.py" \
  --retries 5 \
  --timeout 30

Tips

  • Ensure clean state: Commit or stash changes before running bisect
  • Fast tests: Use focused tests rather than full test suites for faster bisect
  • Build requirements: Include build steps in test command if needed
  • Dependencies: Ensure test command handles dependency installation if needed across commits
  • Timeout wisely: Set timeout slightly longer than expected test duration
  • Retry count: Use 3-5 retries for flaky tests to get reliable results

Troubleshooting

Bisect fails to start: Verify good and bad revisions exist and are valid git references

Test command fails unexpectedly: Test the command manually on a known good/bad commit first

Inconsistent results: Increase --retries or check for environmental factors affecting tests

Timeout too short: Increase --timeout or optimize test command

© ArabelaTso, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file (scripts) in skills/git-bisect-assistant of ArabelaTso/Skills-4-SE.

  • SKILL.md
  • scripts/git_bisect_runner.py

Open the folder on GitHubat commit 4f38503

Compare with similar skills

Git Bisect Assistant next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Git Bisect Assistant compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Git Bisect Assistant this skillArabelaTso/Skills-4-SE253—~1.2kAutomated safety check: PassApache-2.0
Make Git Escrowinternet-court/internet-court-skill6.4k2 repos~922Automated safety check: NotesMIT
TiDB Test Diff Triagepingcap/tidb41k—~498Automated safety check: PassApache-2.0
Git Upstream Syncwado-lang/wado117—~855Automated safety check: PassMIT
SkillhoneTencent/SkillHone1681 repos~3.4kAutomated safety check: PassCustom licence
Flowfile Failure ArchaeologyEdwardvaneechoud/Flowfile373—~7.5kAutomated safety check: PassMIT

Similar skills

  • Make Git Escrow

    internet-court/internet-court-skill

    Create a new git escrow bounty for a test suite. An agent skill from internet-court/internet-court-skill.

    6.4k GitHub starsUsed in 2 repos~922 tokens
    Testing & QAAuto-check: notes
  • Investigates TiDB plan or test-result diffs that the change does not explain, ruling out failpoint setup and merge effects before expected outputs are updated.

    41k GitHub stars~498 tokensUpdated today
    Testing & QAAuto-check passed
  • Git Upstream Sync

    wado-lang/wado

    The only way to merge origin/main into a branch, conflicts or not.

    117 GitHub stars~855 tokensUpdated today
    DevelopmentAuto-check passed
  • Skillhone

    Tencent/SkillHone

    Local Issue, pull-request, and Wiki workbench for agent skills.

    168 GitHub starsUsed in 1 repo~3.4k tokens
    DevelopmentAuto-check passed
  • Flowfile Failure Archaeology

    Edwardvaneechoud/Flowfile

    Chronicles 25+ major incidents in Flowfile's git history (worker/kernel deadlocks and races, reverted or self-reverted branches, Electron/Tauri packaging breakage, codegen correctness bugs, CI…

    373 GitHub stars~7.5k tokensUpdated today
    DevelopmentAuto-check passed
  • Diagnose a Red Run

    different-ai/openwork

    Classifies a failing test, typecheck or CI job before any code changes, by recording the failure and running a clean control to show whether it was already broken.

    24k GitHub stars~779 tokensUpdated today
    Testing & QAAuto-check passed

More from ArabelaTso/Skills-4-SE

All 150 skills in this repo
  • Framework Migration Assistant

    ArabelaTso/Skills-4-SE

    Automatically migrate Python web applications between frameworks (Flask → FastAPI, Django → FastAPI).

    253 GitHub stars~1.9k tokensUpdated 1 mo ago
    Auto-check passed
  • Metamorphic Test Generator

    ArabelaTso/Skills-4-SE

    Generate test cases using metamorphic testing by applying transformations based on metamorphic properties.

    253 GitHub stars~798 tokensUpdated 1 mo ago
    Auto-check passed
  • Reproduction Trace Instrumenter

    ArabelaTso/Skills-4-SE

    Instruments programs to capture execution traces specifically for reproducing reported bugs, enabling consistent replay and diagnosis of failures.

    253 GitHub stars~2.4k tokensUpdated 1 mo ago
    Auto-check passed
  • Spring Mvc To Boot Migrator

    ArabelaTso/Skills-4-SE

    Automatically migrate Spring MVC applications to Spring Boot.

    253 GitHub stars~2.2k tokensUpdated 1 mo ago
    Auto-check passed
  • State Snapshot Instrumenter

    ArabelaTso/Skills-4-SE

    Instrument programs (Python, C/C++, Java) to capture snapshots of key program states at runtime, including variables, memory, and call stacks.

    253 GitHub stars~2.2k tokensUpdated 1 mo ago
    Auto-check passed

Works with

Questions about Git Bisect Assistant

What does Git Bisect Assistant do?

Automatically performs git bisect to identify the first bad commit that introduced a bug or failure. Git Bisect Assistant is an agent skill from ArabelaTso/Skills-4-SE. Automatically performs git bisect to identify the first bad commit that introduced a bug or failure.

When should I use Git Bisect Assistant?

Git Bisect Assistant fits situations like: debugging regressions; tracking down when a test started failing; identifying which commit broke functionality.

How do I install Git Bisect Assistant in Claude Code?

Run `npx skills add ArabelaTso/Skills-4-SE --skill git-bisect-assistant -a claude-code`. Or copy the skill folder (skills/git-bisect-assistant in ArabelaTso/Skills-4-SE) into .claude/skills/git-bisect-assistant in your project. Claude Code loads it when a task matches its description.

How do I install Git Bisect Assistant in Codex?

Run `npx skills add ArabelaTso/Skills-4-SE --skill git-bisect-assistant -a codex`. Or copy the skill folder (skills/git-bisect-assistant in ArabelaTso/Skills-4-SE) into .agents/skills/git-bisect-assistant in your project. Codex loads it when a task matches its description.

Can I use Git Bisect Assistant in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ArabelaTso/Skills-4-SE --skill git-bisect-assistant -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/git-bisect-assistant, .gemini/skills/git-bisect-assistant, .github/skills/git-bisect-assistant and .opencode/skills/git-bisect-assistant in your project.

What does Git Bisect Assistant need to run?

Going by SKILL.md and its folder, Git Bisect Assistant needs Python for the scripts in its folder and the command-line tools its instructions call (python and npm). Our summary lists: Python 3; Node.js.

Does Git Bisect Assistant access the network?

SKILL.md contains no URLs. Its commands use npm, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Git Bisect Assistant safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Git Bisect Assistant use?

Git Bisect Assistant is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Git Bisect Assistant use?

About 1.2k tokens (SKILL.md is roughly 4.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Git Bisect Assistant?

Skills that share tags, products or a category with Git Bisect Assistant: Make Git Escrow (internet-court/internet-court-skill, 6.4k stars), TiDB Test Diff Triage (pingcap/tidb, 41k stars), Git Upstream Sync (wado-lang/wado, 117 stars) and Skillhone (Tencent/SkillHone, 168 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Git Bisect Assistant?

ArabelaTso (a GitHub user) maintains it in ArabelaTso/Skills-4-SE, which has 253 GitHub stars. The repository holds 150 skills in this directory. The repository was last updated on August 21, 2026.

Source: ArabelaTso/Skills-4-SE on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.