Files
claude-regelwerk/AI/Regelwerk/navigation.md
T
Pascal MichelandClaude Opus 5 2c9a4475fc Regelwerk, Agenten, Skills und Werkzeuge veröffentlichen
Erster Stand des öffentlichen Ausschnitts aus dem Vault. Die .gitignore
arbeitet als Positivliste: ausgeschlossen ist alles, eingeschlossen nur,
was ausdrücklich wieder aufgenommen wird. Notizen, Projekte, Finanzen,
das Sitzungsgedächtnis und settings.local.json bleiben damit außen vor.

Der Kundenname in AI/Regelwerk/seo.md ist durch eine neutrale
Bezeichnung ersetzt; die Regeln selbst sind unverändert.

Co-Authored-By: Claude Opus 5 <[email protected]>
2026-09-17 22:38:15 +02:00

7.5 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-09-13

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.

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.
  • 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.

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/ wird nicht mehr gepflegt. 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.

  • 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