Communitygithub.com

Chat-TODO-Plan

Verwaltet Aufgaben direkt im Chat – als Live-Plan, den du und der Nutzer gemeinsam bearbeiten.

Was ist Chat-TODO-Plan?

Das Chat-TODO-Plan-Skill ist ein leichtgewichtiges, sitzungsgebundenes Aufgabensystem, das speziell für KI-Assistenten wie Claude Code, Cursor oder Codex entwickelt wurde. Es ersetzt kein Repository-weites Issue-Tracking, sondern hält den aktuellen Chat organisiert: Der Assistent erstellt beim Verstehen einer mehrschrittigen Anfrage sofort einen Plan mit Gruppen (Aufgaben) und Schritten (Items), markiert den Fortschritt und liest regelmäßig die aktuelle Liste neu, um Nutzeränderungen zu erkennen. Der Plan lebt nur in der aktuellen Sitzung, wird im Todo-Panel angezeigt und nie in das Repository committet. Dadurch bleibt der Nutzer stets auf dem Laufenden, ohne den Chatverlauf durchsuchen zu müssen. Unterstützt wird dies durch fünf spezielle Tools (todo_list, todo_add, todo_update, todo_remove, todo_write), die eine präzise, schrittweise Bearbeitung ermöglichen, ohne dass der Assistent den gesamten Plan neu schreiben muss.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add JetBrains/thinkrail

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

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_list zeigt 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 eine group oder einen after-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 AnfrageForm im Plan
Trivial (eine Antwort, eine Bearbeitung)gar keine Liste
1–7 Schritteeine Gruppe (eine kleine Anfrage = eine 1–2-Schritte-Gruppe, das ist in Ordnung)
mehr als ~10 Schrittedas 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

  1. 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_write mit 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.)
  2. Arbeite Aufgaben streng der Reihe nach ab, einen Schritt nach dem anderen:
    • Setze einen Schritt auf in_progress, wenn du beginnst, auf done, wenn du fertig bist. Wenn du einen neuen Schritt beginnst, wird jeder andere in_progress-Schritt automatisch auf pending zurückgesetzt – beende (markiere done) 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 note des 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 done nennen sie den nächsten Schritt der Aufgabe; wenn nichts in_progress ist, erinnern sie dich daran, den aktuellen Schritt umzuschalten. Reagiere auf diese Hinweise.
  3. Eine neue Anfrage mitten in der Sitzung = eine neue Gruppe wird angehängt (todo_add mit group:, einer pro Schritt – oder lege die Schritte der neuen Aufgabe mit mehreren todo_add-Aufrufen fest). Mische niemals die Schritte einer neuen Anfrage in die aktuelle Gruppe. Ein Schritt, den du während einer Aufgabe entdeckst, wird mit todo_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 mit todo_write neu.
  4. 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_remove ist 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 niemals todo_write, um eine bestehende Liste anzupassen – es ersetzt alles; todo_write ist 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_write bewahrt Nutzer-Items und erledigte Items für dich auf, aber verlasse dich nicht darauf – greife zum Bearbeiten zu todo_add/todo_update und behalte todo_write fü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 eine group oder after einem vorhandenen Schritt; lässt den Rest unberührt).
  • todo_update – schreibe einen Schritt fort (in_progress beim Start, done wenn 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).

Verwandte Skills