Files
2026-05-06 11:25:26 +02:00

152 lines
4.0 KiB
Markdown
Raw Permalink 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.
---
name: mailbox_calendar
description: Liest, erstellt und verwaltet Termine und Aufgaben aus dem mailbox.org-Kalender via khal (Termine) und todoman (Aufgaben). Immer verwenden wenn der Nutzer nach Terminen, Kalender, Aufgaben, Tasks oder To-Dos fragt.
requires:
bins:
- khal
- vdirsyncer
user-invocable: true
---
# mailbox.org Kalender & Aufgaben
Dieser Skill gibt dir Zugriff auf den mailbox.org-Kalender und die Aufgabenliste von hans@dumbass über die lokal synchronisierten vdirsyncer-Verzeichnisse.
## Wichtige Pfade
- Kalender-vdir: `/home/hans/.local/share/vdirsyncer/calendars/Y2FsOi8vMC8zMg`
- Task-vdir: `/home/hans/.local/share/vdirsyncer/tasks/MzU`
- khal-Binary: `/usr/bin/khal`
- todo-Binary: `/home/hans/bin/todo`
- vdirsyncer-Binary: `/usr/bin/vdirsyncer`
## Pflichtregeln
1. **Vor jeder Lese-Operation** immer zuerst `vdirsyncer sync` ausführen, damit die Daten aktuell sind.
2. **Nach jeder Schreib-Operation** (neuer Termin, neue Aufgabe, Abschluss) immer `vdirsyncer sync` ausführen, damit die Änderung zu mailbox.org hochgeladen wird.
3. Niemals Termine oder Aufgaben erfinden. Wenn keine Daten vorhanden, klar sagen: "Keine Termine/Aufgaben gefunden."
4. Bei Fehlern den genauen Fehlertext an den Nutzer weitergeben.
## Kalender-Operationen
### Termine anzeigen heute
```
exec: vdirsyncer sync
exec: khal list today
```
### Termine anzeigen nächste N Tage
```
exec: vdirsyncer sync
exec: khal list today Nd
```
Beispiel für 7 Tage: `khal list today 7d`
### Termine anzeigen bestimmtes Datum
```
exec: vdirsyncer sync
exec: khal list YYYY-MM-DD
```
### Nächste Woche
```
exec: vdirsyncer sync
exec: khal list monday 7d
```
### Neuen Termin erstellen
```
exec: khal new YYYY-MM-DD HH:MM HH:MM "Titel des Termins"
exec: vdirsyncer sync
```
Beispiel: `khal new 2026-06-01 14:00 15:00 "Zahnarzt"`
Ganztägiger Termin: `khal new 2026-06-01 "Geburtstag Oma"`
### Interaktiver Kalender (nur wenn Nutzer explizit fragt)
```
exec: ikhal
```
## Aufgaben-Operationen
### Alle offenen Aufgaben anzeigen
```
exec: vdirsyncer sync
exec: /home/hans/bin/todo list
```
### Aufgaben mit Fälligkeitsdatum anzeigen
```
exec: vdirsyncer sync
exec: /home/hans/bin/todo list --due
```
### Neue Aufgabe erstellen (mit Fälligkeitsdatum)
```
exec: /home/hans/bin/todo new "Titel der Aufgabe" --due YYYY-MM-DD
exec: vdirsyncer sync
```
Beispiel: `/home/hans/bin/todo new "Steuererklärung einreichen" --due 2026-05-31`
### Neue Aufgabe erstellen (ohne Datum)
```
exec: /home/hans/bin/todo new "Titel der Aufgabe"
exec: vdirsyncer sync
```
### Aufgabe als erledigt markieren
Zuerst ID der Aufgabe ermitteln:
```
exec: /home/hans/bin/todo list
```
Dann mit der angezeigten ID:
```
exec: /home/hans/bin/todo done <ID>
exec: vdirsyncer sync
```
### Aufgabe löschen
```
exec: /home/hans/bin/todo delete <ID>
exec: vdirsyncer sync
```
## Ausgabe-Format
- Termine immer mit Datum, Uhrzeit und Titel ausgeben.
- Aufgaben mit ID, Titel und Fälligkeitsdatum (falls vorhanden) ausgeben.
- Wenn `khal list` leer zurückkommt, sagen: "Keine Termine in diesem Zeitraum."
- Wenn `/home/hans/bin/todo list` leer zurückkommt, sagen: "Keine offenen Aufgaben."
## Fehlerbehandlung
- Wenn `vdirsyncer sync` mit einem Fehler endet: den Fehler anzeigen, nicht weitermachen.
- Wenn khal oder todo nicht gefunden: prüfen ob die Binaries existieren:
```
exec: which khal
exec: ls /home/hans/bin/todo
```
- Wenn khal "critical: ..." meldet: Konfigurationsfehler, Nutzer auf `~/.config/khal/config` hinweisen.
## Beispiel-Abläufe
**"Was habe ich diese Woche?"**
1. `vdirsyncer sync`
2. `khal list today 7d`
3. Ausgabe strukturiert zurückgeben.
**"Erstelle einen Termin: Arzt am 15. Mai um 9 Uhr"**
1. `khal new 2026-05-15 09:00 10:00 "Arzt"`
2. `vdirsyncer sync`
3. Bestätigung ausgeben.
**"Welche Aufgaben sind fällig?"**
1. `vdirsyncer sync`
2. `/home/hans/bin/todo list --due`
3. Ausgabe mit IDs und Daten zurückgeben.
**"Markiere Aufgabe 3 als erledigt"**
1. `/home/hans/bin/todo done 3`
2. `vdirsyncer sync`
3. Bestätigung ausgeben.