# Modus Neu — neue Präsentation anlegen

Du legst eine neue Präsentation für Stefan an. Ergebnis ist ein selbst-enthaltenes Single-Folder-Bundle in einem projektnahen Ordner.

## Frage-Stack

Sieben Fragen in fester Reihenfolge. Jede hat eine Skip-Bedingung — ist die Antwort aus dem User-Prompt schon klar, einmal kurz bestätigen statt fragen. Alle Fragen laufen über `AskUserQuestion`. Wenn das Schema noch nicht geladen ist, vorher per ToolSearch holen (`select:AskUserQuestion`).

### Frage 1 — Format

**Frage:** „HTML-Präsentation oder PowerPoint?"

**Optionen:**
- HTML (Default, Single-Folder-Bundle, offline-fähig)
- PowerPoint (PPTX über Master `WarmNavigator.potx`)

**Skip-Bedingung:** User hat im Einstieg explizit „HTML", „als PPTX", „PowerPoint", „in PowerPoint" oder semantisch Eindeutiges gesagt → Format gesetzt, Frage entfällt.

**Default-Logik:** HTML ist echter Default. Wenn der Prompt kein Format nennt, wird die Frage gestellt. Cancelt der User die Frage, greift HTML mit einer einzelnen Bestätigungs-Zeile.

### Frage 2 — Designsystem (nur HTML-Pfad)

**Frage:** „Welches Designsystem soll ich verwenden?"

**Optionen werden dynamisch gebildet:** Glob über `<BUNDLE_ROOT>/_lib/designsystem/templates/praesentation/varianten/*/`. Jeder Unterordner ist ein Designsystem. Wenn der Glob leer/nicht vorhanden ist, fällt zurück auf die Hardcoded-Liste mit nur „Warm Navigator". Default bleibt Warm Navigator.

**Skip-Bedingung:**

- **Warm Navigator implizit oder explizit:** Signale wie „in meinen Farben", „mit meinen Farben", „in meinem Design", „mit meinem Designsystem", „wie immer", „Warm Navigator" → Default greift.
- **Anderes Designsystem genannt:** „im Designsystem Braun", „im Look von Y" → genanntes übernehmen.

