- .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]>
198 lines
8.0 KiB
Markdown
198 lines
8.0 KiB
Markdown
---
|
||
type: resource
|
||
title: "Frontmatter-Vokabular"
|
||
status: reference
|
||
summary: "Pflichtfelder, zulässige Werte für type und status, fertige Blöcke je Dateiart, Quoting gegen kaputtes YAML und die Schreibweise der Tags."
|
||
tags: [regelwerk, frontmatter, vault-navigation]
|
||
created: 2026-09-03
|
||
updated: 2026-10-30
|
||
---
|
||
|
||
# Frontmatter-Vokabular
|
||
|
||
Festgelegt am 2026-09-03, ergänzt am 2026-09-13 um Quoting, fertige Blöcke und Tags. Die Werte unten sind aus dem Bestand abgeleitet, Synonyme sind zusammengelegt.
|
||
|
||
## Pflichtfelder
|
||
|
||
`type`, `title`, `status`, `summary`, `tags`, `created`, `updated` — in dieser Reihenfolge.
|
||
|
||
`uid` ist **optional**. Es gibt mehrere Werkzeuge, die das Feld schreiben, aber keins, das es für etwas anderes als eine Link-Auflösung liest, und die nutzt im Bestand niemand. Wer eine uid setzt, nimmt `JJJJMMTT-slug`, stellt sie an den Anfang und prüft vorher per Grep, dass es sie noch nicht gibt. Bestehende uids bleiben stehen.
|
||
|
||
## Quoting — sonst ist es kein YAML mehr
|
||
|
||
`title`, `summary` und jedes Feld mit Fließtext (zum Beispiel `modell_begruendung`) stehen **immer in Anführungszeichen**. YAML liest ` #` als Kommentarbeginn und `: ` als Trenner. Ohne Anführungszeichen wird der Wert still abgeschnitten, oder der ganze Block ist ungültig, und Obsidian, Bases und Skill-Liste sehen dann etwas anderes als du.
|
||
|
||
- Normalfall: doppelte Anführungszeichen, `title: "Task 04 — OpenSearch: Rollen"`.
|
||
- Enthält der Wert ein gerades `"`, zum Beispiel als Schluss von „…", nimmst du einfache: `summary: 'Sagt „nie überschreiben" und warum.'`
|
||
- Enthält er beides, einfache Anführungszeichen, und ein `'` im Wert wird verdoppelt: `'Status ''fertig'' laut „Stand"'`.
|
||
|
||
Dasselbe gilt für `description` in Skill-, Agenten- und Command-Dateien.
|
||
|
||
## type
|
||
|
||
### Allgemein
|
||
|
||
| Wert | Wofür | Standard-`status` |
|
||
|---|---|---|
|
||
| `moc` | Navigationsseite, Seed oder Oberseed | `reference` |
|
||
| `daily` | Tagesnotiz in `/Inbox` | `open` |
|
||
| `session` | Sitzungsprotokoll in `/AI/sessions` | `done` |
|
||
| `memory` | Gedächtnisdump in `/AI/secondbrain` | `reference` |
|
||
| `note` | Wissensnotiz, Artikel, Arbeitsdokument, Bericht, Recherche ohne eigene Kategorie | `active` |
|
||
| `konzept` | Konzept- und Strategiepapier | `draft` |
|
||
| `resource` | Regelwerk, Referenzmaterial, Nachschlagewerk | `reference` |
|
||
| `guide` | Anleitung, Checkliste, Betriebsdokumentation — alles, was jemand befolgt | `active` |
|
||
| `project` | Projekt-README | `active` |
|
||
| `spec` | Design-Spec unter `docs/superpowers/specs/` | `draft` |
|
||
| `plan` | Umsetzungsplan unter `docs/plans/` | `active` |
|
||
| `plan-task` | Einzelaufgabe innerhalb eines Planordners | `draft` |
|
||
| `todo` | Aufgabenliste eines Projekts (`todo.md`) | `active` |
|
||
| `lessons` | `tasks/lessons.md` — projektspezifische Funde | `active` |
|
||
| `changelog` | `CHANGELOG.md` | `active` |
|
||
| `codedoku` | Codedoku unter `docs/code/` und Architekturpapiere | `active` |
|
||
|
||
Nicht zulässig, obwohl sie immer wieder entstehen: `session-note` → `session` in `AI/sessions`, sonst `note`; `howto` → `guide`; `recherche` und `research` → `note`, `draft` (ist ein status) → `note`, `reference` (ist ein status) → `resource` bzw. `memory`.
|
||
|
||
### Spezialbereiche — nicht anfassen
|
||
|
||
`isms-dokument`, `isms-kapitel`, `bookstack-seite`, `bookstack-kapitel`, `bookstack-buchbeschreibung`, `iam-projekt`, `netz-projekt`.
|
||
|
||
Diese Werte gehören zu geschlossenen Dokumentensätzen mit eigener Logik. Sie stehen hier nur, damit niemand sie für vergessen hält.
|
||
|
||
## status — 8 Werte
|
||
|
||
| Wert | Bedeutung |
|
||
|---|---|
|
||
| `draft` | in Arbeit, noch nicht belastbar |
|
||
| `ready` | fertig, aber noch nicht in Umsetzung (vor allem Pläne) |
|
||
| `active` | in Verwendung oder in Umsetzung |
|
||
| `done` | abgeschlossen |
|
||
| `open` | offen im Sinne von unbearbeitet (Tagesnotizen, Nachweislisten, Notizen in der Inbox) |
|
||
| `reference` | Nachschlagewerk, ändert sich nur bei Bedarf |
|
||
| `vorlage` | Vorlage, aus der etwas erzeugt wird (Bookstack-Set) |
|
||
| `pending-review` | nur für Regelwerk-Dateien nach einer Selbstoptimierung, bis Pascal freigibt ([[CLAUDE|Stamm]], „Selbstpflege") |
|
||
|
||
## Fertige Blöcke je Dateiart
|
||
|
||
Kopieren, Werte ersetzen, Anführungszeichen stehen lassen.
|
||
|
||
**Tagesnotiz** (`Inbox/JJJJ-MM-TT.md`):
|
||
|
||
```yaml
|
||
---
|
||
type: daily
|
||
title: "JJJJ-MM-TT"
|
||
status: open
|
||
summary: "Tagesnotiz vom JJJJ-MM-TT."
|
||
tags: [daily]
|
||
created: JJJJ-MM-TT
|
||
updated: JJJJ-MM-TT
|
||
---
|
||
```
|
||
|
||
**Sitzungsprotokoll** (`AI/sessions/JJJJ-MM-TT-HH.md`) — Projekt-Tag nach [[AI/Regelwerk/projekte|projekte.md]] ergänzen, wenn die Sitzung einem Projekt gehört:
|
||
|
||
```yaml
|
||
---
|
||
type: session
|
||
title: "Sitzung JJJJ-MM-TT, HH Uhr – <Thema>"
|
||
status: done
|
||
summary: "<ein Satz: was entstanden ist und was offen bleibt>"
|
||
tags: [session, <projekt-tag>]
|
||
created: JJJJ-MM-TT
|
||
updated: JJJJ-MM-TT
|
||
---
|
||
```
|
||
|
||
**Dump** (`AI/secondbrain/<projekt-tag>-memory/JJJJ-MM-TT-<thema>.md`):
|
||
|
||
```yaml
|
||
---
|
||
type: memory
|
||
title: "<Thema> – <Kernaussage>"
|
||
status: reference
|
||
summary: "<ein Satz>"
|
||
tags: [memory, <projekt-tag>]
|
||
created: JJJJ-MM-TT
|
||
updated: JJJJ-MM-TT
|
||
---
|
||
```
|
||
|
||
**Planübersicht** (`docs/plans/JJJJ-MM-TT-<thema>/00-uebersicht.md` oder Einzeldatei):
|
||
|
||
```yaml
|
||
---
|
||
type: plan
|
||
title: "<Thema>"
|
||
status: active
|
||
summary: "<ein Satz: was danach funktioniert>"
|
||
tags: [plan, <projekt-tag>]
|
||
created: JJJJ-MM-TT
|
||
updated: JJJJ-MM-TT
|
||
---
|
||
```
|
||
|
||
**Plan-Task** (`task-NN-<thema>.md`):
|
||
|
||
```yaml
|
||
---
|
||
type: plan-task
|
||
title: "Task NN — <Titel>"
|
||
status: draft
|
||
summary: "<ein Satz>"
|
||
tags: [plan-task, <projekt-tag>]
|
||
created: JJJJ-MM-TT
|
||
updated: JJJJ-MM-TT
|
||
modell: sonnet
|
||
modell_begruendung: "<ein Satz, warum Ermessen nötig ist oder nicht>"
|
||
---
|
||
```
|
||
|
||
**Seed-MOC** (`IT Workspace/<Ordner>/_MOC-<slug>.md`):
|
||
|
||
```yaml
|
||
---
|
||
type: moc
|
||
title: "<Ordnername>"
|
||
status: reference
|
||
summary: "<ein Satz: welches Wissen hier liegt — ohne Stückzahl>"
|
||
tags: [<Segment-Tag>]
|
||
created: JJJJ-MM-TT
|
||
updated: JJJJ-MM-TT
|
||
---
|
||
```
|
||
|
||
## Tags
|
||
|
||
- **Tags im Frontmatter ohne `#`**, als Liste: `tags: [session, logging]`.
|
||
- **Projekt-Tag:** Ableitung aus dem Ordnernamen in [[AI/Regelwerk/projekte|projekte.md]].
|
||
- **Segment-Tag im IT Workspace:** Es gilt die Schreibweise, die die Artikel des Ordners tragen, zum Beispiel `#LinuxServer-Administration`. Die Seed-MOC führt genau diesen Tag in ihren `tags`, damit eine Tag-Suche vom Seed aus die Artikel findet. Keine zweite Schreibweise einführen, auch keine „saubere" kebab-case-Fassung.
|
||
- **Review-Tags:** `#review` heißt, Pascal nimmt ab; `#review-done` heißt, abgenommen; `#needs-review` heißt, Pascal muss etwas entscheiden. Ein Tag, der nur als Wort im Text erwähnt wird, steht in Backticks, sonst zählt Obsidian ihn als Tag.
|
||
|
||
## Was bewusst kein Frontmatter bekommt
|
||
|
||
- **Artikel im IT Workspace mit alter Tag-Konvention.** Begründung und Zählbefehl: [[AI/Regelwerk/navigation|navigation.md]]. Die Seeds leiten Titel und Zusammenfassung aus Überschrift und erstem Absatz ab. Nachrüsten nur auf Zuruf.
|
||
- **`CLAUDE.md`** — der Stamm ist keine Notiz.
|
||
- **Index-Dateien** wie der alte Index `AI/secondbrain/altbestand-memory/MEMORY.md`. Sie sind Verzeichnisse, keine Inhalte.
|
||
- **Skill-, Agenten- und Command-Dateien** (`SKILL.md`, `.claude/agents/*.md`, `commands/*.md`) haben das Format von Claude Code mit `name` und `description` — nicht auf dieses Schema umstellen.
|
||
|
||
Der Obsidian-Skill `obsidian-markdown` nennt als Frontmatter nur `title`, `tags` und `aliases`. In diesem Vault gilt diese Datei.
|
||
|
||
## Was zusammengelegt wurde (2026-09-03)
|
||
|
||
| Alt | Neu | Grund |
|
||
|---|---|---|
|
||
| `projekt` | `project` | Schreibvariante |
|
||
| `task`, `aufgaben`, `project-todo` | `todo` | drei Werte für `todo.md` |
|
||
| `anleitung` | `guide` | dasselbe |
|
||
| `checklist` | `guide` | eine Checkliste wird befolgt |
|
||
| `architecture` | `codedoku` | Architekturpapier ist Doku für den, der den Code ändert |
|
||
| `arbeitsdokument` | `note` | Einzelfall ohne eigene Kategorie |
|
||
| `reference` (als type) | `memory` | betraf ausschließlich Gedächtnisdumps; `reference` bleibt als **status** gültig |
|
||
| `approved`, `abgeloest` (status) | `done` | Einzelfälle |
|
||
|
||
## Referenzen
|
||
|
||
- [[AI/Regelwerk/navigation|Navigator-Werkzeuge]]
|
||
- [[CLAUDE|↑ Claude.md (Stamm)]]
|