Przejdź do treści
Biblioteka skilli
Programowanie · Analiza

regression-bisecting

/regression-bisecting

Wskazuje commit, który wprowadził niedawny błąd, gdy nie wiadomo, która zmiana go spowodowała.

Repozytorium
agent-powerups ↗
Licencja
Apache-2.0
Ostatnia zmiana repozytorium
27.09.2026

Ocena i bezpieczeństwo

100/ 100Klasa: dobry
Format25 / 25
Frontmatter z nazwą i opisem, poprawna nazwa, opis do 1024 znaków, nazwa zgodna z folderem.
Odkrywalność25 / 25
Opis mówi, kiedy użyć skilla, ma sensowną długość i jest w 3. osobie.
Treść35 / 35
Co najmniej 150 słów i do 500 linii, nagłówki, listy kroków, przykłady albo kod.
Higiena15 / 15
Bez zaślepek typu TODO, bez ścieżek Windows, z licencją.
Ryzykobrak sygnałów w skanie
Pliki w paczce
1
Skrypty
0
Komentarze HTML
0
Adresy URL w SKILL.md
0
Przestarzałość

Brak sygnałów. Repozytorium zmienione 27.09.2026, bez odwołań do wycofanych modeli i API.

Licencja

Apache-2.0, otwarta: można używać i zmieniać, z zachowaniem licencji i informacji o zmianach.

Co robi i kiedy

Wskazuje commit, który wprowadził niedawny błąd, gdy nie wiadomo, która zmiana go spowodowała.

Oryginalny opis (EN)

Use when a bug was recently introduced but you don't know which commit caused it.

Jak działa

  1. Purpose
  2. When to Use
  3. Inputs
  4. Workflow
  5. Output
  6. Verification
  7. Failure Modes
Sekcje z nagłówków SKILL.md, w oryginale · 56 linii, 461 słów
Podgląd SKILL.md
---
name: regression-bisecting
description: Use when a bug was recently introduced but you don't know which commit caused it.
---

## Purpose

When a feature used to work but is now broken, do not guess what broke it. Use binary search through git history to find the exact commit, then read the root cause out of that commit's diff.

## When to Use

- A regression appeared and the offending commit is unknown
- A bug is reported "since some release" with a wide commit range
- A deterministic repro command exists or can be built

## Inputs

- A test command that returns exit code `0` if good and non-zero if bad (e.g., `npm run test:repro` or `node repro.js`)
- A known-good ref and a known-bad ref (typically `HEAD`)

## Workflow

1. **Define the test.** You must have a single command that returns exit code `0` if good, and non-zero if bad. If none exists, build one first (see `minimal-reproduction`).

2. **Find a known good state.** Ask the user or search git history for a commit where you are certain the feature worked (a release tag is a good candidate). Verify it by running the test on it.

3. **Find the known bad state.** Typically `HEAD`.

4. **Bisect automatically:**

   ```bash
   git bisect start <bad> <good>
   git bisect run npm run test:repro    # or: git bisect run node repro.js
   git bisect log                       # record of the search
   git bisect reset                     # always return to the original ref
   ```

   `git bisect run` checks out each midpoint and runs the command until it isolates the first bad commit. Use `git bisect skip` for midpoints that fail to build. For workflows where `bisect run` is not viable, manually check out the midpoint commit, run the test, and narrow the window with `git bisect good` / `git bisect bad`.

5. **Analyze the offending commit.** Once the exact commit is found, use `git show <commit>` to analyze the diff. The root cause is contained entirely within that diff.

## Output

- The first bad commit (hash + subject) and the bisect log
- A root-cause explanation grounded in that commit's diff

## Verification

- [ ] Test command verified deterministic (0/non-zero) before bisecting started
- [ ] Known-good ref actually tested as good, not assumed
- [ ] `git bisect reset` run afterward — repo back on the original ref
- [ ] Root cause explained from the offending diff, not just the commit named

## Failure Modes

- **Flaky test command** — a non-deterministic repro sends the bisect to a random commit; stabilize it first (see `flaky-test-investigation`).
- **Unverified "good" ref** — if the good commit was never tested, the entire search window may be wrong.
- **Forgetting `git bisect reset`** — leaves the repo detached on a bisect commit.
- **Build-broken midpoints** — guess instead of `git bisect skip` and the result is corrupted.

Wersje

W bazie nie ma innych skilli o nazwie regression-bisecting.

Identyczna treść występuje jeszcze w 1 innych folderach na GitHubie. Tu pokazujemy jedną, najlepiej ocenioną kopię.

Migawka bazy z 28.10.2026 · wersja paczki cb4c0ab732d3 (skrót SHA-256 całej paczki)

Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.

Podobne skille

  • 100trace-regression
    Wskazuje commit lub PR, który wprowadził regresję zgłoszoną w dotnet/maui, na podstawie granic wydań, historii źródeł i powiązanych dowodów, w trybie samego raportu.
  • 100bisect
    Znajduje commit, który wprowadził regresję w ClickHouse, metodą bisect z użyciem gotowych binariów mastera z CI.
  • 100git-bisect-ai
    Wspiera git bisect z AI w szukaniu dokładnego commita, który wprowadził błąd lub regresję, automatyzując wyszukiwanie binarne, interpretację wyników testów i wskazanie odpowiedzialnej zmiany.
  • 90git-bisect
    Znajduje dokładny commit, który wprowadził regresję, prowadząc git bisect za pomocą zautomatyzowanego skryptu pass i fail, gdy trzeba wskazać pierwszy zły commit spośród setek.
  • 100git-history-diagnostic
    Lokalizuje, gdzie do kodu weszła regresja, porównując commity i przeszukując historię bisectem, gdy coś działało wcześniej, a teraz jest zepsute.
  • 100nalcos
    Przeszukuje historię Git repozytorium według znaczenia przez CLI nalcos: który commit coś wprowadził, zmienił, usunął lub zepsuł oraz kiedy i dlaczego zmieniono kod.

Uwagi i zgłoszenia

Wiadomość trafi do Bartosza Sokolińskiego. Adres e-mail jest potrzebny tylko do odpowiedzi. Szczegóły w polityce prywatności.