From 8bfa2a7911bbc8a7f1e9e306f70e286969a1c13f Mon Sep 17 00:00:00 2001 From: Gulum Date: Mon, 22 Jun 2026 21:13:51 +0200 Subject: [PATCH] =?UTF-8?q?docs(skill):=20Mehrrunden-R=C3=BCckfragen=20+?= =?UTF-8?q?=20verst=C3=A4ndlicher=20Laien-Changelog?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Mehrrundiger Dialog (Open→NeedsInfo→Answered→…→Resolved): jede weitere Antwort bringt das Ticket wieder in Bearbeitung. Kontext-Träger ist das TICKET (voller Verlauf + Triage-Eintrag), nicht der Subagent (sitzungsgebunden) — ein wiederaufgreifender Agent rekonstruiert denselben Kontext; echte Agent- Fortsetzung nur innerhalb einer Session via SendMessage. Datenmodell: Frage/Antwort als Thread (mehrere Runden), nicht nur ein Paar. - fixNote-Changelog: harte Regel „nur für die Züchterin, kein Technik-Geschwafel" + Gut/Schlecht-Beispiele (Tiernamen statt IDs, keine Datei-/Feldnamen). Co-Authored-By: Claude Opus 4.8 --- .claude/skills/ticket-triage/SKILL.md | 41 ++++++++++++++++++++++++--- 1 file changed, 37 insertions(+), 4 deletions(-) diff --git a/.claude/skills/ticket-triage/SKILL.md b/.claude/skills/ticket-triage/SKILL.md index 84aa9cb..ec7b6c5 100644 --- a/.claude/skills/ticket-triage/SKILL.md +++ b/.claude/skills/ticket-triage/SKILL.md @@ -104,10 +104,20 @@ ab — aber erst **nachdem der Fix verifiziert und (bei Daten-/Import-Fixes) liv eingespielt ist** (Schritt 5), damit „erledigt" auch stimmt: `PUT /feedback/{id}` mit `{"status": "Resolved", "fixNote": ""}`. -Die `fixNote` ist ein **Changelog für die Züchterin**: einfache, freundliche -Sprache, keine Code-/Fachbegriffe, sagt was korrigiert wurde und ggf. was sie tun -soll. Beispiel: „Die Mutter von Yuki wurde auf Izumi korrigiert (vorher fälschlich -Benjiro). Bitte den Stammbaum neu laden." +**Die `fixNote` ist ein Changelog AUSSCHLIESSLICH für die Züchterin (Laiin) — +kein technisches Geschwafel.** Harte Regel: +- Schreib, **was sich für SIE sichtbar geändert hat**, in Alltagssprache; 1–3 Sätze. +- KEINE Dateinamen, Funktionen, Feldnamen, IDs, Status-Codes, „Resolver/Migration/ + Genotyp-Parser/isResident/conflict-decisions" o. Ä. Nenne Tiere/Würfe bei ihrem + **Namen**, nicht per ID. +- Sag ggf., was sie tun soll (z. B. „Seite neu laden"). + +Gut: „Die Mutter von **Yuki** war falsch — sie ist jetzt **Izumi** (vorher stand +da Benjiro). Bitte den Stammbaum neu laden." +Gut: „**Hagrid** wird nicht mehr als dein eigenes Tier geführt, sondern nur noch +als Vorfahre — seine Würfe und der Charakter-Bereich werden nicht mehr angezeigt." +Schlecht (NICHT so): „assign_parent_roles korrigiert, motherId via +conflict-decisions.json gesetzt, re-ingest." / „isResident=false gesetzt." ### Abschluss-Regel (wichtig) **Kein bearbeitetes Ticket bleibt offen liegen.** Jedes `Open`/`Answered`-Ticket @@ -117,6 +127,29 @@ endet nach einem Lauf in genau einem Endzustand: Kann ein Ticket weder gefixt noch sinnvoll erfragt werden, stelle trotzdem eine klärende Rückfrage (NeedsInfo) statt es offen zu lassen. +## Mehrrundige Rückfragen & Kontext-Kontinuität + +Der Dialog kann mehrere Runden haben: `Open → (Rückfrage) NeedsInfo → (Antwort) +Answered → (KI prüft) ggf. neue Rückfrage NeedsInfo → Answered → … → Resolved`. +Jede **weitere Antwort** der Züchterin bringt das Ticket wieder auf `Answered` und +damit erneut in die Bearbeitung (Schritt 1 filtert `Answered` immer mit ein). + +**Kontext-Träger ist das Ticket, nicht der Subagent.** Subagenten sind +sitzungsgebunden — antwortet die Züchterin später (neue Session), existiert der +ursprüngliche Agent nicht mehr. Daher MUSS der gesamte Verlauf am Ticket hängen +(Frage/Antwort je Runde) + der Triage-Eintrag in `docs/ticket-triage.md`. Beim +Wiederaufgreifen eines `Answered`-Tickets lädt der Subagent diesen vollständigen +Verlauf + die frühere Triage und macht **mit demselben Kontext** weiter (statt bei +null neu zu untersuchen) — praktisch „derselbe Vorgang, fortgesetzt". + +**Innerhalb derselben Session** kann man stattdessen denselben Subagenten direkt +fortsetzen (SendMessage an seine Agent-ID, Kontext bleibt erhalten) — nur dann ist +echte Agent-Kontinuität möglich. + +Das Datenmodell unterstützt Mehrrunden über einen **Verlauf/Thread** am Ticket +(mehrere Frage/Antwort-Einträge mit Autor + Zeit), nicht nur ein einzelnes +Frage/Antwort-Paar — so geht bei weiteren Antworten nichts verloren. + ## Verifikation vor „fertig" - Code-Fixes: `npx tsc --noEmit`, `npx vitest run`, betroffene `npx playwright test`, `dotnet build`/`dotnet test`, Python-`test_*.py` — grün.