Ka-Note/.claude/commands/ka-jf-topic.md

3.2 KiB

allowed-tools description
Read, Write, Bash, AskUserQuestion Ka-Note - Neues Thema zu einem JourFix-Termin hinzufügen

Kontext

  • Heute: !date +%Y-%m-%d
  • Bundle vorhanden: !test -f "$(git rev-parse --show-toplevel)/work/kai-bundle.json" && echo "ja" || echo "NEIN - zuerst download.ps1 ausfuehren"
  • Bundle-Inhalt: !powershell.exe -NoProfile -File "$(git rev-parse --show-toplevel)/ka-note/scripts/show-bundle.ps1" 2>&1

Deine Aufgabe

Lege ein neues Thema (Topic) in einem JourFix-Meeting-Kontext an, optional mit einem ersten Eintrag (Details/Vorbereitung).

Schritt 1 - Prüfung

Falls Bundle NICHT vorhanden: Stoppe, weise auf .\ka-note\scripts\download.ps1 hin. Falls Lock abgelaufen: Warnen und stoppen.

Schritt 2 - Informationen sammeln

Leite aus den ARGUMENTS so viele Infos wie möglich ab (Termin-Name, Titel, Details-Text). Frage den User mit einer einzigen AskUserQuestion-Runde nach fehlenden Infos:

  1. Meeting-Kontext — welcher JourFix-Termin? (Auswahl aus den Contexts vom Typ meeting, ohne daily-log und ohne __journal__-Topics; Default wenn aus ARGUMENTS ableitbar)
  2. Titel des neuen Themas (aus ARGUMENTS wenn vorhanden)
  3. Details-Text (Markdown, optional; Vorbemerkungen, Notizen zur Vorbereitung) Falls aus ARGUMENTS ableitbar: als Default vorbelegen.
  4. Wiedervorlage-Datum (YYYY-MM-DD, optional — leer lassen wenn nicht gewünscht)

Schritt 3 - Bundle modifizieren

Lies <repo-root>/work/kai-bundle.json mit dem Read-Tool (oder via Bash/powershell -File Script wenn zu groß).

Neues Topic erstellen:

{
  "id": "<neu generierte UUID v4>",
  "contextId": "<vollständige Context-ID>",
  "title": "<Titel>",
  "status": "active",
  "snoozeUntil": null,
  "sortOrder": <max(sortOrder aller Topics dieses Contexts) + 10, oder 0 wenn keine>,
  "isNew": false,
  "updatedAt": "<aktueller ISO-Timestamp>",
  "deletedAt": null,
  "version": 1
}

Ersten Eintrag erstellen (nur wenn Details-Text angegeben):

{
  "id": "<neu generierte UUID v4>",
  "topicId": "<Topic-ID von oben>",
  "date": "<heute>",
  "sortOrder": 0,
  "linkedContextId": null,
  "doneAt": null,
  "wiedervorlageDate": "<Wiedervorlage-Datum oder null>",
  "wiedervorlageResolvedAt": null,
  "updatedAt": "<aktueller ISO-Timestamp>",
  "deletedAt": null,
  "version": 1
}

UUIDs generieren mit:

powershell.exe -NoProfile -Command "[guid]::NewGuid().ToString()"

Füge das Topic am Ende von topics ein. Falls Details-Text: Eintrag ans Ende von historyMeta, Text in historyTexts["<entry-id>"].

Schreibe Bundle zurück (Write-Tool, 2-Space-Indent).

Wichtig: Das Bundle ist groß (>25k Tokens). Lies es mit Bash + powershell -File Script, nicht mit dem Read-Tool direkt. Modifiziere und schreibe es ebenfalls per Script.

Schritt 4 - Zusammenfassung

Zeige:

  • Topic-ID + Titel
  • Kontext-Name
  • Details-Text Preview (erste 100 Zeichen, falls vorhanden)
  • Wiedervorlage-Datum (falls gesetzt)

Frage: Jetzt hochladen? (Ja / Nein)

Schritt 5 - Upload (optional)

Falls Ja:

powershell.exe -NoProfile -File "<repo-root>/ka-note/scripts/upload.ps1" -Topics -HistoryEntries

Falls Nein: Hinweis dass Lock noch aktiv ist.