--- 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 – " status: done summary: "" tags: [session, ] created: JJJJ-MM-TT updated: JJJJ-MM-TT --- ``` **Dump** (`AI/secondbrain/-memory/JJJJ-MM-TT-.md`): ```yaml --- type: memory title: " – " status: reference summary: "" tags: [memory, ] created: JJJJ-MM-TT updated: JJJJ-MM-TT --- ``` **Planübersicht** (`docs/plans/JJJJ-MM-TT-/00-uebersicht.md` oder Einzeldatei): ```yaml --- type: plan title: "" status: active summary: "" tags: [plan, ] created: JJJJ-MM-TT updated: JJJJ-MM-TT --- ``` **Plan-Task** (`task-NN-.md`): ```yaml --- type: plan-task title: "Task NN — " status: draft summary: "" tags: [plan-task, ] created: JJJJ-MM-TT updated: JJJJ-MM-TT modell: sonnet modell_begruendung: "" --- ``` **Seed-MOC** (`IT Workspace//_MOC-.md`): ```yaml --- type: moc title: "" status: reference summary: "" tags: [] 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)]]