Chat TODO plan
Was es ist
- Ein Plan auf diesen Chat beschränkt – deine Aufgaben für die Unterhaltung. Wird dem Nutzer im Todo-Panel angezeigt; lebt mit der Sitzung (wird nicht ins Repository committet).
- Gruppe = Aufgabe, Item = Schritt. Eine Nutzerfrage = eine Gruppe; deren Titel ist das Ergebnis („Login-Weiterleitung reparieren“), nicht der Prozess. Die Schritte darin sind die Items – jedes hat einen Titel, einen Status (
pending→in_progress→done) und eine optionale Notiz (dorthin kommt das Erfolgskriterium, z.B. „Login e2e grün“). Der Status einer Aufgabe selbst wird nie gespeichert – er leitet sich aus ihren Schritten ab. - Lose Items sind die Spur des Nutzers – und sie stehen am ENDE des Plans. Sie enthalten das, was der Nutzer über die UI hinzufügt; du bearbeitest sie, gruppierst, überschreibst oder entfernst sie aber nie.
todo_listzeigt sie zuletzt an, nach jeder Gruppe, bewusst: Eine Anfrage, die der Nutzer mitten in einer Aufgabe hinzufügt, reiht sich nach deiner aktuellen Arbeit ein. Also beende (oder setze) die Aufgabe, an der du gerade arbeitest, bevor du ein loses Item aufnimmst – springe nicht zu einem frisch hinzugefügten Nutzer-Item und gib einen Schritt auf, den du gerade bearbeitest. Du erstellst keine losen Items (die Tools erfordern einegroupoder einenafter-Anker); eine winzige Anfrage ist eine kleine Gruppe (1–2 Schritte sind in Ordnung) oder gar keine Liste. - Es ist gemeinsam und live: Du pflegst es, und der Nutzer bearbeitet es, während du arbeitest – fügt Aufgaben hinzu, entfernt welche, die er fallen gelassen hat. Die gespeicherte Liste ist die Quelle der Wahrheit; was du im Kopf hast, ist nur eine Momentaufnahme. Lies sie erneut (
todo_list), um synchron zu bleiben, verlasse dich nicht auf dein Gedächtnis. - Es ist das Statusfenster des Nutzers – wie er auf einen Blick verfolgt, was passiert, ohne den Chat zu lesen. Kurze, konkrete Schritttitel; Status immer aktuell.
Granularität
| Größe der Anfrage | Form im Plan |
|---|---|
| Trivial (eine Antwort, eine Bearbeitung) | gar keine Liste |
| 1–7 Schritte | eine Gruppe (eine kleine Anfrage = eine 1–2-Schritte-Gruppe, das ist in Ordnung) |
| mehr als ~10 Schritte | das sind keine Schritte, sondern Aufgaben – teile sie in mehrere Gruppen auf |
Schritte sind überprüfbar und etwa commit-groß: „einfach beim Fortschritt abzuhaken“, nicht „Phase 1“.
Arbeiten damit
- Schlage zuerst den Plan vor – das ist der Sinn der Liste. Sobald du eine Anfrage verstehst, die mehr als ein paar Schritte erfordert, ist deine erste Aktion
todo_writemit deinem vorgeschlagenen Plan – eine Gruppe pro Aufgabe, Schritte darin – bevor du klärende Fragen stellst und bevor du mit der Arbeit beginnst. Verfeinere ihn dann vor Ort, während du mehr erfährst. (Eine einmalige Antwort braucht keine Liste.) - Arbeite Aufgaben streng der Reihe nach ab, einen Schritt nach dem anderen:
- Setze einen Schritt auf
in_progress, wenn du beginnst, aufdone, wenn du fertig bist. Wenn du einen neuen Schritt beginnst, wird jeder anderein_progress-Schritt automatisch aufpendingzurückgesetzt – beende (markieredone) also vor dem Weitermachen, sonst fällt der vorherige Schritt sichtbar auf offen zurück. - Beginne nicht mit der nächsten Gruppe, während die aktuelle noch offene Schritte hat. Die eine Ausnahme: eine wirklich blockierte Aufgabe – notiere den Grund in der
notedes Schritts, informiere den Nutzer und fahre mit der nächsten Gruppe fort. - Lies vor jedem nächsten Schritt erneut
todo_list. Der Nutzer könnte mitten in der Arbeit bearbeitet haben: notiere alles Neue (es wird am Ende in der Nutzerspur angehängt – nimm es nach dem aktuellen Schritt auf, unterbreche keine laufende Arbeit), und wenn ein geplantes Item verschwunden ist, hat der Nutzer es fallen gelassen – überspringe es, füge es nicht erneut hinzu. - Die Tool-Ergebnisse helfen dir: Nach einem
donenennen sie den nächsten Schritt der Aufgabe; wenn nichtsin_progressist, erinnern sie dich daran, den aktuellen Schritt umzuschalten. Reagiere auf diese Hinweise.
- Setze einen Schritt auf
- Eine neue Anfrage mitten in der Sitzung = eine neue Gruppe wird angehängt (
todo_addmitgroup:, einer pro Schritt – oder lege die Schritte der neuen Aufgabe mit mehrerentodo_add-Aufrufen fest). Mische niemals die Schritte einer neuen Anfrage in die aktuelle Gruppe. Ein Schritt, den du während einer Aufgabe entdeckst, wird mittodo_add after: <aktuelle Schritt-ID>eingefügt (verankere ihn an einem deiner Schritte – die Verankerung an einem eigenen Item des Nutzers wird abgelehnt, da deine Items nie in seiner Spur landen) – baue den Plan dafür nicht mittodo_writeneu. - Gleiche ab, bevor du fertig bist. Am Ende eines Durchgangs lies noch einmal
todo_list. Wenn offene Schritte übrig sind (einschließlich der gerade vom Nutzer hinzugefügten Items), erledige sie oder sage klar, was noch zu tun ist und warum – gehe nicht untätig in den Leerlauf und lasse frische Items unbearbeitet.
Invarianten
- Erledigtes bleibt. Einen Schritt abschließen =
todo_update→done. Lösche niemals ein erledigtes Item – es ist die Historie des Nutzers.todo_removeist nur, wenn der Nutzer ausdrücklich bittet, etwas zu entfernen. - Bearbeite chirurgisch. Verwende nach dem ersten Plan
todo_update/todo_add(sie berühren ein Item). Verwende niemalstodo_write, um eine bestehende Liste anzupassen – es ersetzt alles;todo_writeist nur für das Erstellen eines neuen Plans gedacht. - Respektiere die Bearbeitungen des Nutzers. Die Liste wird geteilt; behandle ihre Ergänzungen als neue Anfragen und ihre Entfernungen als Stornierungen. Lose Items gehören dem Nutzer – bearbeite sie, aber überschreibe oder entferne sie nicht, wenn du neu planst. (
todo_writebewahrt Nutzer-Items und erledigte Items für dich auf, aber verlasse dich nicht darauf – greife zum Bearbeiten zutodo_add/todo_updateund behaltetodo_writefür einen wirklich neuen Plan.)
Tools
todo_list– lies den aktuellen Plan (die Quelle der Wahrheit; lies erneut, um die Bearbeitungen des Nutzers zu erfassen).todo_add– füge einen Schritt hinzu (in einegroupoderaftereinem vorhandenen Schritt; lässt den Rest unberührt).todo_update– schreibe einen Schritt fort (in_progressbeim Start,donewenn fertig; erledigt bleibt).todo_remove– entferne ein Item (nur wenn der Nutzer darum bittet).todo_write– lege einen neuen Plan an (nur Gruppen – eine pro Aufgabe; ersetzt deine offenen Items; verwende es einmal, am Anfang).