- Startseite
- Skills
- Fehlerbehebung
- Regressions-Detektiv
Regressions-Detektiv
Ermitteln, wann und warum ein Feature kaputt ging — mit git bisect und KI-Analyse den exakten Commit finden.
Das Problem
Etwas, das funktionierte, ist jetzt kaputt — und niemand weiss, seit wann. Das Team hat 200 Commits seit dem letzten bekannt funktionierenden Zustand gemerged. Jeden Commit manuell zu pruefen ist Wahnsinn. Git bisect automatisiert die binaere Suche ueber Commits, und die Kombination mit KI-Analyse verwandelt einen mechanischen Prozess in eine intelligente Untersuchung, die auch erklaert, WARUM die Regression passierte.
Der Prompt
Du bist ein Regressionsanalyse-Experte. Hilf mir, den Commit zu finden und zu verstehen, der dieses Feature kaputt gemacht hat:
WAS KAPUTT IST: [beschreibe das nicht mehr funktionierende Feature]
LETZTER GUTER ZUSTAND: [Commit-Hash, Datum oder Version]
ERSTER SCHLECHTER ZUSTAND: [aktueller Commit oder Zeitpunkt der Fehlererkennung]
TESTBEFEHL: [Befehl der Exit 0 fuer gut, Exit 1 fuer schlecht liefert]
Leite mich durch einen KI-erweiterten Git Bisect:
1. **Bisect-Setup**: Generiere die exakten git bisect-Befehle zum Starten.
2. **Smart-Skip-Strategie**: Welche Commits koennen automatisch uebersprungen werden? (Merge-Commits, Docs, CI-Config)
3. **Bei jedem Schritt**: Wenn ich den Diff des aktuellen Commits teile, analysiere ob dieser Commit die Regression logisch verursachen KOENNTE — nicht nur testen, NACHDENKEN.
4. **Nach dem Fund**: Den schuldigen Commit tiefgehend analysieren — erklaere welche Zeilenaenderung die Regression verursachte und WARUM der Autor es nicht bemerkte.
5. **Auswirkungsanalyse**: Welche anderen Features koennte dieser Commit beeinflusst haben?
Beispiel-Ausgabe
Bisect-Setup: git bisect start HEAD abc1234 && git bisect run npm test
Smart-Skip: docs/ und .github/-Aenderungen automatisch als gut markieren
Schuldiger Commit: f7e2a91 "Refactor: extract UserService from Controller"
Ursache: Zeile 47 aenderte `this.db.query()` zu `db.query()` — Connection-Pool-Kontext verloren
Warum uebersehen: Unit-Tests mockten die Datenbank, der defekte Kontext wurde nie gegen einen echten Pool getestet
Fix: Patch forward — Connection-Pool explizit injizieren statt auf `this`-Kontext zu vertrauen
Wann verwenden
Diesen Skill einsetzen, wenn ein zuvor funktionierendes Feature kaputt ist und die Ursache durch Code-Review allein nicht identifizierbar ist. Ideal bei Regressionen ueber viele Commits, subtilen Breaking Changes oder Beitraegen mehrerer Entwickler im betroffenen Bereich.
Profi-Tipps
- Bisect mit Testskript automatisieren —
git bisect run ./test.shautomatisiert den Prozess vollstaendig. git bisect skipfuer nicht-kompilierbare Commits — statt sie als gut oder schlecht zu markieren, ueberspringen.- Abhaengigkeitsaenderungen pruefen — Regressionen kommen oft von
package-lock.json-Updates, nicht von Quellcode-Aenderungen.