Files
claude-regelwerk/AI/Regelwerk/navigation.md
T
Pascal MichelandClaude Opus 5 13213ea0ac Automatischer Push: 46 Datei(en) geändert
- .claude/agents/planer.md
- .claude/settings.json
- .claude/workflows/executer-welle.js
- .claude/workflows/plankritik.js
- .claude/workflows/planung.js
- .claude/workflows/quorum.js
- .claude/workflows/verbrauch.js
- .claude/workflows/welle-mit-pruefung.js
- .vault-tools/shell-wache/ENTWURF.md
- .vault-tools/shell-wache/docs/code/shell_wache.md
- .vault-tools/shell-wache/docs/plans/2026-10-30-shell-wache/00-uebersicht.md
- .vault-tools/shell-wache/docs/plans/2026-10-30-shell-wache/task-01-shell-wache.md
- … und 34 weitere

Erzeugt vom PostToolUse-Hook .vault-tools/auto-push/auto_push.py.

Co-Authored-By: Claude Opus 5 <[email protected]>
2026-10-31 03:00:01 +01:00

12 KiB

type, title, status, summary, tags, created, updated
type title status summary tags created updated
resource Navigator-Werkzeuge reference Wie du suchst, wenn die MOCs nicht reichen: Grep, linkcheck, was vom alten Navigator-Toolkit noch gilt, Obsidian-CLI und Obsidian-Skills, Links schreiben und Dateien verschieben.
regelwerk
navigation
werkzeuge
2026-08-30 2026-10-30

Navigator-Werkzeuge

Laden, wenn die MOC-Kaskade aus dem CLAUDE nicht reicht, wenn du Links prüfst oder Obsidian-Werkzeuge nutzen willst. Für die alltägliche Navigation über Wissenslandkarte und Seeds brauchst du diese Datei nicht.

Der Aufruf von Python auf dieser Maschine (python statt python3, PYTHONIOENCODING=utf-8) steht in AI/Regelwerk/windows-shell.

Suchen, wenn die MOCs nicht reichen

Gezielt mit Grep suchen, auf den Themenordner eingegrenzt, wenn du ihn kennst. Das ist schneller und aktueller als jeder Index. Gemessen am 2026-09-13 über 61 Sitzungen: Die Wissenslandkarte wurde in 7 geöffnet, gelesen wird fast alles per Grep und Bash.

Zwei Grenzen der Suche:

  • Pfade in Backticks sind keine Links. Grep findet sie, Backlinks und Linkcheck sehen sie nicht.
  • Inline-Tags wie #review findest du mit rg -P '(^|\s)#review(?![-\w])'. Ein einfaches \b am Ende trifft auch #review-done. Das Frontmatter-Feld tags allein reicht nicht, im IT Workspace stehen die meisten Tags im Text.
PYTHONIOENCODING=utf-8 python .vault-tools/linkcheck/linkcheck.py --vault .
python .vault-tools/linkcheck/faelle.py

Der erste Befehl meldet die echten toten Wikilinks, weil er Codeblöcke ausnimmt. Der zweite fährt die Angriffsfälle gegen die Codeblock-Erkennung. Entwurf, Herkunft je Regel und benannte Lücken: .vault-tools/linkcheck/ENTWURF-codeblock-erkennung.md.

Waisen: waisen.py

Eine Waise ist eine Notiz ohne Kante im Graphen, weder eingehend noch ausgehend. waisen.py zählt sie so, wie Obsidian den Graphen baut, und zieht die Muster aus waisen-ausnahmen.txt ab.

PYTHONIOENCODING=utf-8 python .vault-tools/linkcheck/waisen.py --vault . --liste
python .vault-tools/linkcheck/faelle_waisen.py
  • Der Sitzungsstart zeigt dieselbe Zahl als Zeile „Waisen außerhalb der Ausnahmen“. Steigt sie, hat eine neue Datei ihren Hub nicht verlinkt (Regel unten unter „Links schreiben und Dateien verschieben“).
  • In waisen-ausnahmen.txt stehen nur allgemeine Muster, keine Kunden- oder Projektnamen, weil .vault-tools/ veröffentlicht wird.
  • Entwurf, Herkunft je Regel und benannte Lücken: .vault-tools/linkcheck/ENTWURF-waisen.md. Ein Fangnetz, kein Nachweis: Wie der Graph aussieht, zeigt nur Obsidian.

