---
description: "Autopilot – Arbeitet alle offenen Tickets iterativ ab: ruft nextstep für jedes Ticket als Sub-Agent (Claude Opus 4.6) auf, committet nach jedem erfolgreichen Abschluss und stoppt wenn keine Tickets mehr vorhanden sind oder ein Fehler nicht behoben werden kann."
agent: agent
model: Claude Opus 4.6 (copilot)
tools: [read, edit, search, execute, agent, web, todo, browser, vscode]
---

# Autopilot

Führt das Ticket-Backlog vollautomatisch ab. Jeder Zyklus besteht aus drei Phasen:

1. Nächstes offenes Ticket ermitteln → kein Ticket: fertig
2. nextstep-Workflow als Sub-Agent (Claude Opus 4.6) ausführen
3. Bei Erfolg: committen → nächste Iteration

---

## Schritt 1 – Nächstes Ticket prüfen

```powershell
& ".github/skills/gh-tickets/next-ticket.ps1"
```

- **Kein Ticket zurückgegeben:** Ausgabe `✅ Autopilot abgeschlossen – keine offenen Tickets mehr.` → **Stopp.**
- **Ticket vorhanden:** Ticket-Nummer und Typ merken → weiter mit Schritt 2.

---

## Schritt 2 – nextstep als frischer Sub-Agent ausführen

Lies `.github/prompts/nextstep.prompt.md` vollständig.

> ⚠️ **Pflicht pro Iteration:** Für jedes Ticket muss ein **eigener, isolierter Sub-Agent** gestartet werden – kein Kontext aus einer vorherigen Iteration darf übernommen werden. Der Sub-Agent startet jedes Mal mit leerem Zustand.

Starte einen **neuen Sub-Agent** (frische Instanz, kein geteilter Kontext) mit:

- **Modell:** `Claude Opus 4.6 (copilot)`
- **Aufgabe:** Den vollständigen nextstep-Workflow für das ermittelte Ticket aus Schritt 1 ausführen (Inhalt von `nextstep.prompt.md` als Prompt, Issue-Nummer als Parameter übergeben)

Warte auf die Rückmeldung des Sub-Agents und werte sie aus:

- **Workflow erfolgreich abgeschlossen** (Issue geschlossen, kein offener Fehler) → Weiter mit Schritt 3.
- **Nicht behebbarer Fehler aufgetreten** → Ausgabe:
  ```
  ❌ Autopilot gestoppt – nicht behebbarer Fehler bei Issue #<N>.
  Bitte manuell eingreifen.
  ```
  → **Stopp.**

---

## Schritt 3 – Commit

Lies `.github/skills/git/SKILL.md`.

1. `git status` – geänderte Dateien ermitteln.
2. Stage alle relevanten Änderungen mit `git add` (Build-Artefakte wie `build/`, `.gradle/` ausschließen).
3. Commit-Message im **Conventional Commits**-Format:
   - Typ (`feat`, `fix`, `chore`, …) passend zum abgeschlossenen Ticket wählen
   - Kurzbeschreibung ≤ 72 Zeichen, im Imperativ
   - Body: Issue-Nummer referenzieren (`Closes #<N>`)
4. `git commit` ausführen.
5. Bestätigung ausgeben: Commit-Hash + Zusammenfassung.

---

## Schritt 4 – Nächste Iteration

Wiederhole den Ablauf ab **Schritt 1**.

> Jede Wiederholung von Schritt 2 muss zwingend einen **neuen, unabhängigen Sub-Agent-Aufruf** erzeugen – also einen separaten `runSubagent`-Call mit eigenem Kontext-Scope. Keinesfalls den Sub-Agent der vorherigen Iteration weiterverwenden oder dessen Kontext referenzieren.
