---
description: Behebt ein einzelnes Gitea-Issue Ende-zu-Ende.
argument-hint: <issue-nummer>
allowed-tools: >
  Bash, Edit, Read, Write, Grep, Glob,
  mcp__gitea__issue_read, mcp__gitea__issue_write,
  mcp__gitea__label_read,
  mcp__gitea__pull_request_write
model: opus
---
Bearbeite Gitea-Issue #$1 im aktuellen Repo. Schritt für Schritt:

**Label-Regeln (wichtig):** Die Gitea-Label-API arbeitet mit numerischen
Label-IDs, nicht mit Namen. Hole daher ZUERST einmalig die Label-Liste über
`label_read` (`method: list_repo_labels`) und merke dir die Zuordnung
Name → ID für die gesamte Bearbeitung. Verwende ausschließlich `add_labels`
(mit `labels: [<id>]`) und `remove_label` (mit `label_id: <id>`).
Niemals `replace_labels` oder `clear_labels` benutzen — das löscht alle
übrigen Labels des Issues (z.B. `prio/*`).

1. Lies Issue #$1 (Titel, Beschreibung, Kommentare) über `issue_read`.
   Notiere die aktuell gesetzten Labels, damit du sie nicht verlierst.
2. Hole die Label-Liste via `label_read`. Setze Label `ai-wip`
   (`add_labels`), entferne `ai-ready` (`remove_label`).
3. Analysiere das Repo und finde die Ursache. Wenn der Scope zu groß/unklar
   ist (siehe CLAUDE.md), brich ab: kommentiere das Issue mit einer kurzen
   Begründung, setze `ai-blocked`, und beende ohne Codeänderung.
4. Implementiere den Fix. Halte den Diff minimal und fokussiert.
5. Führe die Tests aus (`<dein Testkommando>`). Bei Rot: bis zu 2x nachbessern.
   Wenn danach immer noch rot → `ai-blocked`, Issue kommentieren, abbrechen.
6. Commit mit Message: `fix: <kurze Beschreibung> (#$1)`.
7. Push den aktuellen Branch zum Remote.
8. Öffne via `pull_request_write` einen PR gegen `main` (bzw. `develop`).
   Die PR-Beschreibung MUSS `Closes #$1` enthalten.
9. Kommentiere am Issue mit dem PR-Link, setze Label `ai-review`
   (`add_labels`) und entferne `ai-wip` (`remove_label`).

Wenn du in einem Schritt `ai-blocked` setzt, entferne ebenfalls `ai-wip`.
Existiert ein benötigtes Label nicht im Repo, kommentiere das am Issue statt
zu raten — erfinde keine Label-IDs.