Files
claude-regelwerk/AI/Regelwerk/frontmatter.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

198 lines
7.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
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-09-13
---
# 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 — 22 Werte
### Allgemein (16)
| 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 (6)
`isms-dokument`, `isms-kapitel`, `bookstack-seite`, `bookstack-kapitel`, `bookstack-buchbeschreibung`, `iam-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 `AI/secondbrain/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)]]