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:
commit
2c9a4475fc
97 files changed
+14627
No files matched your search
@@ -0,0 +1,197 @@
|
||||
---
|
||||
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)]]
|
||||
Reference in new issue
Block a user