Bereiche (Areas)
Bereiche sind fortlaufende Verantwortlichkeiten ohne Enddatum – Gesundheit, Finanzen, die Karriere. Sie sind keine Projekte und werden nie „fertig“. Ein Bereich, der still geworden ist, ist das, was dieses Skill aufdecken soll: Anders als ein Projekt kündigt nichts an einem Bereich an, dass er vernachlässigt wurde.
Wie Bereiche organisiert sind, wird hier nicht festgelegt. areas.md besitzt das Modell: ob
es überhaupt eine Gruppierungsebene gibt, wie die Gruppen heißen, welches Frontmatter-Feld
die Gruppe speichert und wo eine neue Notiz landet. Dieses Skill enthält den Algorithmus und liest
das Modell – es codiert nie einen Gruppennamen hart oder nimmt an, wie viele es gibt.
Basisschicht
Vor dem Handeln lesen, jeweils als ../../para/<datei>.md relativ zum Basisverzeichnis dieses Skills – diese enthalten die gemeinsamen Regeln, nicht aus dem Gedächtnis wiedergeben:
../../para/paths.md– immer, einschließlich „Sprache“: die Zeichenfolgen unten stammen auslang/<SPRACHE>.md.claude/para/areas.md(Vault-Konfiguration, unterREPO_ROOT) – immer; dieses Skill ist ohne das Modell bedeutungslos../../para/note-format.md– fürcreate; fürreviewunterTASKS = files, „Legacy-Felder“../../para/find-target.md– wennrevieweinen benannten Bereich auflösen muss../../para/confirm.md–createschreibt;reviewschreibt nichts../../para/thresholds.md– fürreview
Unterbefehle
Das erste Wort von $ARGUMENTS wählt den Unterbefehl: create oder review. Leer → beide
anzeigen und fragen.
create <name> – einen Bereich anlegen
- Lies
Templates/Area.mdvon der Festplatte, wortwörtlich. - Entscheide die Gruppe. Einer der Werte, die
GROUPSinareas.mdauflistet, anhand der Beschreibung. Falls es wirklich unklar ist, frage nach – das Gruppierungsfeld ist dasjenige, das bestimmt, wo die Datei landet, daher darf es nicht leer bleiben. BeiGROUPING = noneentfällt dieser Schritt. - Fülle das Frontmatter gemäß der Bereichszeile des Schemas in
note-format.md:title,tags: [area/<slug>]mit dem Slug gemäßnote-format.mdausgefüllt, und das Gruppierungsfeld, falls das Modell eines hat. - Fülle den Textkörper:
- den Abschnitt
common.links– Wikilinks zu verwandten Notizen, sonst den leeren-des Templates. - den Abschnitt
area.current_state– wo diese Verantwortung gerade steht, in den eigenen Worten des Benutzers aus der Beschreibung. Leer, wenn er nichts gesagt hat. - den Abschnitt
area.notes– leer lassen; er füllt sich mit der Zeit.
- den Abschnitt
- Schreibe an den Pfad, den
PLACEMENTinareas.mdangibt, tiefer gehend, wenn die Beschreibung einen Unterordner impliziert. Prüfe zuerst auf eine vault-weite Kollision des Basisdateinamens. - Melde den Pfad und die Gruppe.
Wenn die Beschreibung einen Endzustand und ein Ziel hat, ist es ein Projekt, kein Bereich –
sage das und biete /projects create an.
review – was still geworden ist
Nur-Lesen. Antwortet „welche meiner Verantwortlichkeiten ich nicht anschaue“. Mit einem Argument
nur diesen Bereich überprüfen; ohne jedes Argument jede Gruppe, die GROUPS aufführt – so viele
es auch sind.
-
Durchwandere
Areas/rekursiv. Für jede Notiz: Pfad, das Gruppierungsfeld und mtime (stat -f '%m %N'). UnterTASKS = fileslasse*/Tasks/*aus: das sind Aufgabennotizen, keine Bereichsnotizen (note-format.md„Legacy-Felder“). -
Lies das Frontmatter jeder Notiz und den Abschnitt
area.current_state, wo vorhanden. Lese nicht die vollständigen Textkörper – dies ist ein Durchlauf, keine Zusammenfassung jeder Notiz. -
Berechne pro Gruppe: wie viele Notizen, wann die Gruppe zuletzt bearbeitet wurde, und welche einzelnen Notizen die Bereichs-Staleness-Schwelle in
thresholds.mdüberschritten haben, die bewusst viel lockerer ist als die eines Projekts. -
Melde nur, was tatsächlich zuschlägt:
- eine Gruppe ohne Notizen;
- eine Notiz jenseits dieser Schwelle – sage wie lange, nicht dass es schlecht ist;
- eine Notiz, die
PLACEMENT_CHECKverletzt – ihr Gruppierungsfeld stimmt nicht mit dem Ordner überein, in dem sie sitzt. Überspringe, wenn das ModellPLACEMENT_CHECK = nonesetzt; - eine Bereichsnotiz mit einem ungefüllten
area/-Tag-Slug; - eine Notiz ohne Frontmatter (älter als die Konvention – stelle es fest, migriere es nicht);
- hängende Wikilinks im Abschnitt
common.links; - ein Bereich, der nach Projektarbeit aussieht – ein Ziel mit einem Endzustand. Benenne ihn und biete an, ihn auszugliedern.
-
Gib in
SPRACHEaus gemäßREVIEW_GROUPING, lasse jede Gruppe weg, die nichts zu melden hat, mit den Zeichenfolgenareas.review.*. Die genaue Form der Ausgabe lebt inareas.md– sie hängt vom Modell ab, daher ist sie dort geschrieben, wo das Modell ist. -
Schreibe nichts. Wenn das Review etwas Nennenswertes aufdeckt, sage es und lass den Benutzer entscheiden.
Hinweise
- Stille in einem Bereich ist eine Information, kein Urteil. Melde es sachlich – „seit 74 Tagen unverändert“, niemals „du hast es aufgegeben“.
- Ein Bereich wird selten archiviert; fortlaufende Verantwortlichkeiten enden nicht. Wenn gebeten
wird, einen zu archivieren, bedeutet das meist, dass die Notiz veraltet ist, nicht die
Verantwortung – siehe
/archive. - Alles in
SPRACHE.