git-bisect-time-travelerlisted
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": "