← ClaudeAtlas

git-bisect-time-travelerlisted

Automates regression tracking by orchestrating non-interactive git bisect sessions wrapped around a headless test harness, parses the first-bad-commit SHA, subject and date plus the number of commits examined, and generates a minimal git-apply-compatible revert patch for exactly the files the offending commit touched, with optional dry-run verification.
RMAzrim/opencode-artes · ★ 2 · AI & Automation · score 76
Install: claude install-skill RMAzrim/opencode-artes
# Git Bisect Time Traveler ## 1. System Architecture & Prerequisites - Runtime binary: **Python 3.8 or newer** (stdlib only). - Required external tool: **git** available on `PATH` (`git --version`). Git for Windows / MSYS git is supported because `git bisect run` executes through the bundled `sh`. - Standard library used: `subprocess`, `argparse`, `json`, `re`, `os`, `sys`, `shlex`, `shutil`, `tempfile`, `pathlib`, `dataclasses`, `typing`. - A test command that returns a meaningful exit code (0 = pass, non-zero = fail) is required, e.g. `pytest tests/test_x.py`, `tox -e unit`, or an inline runner. - The workflow relies on the harness being headless: the agent runs it with `GIT_TERMINAL_PROMPT=0` and stdin detached, so no interactive prompt can ever block the bisect loop. - Uncommitted work is auto-stashed (`git stash push -u`) before bisecting and re-applied with `git stash pop` afterwards, so the session is safe on a dirty worktree; set `--no-stash` to refuse dirty repos instead. - State saved to the repository: - `git bisect` state files under `<repo>/.git/BISECT_LOG` and friends (cleaned up by `git bisect reset`). - Optional `hotfix.patch` next to the caller's CWD. - Optional JSON summary file. ## 2. Input/Output Data Contracts ### 2.1 CLI input options (JSON Schema) ```json { "$schema": "http://json-schema.org/draft-07/schema#", "title": "bisect_traveler_cli_options", "type": "object", "properties": { "repo": { "type": "string", "default": "