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]>
This commit is contained in:
Pascal MichelandClaude Opus 5 committed 2026-09-17 22:38:15 +02:00
commit c064c729ed
82 files changed
+13428

No files matched your search

+95
View File
@@ -0,0 +1,95 @@
---
type: resource
title: "Navigator-Werkzeuge"
status: reference
summary: "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."
tags: [regelwerk, navigation, werkzeuge]
created: 2026-08-30
updated: 2026-09-13
---
# Navigator-Werkzeuge
Laden, wenn die MOC-Kaskade aus dem [[CLAUDE|Stamm]] 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|windows-shell.md]].
## 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.
## Tote Links: linkcheck
```bash
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|frontmatter.md]], 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|frontmatter.md]] 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.
## Links schreiben und Dateien verschieben
- **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:
```bash
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
- [[CLAUDE|↑ Claude.md (Stamm)]]
- [[Wissenslandkarte|Wissenslandkarte]]
- [[AI/Regelwerk/frontmatter|frontmatter.md]]: Schema und Tags
- [[AI/Regelwerk/projekte|projekte.md]]: Projekt-Tag und Projekt-Einstieg
- [[AI/Regelwerk/windows-shell|windows-shell.md]]: Python, Kodierung, Shells