Sitzungs-Hooks

Unter .vault-tools/session-hooks/ liegen zwei Hooks, eingetragen in .claude/settings.json:

  • sitzungsstart.py (SessionStart) gibt beim Start nur Zahlen in den Kontext: ob die Tagesnotiz existiert, offene Inbox-Notizen, Notizen mit #needs-review, #review ohne #review-done, Regelwerk-Dateien auf pending-review und die Sitzungsdateien von heute, damit eine Namenskollision auffällt. Dazu kommt die Zahl der Waisen außerhalb der Ausnahmen aus waisen.py, nur die Zahl, keine Liste.
  • regelwerk_nach_edit.py (PostToolUse) startet regelwerk_check.py nach jedem Edit oder Write an CLAUDE.md, AI/Regelwerk/, .claude/agents/ oder .claude/skills/ und meldet Befunde zurück. Solange eine Regelwerk-Datei auf pending-review steht, meldet er genau diesen Befund jedes Mal mit.

Beide nehmen die Vault-Wurzel aus ihrem eigenen Pfad, nicht aus cwd, weil cwd einem cd in einen Projektordner folgt. Regressionstreiber: faelle_sitzungsstart.py und faelle_nach_edit.py. Entwurf und benannte Lücken: .vault-tools/session-hooks/ENTWURF.md. Ein Fangnetz, kein Nachweis.

Verbrauch aus den Transkripten: .vault-tools/verbrauch-auswertung/analyse_transkripte.py zählt Tokens und Listenpreis je Modell, Effort, Sitzung und Subagent, Ausgabe nur außerhalb des Vaults; Aufruf, Fälle und Grenzen in der LIESMICH.md dort.

Das alte Navigator-Toolkit — nicht mehr die Rückfallebene

Unter .vault-tools/obsidian-vault-navigator/ liegen build_index.py, vault_query.py und vault_doctor.py aus dem Cowork-Skill „obsidian-vault-navigator". Seit dem 2026-09-13 nutzt du sie nicht mehr für Antworten, und _index/ ist seit dem 2026-10-30 gelöscht (Pascals Entscheidung im Workflow-Review). Die Gründe, gemessen am selben Tag:

  • Der Index war neun Tage alt und kannte 253 von 1006 Notizen nicht, darunter sechs Regelwerk-Dateien. Nichts baut ihn automatisch neu.
  • vault_query --tag liest nur Frontmatter-Tags. --tag review fand 1 Notiz, inline tragen den Tag 242.
  • vault_doctor.py meldet tote Links auch aus Codeblöcken (92 gemeldet, 0 echte am 2026-09-03). KNOWN_TYPES kennt 3 der 22 Typen aus AI/Regelwerk/frontmatter, und extract_headings() hält Bash-Kommentare für Überschriften.

Das Toolkit ist fremd und schreibgeschützt. Deshalb wird es nicht gepatcht, sondern bleibt als Bestand liegen.

Obsidian-Werkzeuge