**Bei nicht gefundenem System:** kurz zurückmelden („Designsystem X habe ich nicht gefunden — soll ich Warm Navigator nehmen oder einen Pfad angeben?"), nicht raten.

**Im PowerPoint-Pfad entfällt diese Frage** (Master ist gesetzt).

### Frage 3 — Titel

**Frage:** „Wie soll die Präsentation heißen? (kurzer Titel, geht in Slug und Cover)"

**Skip-Bedingung:** Titel im Prompt klar erkennbar. Beispiele:
- „Präsentation für die MUST-1-Geschäftsführung zum Thema Buchungsassistent" → Titel „Buchungsassistent"
- „Slides für den Termin am 30.04. mit Mustermann GmbH zur Lieferanten-Auswahl" → Titel „Lieferanten-Auswahl"
- Plain „mach mir eine Präsentation" → Frage greift

Titel landet als Slug im Pfad und als initialer Cover-Text im Template.

### Frage 4 — Ablage-Kategorie

**Frage:** „Wo soll die Präsentation abgelegt werden?"

**Optionen:**
- In einem Projekt (`02 Projekte/`)
- In einem Bereich (`03 Bereiche/`)
- Unter Ressourcen (`04 Ressourcen/`)
- Anders (Freitext-Pfad)

**Skip-Bedingung:** Kategorie aus Prompt klar:
- „für das Projekt Mustermann GmbH", „im Projekt KI für Frauen" → Projekt
- „in den Bereich Content & Positionierung" → Bereich
- „unter Ressourcen" → Ressource
- Konkreter Pfad genannt → Anders

### Frage 5 — Ablage-Ziel (Shortlist)

**Frage:** „In welches/welchen <Kategorie> soll ich es ablegen?"

**Optionen:** Bis zu 4 kontextuelle Kandidaten + „Anderes (Freitext)" als Escape.

**Wie die Shortlist gebildet wird:**

1. Vollständiger Glob über die Kategorie:
   - Projekt: `02 Projekte/*/`
   - Bereich: `03 Bereiche/*/`
   - Ressource: `04 Ressourcen/*/`
2. Fuzzy-Match gegen Prompt-Tokens (Wort-Überlappung + Substring), Stop-Words ignorieren.
3. Recency-Tiebreaker: jüngstes `updated`-Frontmatter oder Mtime, plus Bonus für Erwähnung in den letzten 3 Daily Notes.
4. Top 3–4 + „Anderes (Freitext)".

**Skip-Bedingung:** Ein eindeutiger Treffer aus dem Prompt → direkt nehmen.

### Frage 6 — Termin / Unterordner-Logik

**Frage:** „Hängt die Präsentation an einem Termin?"

**Optionen:**
- Ja, mit Termin (Folge-Frage: Datum + Anlass-Kurzname)
- Nein, freistehende Präsentation
- Bestehenden Unterordner nutzen (Folge-Frage: welcher?)

**Zielordner-Konventionen (alle Kategorien gleichberechtigt):**

| Kategorie | Mit Termin | Ohne Termin |
|---|---|---|
| Projekt | `02 Projekte/<X>/Termine/<YYYY-MM-DD Anlass>/Praesentation/` | `02 Projekte/<X>/Praesentationen/<YYYY-MM-DD Titel>/` |
| Bereich | `03 Bereiche/<X>/Termine/<YYYY-MM-DD Anlass>/Praesentation/` | `03 Bereiche/<X>/Praesentationen/<YYYY-MM-DD Titel>/` |
| Ressource | nicht vorgesehen — bei Termin auf Bereich umlenken | `04 Ressourcen/<X>/Praesentationen/<YYYY-MM-DD Titel>/` |
| Anders | Pfad direkt vom Nutzer | Pfad direkt vom Nutzer |

**Skip-Bedingung:** Termin und Anlass aus dem Prompt eindeutig ableitbar („für den Termin am 30.04. mit Mustermann GmbH") → Pfad direkt zusammensetzen, nur final bestätigen.

### Frage 7 — Pfad-Bestätigung

**Frage:** „Ich lege die Präsentation unter `<vollständiger Zielpfad>` an — ok?"

**Optionen:**
- Ja, anlegen
- Anderer Pfad (Freitext)
- Abbrechen

**Pflicht. Kein Skip.**

## Helper-Aufruf

### HTML-Pfad (Default)

```
python "<SKILL_ROOT>/scripts/neue_praesentation.py" \
  --zielordner "<Zielordner>" \
  --titel "<Titel>" \
  --designsystem "<Slug>" \
  --datum "<YYYY-MM-DD>"
```

Argumente sind benannt, nicht positionsbasiert. Der Helper kopiert das Bundle, erstellt `_runtime/`, kopiert Logos lokal nach `_runtime/assets/`, biegt `window.LOGO_BASE` und Favicon um, benennt die HTML-Datei nach Slug.

**Ergebnis melden:** Pfad zur erzeugten `<slug>.html` zeigen, kurz erwähnen dass `_runtime/` daneben liegt und Doppelklick die Präsentation startet.

**Slide-Inhalte:** Nicht automatisch befüllen. Stefan pflegt selbst in `_runtime/src/slides-*.jsx` und `_runtime/src/app.jsx → TEMPLATES`, danach `_runtime/build.cmd` (Windows) oder `_runtime/build.sh` (Bash). Auf Wunsch Hilfe beim Skelett anbieten — nicht ungefragt.

### PowerPoint-Pfad (Sonderfall)

Master-Theme-Pfad-Resolution in dieser Reihenfolge:

1. `<BUNDLE_ROOT>/_lib/designsystem/templates/praesentation/WarmNavigator.potx` (Foundation-Default, immer vorhanden)
2. Glob `**/WarmNavigator.potx` im Anwender-Vault-Root (Anwender-Override, falls vorhanden)

Bei keinem Treffer: harter Abbruch mit präzisem Fehler („Master-Theme WarmNavigator.potx nicht gefunden. Erwartete Pfade: …. Bitte Master ablegen oder Pfad in Skill-Konfig anpassen."). Kein stiller Bruch.

Bei Treffer: Master kopieren nach `<Zielordner>/<YYYY-MM-DD>_<Titel>_v1.pptx`. Pfad zurückmelden. Hinweis auf Folienmaster mit sieben Layouts (Cover, Agenda, Divider, Content, Kernzahl, Zwei Spalten, Abschluss). Bauregeln stehen in der Designsystem-Karte → Abschnitt „PowerPoint-Master".

## Fertig-Kriterium Modus Neu

- Bundle bzw. PPTX liegt im richtigen Zielordner
- HTML startet per Doppelklick offline (Logos und Schriften lokal in `_runtime/`)
- Stefan hat den Pfad bestätigt bekommen
- Slide-Inhalte sind **nicht** automatisch befüllt — Pflege passiert separat