Obsidian CLI. Obsidian 1.13.7 bringt sie als C:\Program Files\Obsidian\Obsidian.com mit. Am 2026-09-13 war sie abgeschaltet („Command line interface is not enabled") und nicht im PATH. Einschalten kann nur Pascal, unter Einstellungen → Allgemein → Erweitert. Ist sie an, liefert sie backlinks, tags und search aus Obsidians eigenem, immer aktuellem Graphen, inklusive Inline-Tags. Sie braucht eine laufende App, für geplante Läufe taugt sie deshalb nicht. Vor dem Einsatz prüfst du mit "C:\Program Files\Obsidian\Obsidian.com" version, ob sie antwortet.

Plugin obsidian-skills (kepano):

  • obsidian-bases nimmst du, wenn du eine .base-Datei schreibst oder änderst.
  • obsidian-markdown: Für Frontmatter gilt AI/Regelwerk/frontmatter vor dem Skill.
  • obsidian-cli funktioniert nur bei eingeschalteter CLI, siehe oben.
  • defuddle ist auf dieser Maschine nicht installiert. Webseiten holst du deshalb mit WebFetch.

Account-Skill obsidian-vault-navigator gilt hier nicht, auch wenn seine Beschreibung „immer" sagt. Er widerspricht dem Vault an mehreren Stellen: Index zuerst statt Wissenslandkarte, python3, andere status-Werte, vault_doctor für tote Links, und er will eine eigene CLAUDE.md in die Wurzel kopieren. Abwählen kann ihn nur Pascal.

Bases (Projekte.base, Review-Queue.base) sind Pascals Sicht. Du liest nur das YAML der .base-Datei, nicht das ausgewertete Ergebnis. Als Navigation für dich ersetzen sie also keine MOC. Eine Gruppierung per Formel statt per Feld bleibt verworfen (2026-08-03): Sie ist nicht dokumentiert und kann das Rendern der ganzen Datei verhindern.

Jede neue Datei hängt an ihrem Hub

Wer eine Datei anlegt, verlinkt darin ihren Hub, und zwar nach oben. Das gilt für dich, für jeden Subagenten, Skill und Workflow. Der Erzeuger kennt den Hub beim Anlegen, der Hub selbst braucht keine Pflege, und seine Rückverweise zeigen alle Kinder. Ein Pfad in Backticks ist kein Link.

Datei Hub Linkform
Plan-Übersicht 00-uebersicht.md, Einzeldatei-Plan in einem Code-Projekt Projekt-README relativer Markdown-Link
Plan oder Spec unter docs/ an der Vault-Wurzel README.md der Vault-Wurzel relativer Markdown-Link
alles andere im Planordner (Task, Anforderung, Prüfbericht, Nachbesserung) 00-uebersicht.md desselben Ordners relativer Markdown-Link
Codedoku docs/code/*.md, Spec, Quorum-Bericht, CHANGELOG, Administrator-Anleitung Projekt-README relativer Markdown-Link
SEO-Einzelbefund Bericht des Laufs Wikilink mit vollem Pfad
Bericht eines SEO-Laufs SEO-Seed Wikilink mit vollem Pfad aus dem Seed, also nach unten (siehe unten)
Arbeitsdatei oder Plan-Übersicht eines Projekts im IT Workspace, auch unter _arbeitsstand/ Übersicht (_MOC-*.md) bzw. README des Projekts Wikilink mit vollem Pfad
Dump Tagesnotiz Wikilink [[Inbox/JJJJ-MM-TT]]
Notiz oder Spec in der Inbox Tagesnotiz des Tages, an dem sie entsteht Wikilink aus dem Agentenprotokoll der Tagesnotiz, also nach unten
  • Wo die Zeile steht: direkt unter dem Frontmatter, ohne Frontmatter in der ersten Zeile. In einer Taskdatei lautet sie Übersicht: [00-uebersicht.md](00-uebersicht.md), in einer Übersicht Projekt: [README](../../../README.md), unter docs/ an der Vault-Wurzel Vault: [README](../../../README.md), die Tiefe passend zum Ort.
  • Der Bestand ist anders angebunden: Der einmalige Bestandslauf (.vault-tools/linkcheck/waisen_bestand.py) hat die Zeile am Dateiende angehängt und in Plan-Übersichten den Abschnitt „Dateien in diesem Ordner“, in SEO-Berichten „Befunddateien dieses Laufs“. Das sind Momentaufnahmen. Du verschiebst diese Zeilen nicht nach oben, ergänzt oben keine zweite Zeile und pflegst die Listen nicht nach; neue Dateien verlinken ihren Hub selbst.
  • Relative Markdown-Links in Code-Projekten und unter docs/ an der Vault-Wurzel, entgegen der Vault-Gewohnheit. Der Projektstatus steht im Ordnerpräfix, und aus active - X wird irgendwann inactive - X. Wikilinks mit vollem Pfad brechen dabei, wenn nicht in Obsidian umbenannt wird. Gitea zeigt Markdown-Links an, Wikilinks nicht. Leerzeichen und Umlaute im Pfad schreibst du URL-kodiert, ein Leerzeichen als %20.
  • Innerhalb eines Planordners verlinken Dateien ihre 00-uebersicht.md immer relativ, wo der Ordner auch liegt, im IT Workspace eingeschlossen.
  • Überall sonst bleibt es beim Wikilink mit vollem Pfad, auch für den Link aus einem Projekt im IT Workspace auf seine Übersicht, wenn sein _arbeitsstand ein eigenes Git-Repo ist: Diese Ordner tragen kein Statuspräfix.
  • Notizen in der Inbox verlinkt die Tagesnotiz nach unten, weil eine Inbox-Notiz noch keinen festen Ort hat. Wird sie einsortiert, gilt die Zeile ihres neuen Orts.
  • SEO-Befunde verlinkt der Bericht nach unten, den Bericht der Seed, weil der Audit-Skill außerhalb des Vaults liegt und seine Dateien ohne Link ablegt. Wie, steht in AI/Regelwerk/seo, Abschnitt 1, Punkt 5.
  • Bewusste Ausnahmen sind Bookstack/ (Warteschlange und Archiv) und Programmausgaben unter data/ in Code-Projekten. Sie stehen als Muster in .vault-tools/linkcheck/waisen-ausnahmen.txt und zählen nicht als Waisen.
  • Wikilinks mit vollem Vault-Pfad: [[AI/Regelwerk/navigation|navigation.md]]. In Tabellenzellen schreibst du den Alias-Trenner als \|.
  • Nicht-Markdown-Anhänge verlinkst du mit Dateiendung ([[…/audit-data.json]]) oder nennst sie als Pfad in Backticks. Ein Wikilink ohne Endung löst nur auf .md auf.
  • Kein Wikilink ins Harness-Gedächtnis. Obsidian sieht den Ordner nicht, der Link wäre tot. Nenne den Namen in Backticks.
  • Wenn du eine Datei verschiebst oder umbenennst, zieht Obsidian die Links nicht nach. Das tut es nur bei Verschiebungen in der App, und auch dort nur nach Rückfrage, denn alwaysUpdateLinks bleibt bewusst aus: Sonst schreibt Obsidian ungefragt in Dateien, die in den Git-Repos unter Code Projekte liegen. Vor dem Verschieben suchst du per Grep nach eingehenden Wikilinks, nach Backtick-Pfaden im Vault und nach Pfaden im Harness-Gedächtnis, und ziehst sie mit.
  • userIgnoreFilters in .obsidian/app.json: Ein Eintrag ohne umschließende Schrägstriche gilt nur ab der Vault-Wurzel (_index/). Für einen Ordner in beliebiger Tiefe schreibst du einen regulären Ausdruck zwischen Schrägstriche, zum Beispiel /(^|\/)node_modules\//. Belegt am Code von Obsidian 1.13.7 (updateUserIgnoreFilters).

Frontmatter im IT Workspace

Ein erheblicher Teil der Artikel im IT Workspace hat kein YAML-Frontmatter, sondern nur die alte Tag-Konvention (#Nextcloud, #review). Die Seed-MOCs funktionieren trotzdem, weil Titel und Zusammenfassung aus Überschrift und erstem Absatz abgeleitet werden.

Den genauen Anteil misst du, statt ihn hier zu pflegen:

find "IT Workspace" -name '*.md' -not -name '_MOC-*' -exec sh -c 'head -c 3 "$1" | grep -q -- "---" || echo "$1"' _ {} \; | wc -l

Frontmatter flächendeckend nachrüsten wäre ein eigener, größerer Schritt — nur auf Zuruf.

Referenzen