agentsclimarketplace

Kalender

Skill ellmos-ai/skills/skills/assist/kalender

Portable SKILL.md library for Claude Code, Codex-compatible agents, BACH, and local-first LLM workflows

Install
npx -y skills add ellmos-ai/skills --skill kalender

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Kalender-Skill mit nutzungsadaptiver Backend-Wahl (Flag 3). Standard: lokaler SQLite-Store. Optional: Google-Calendar-MCP, Routinika oder UpToday als Backend — gesteuert über assist/prefs.json. Ohne Präferenz fragt das LLM den Nutzer interaktiv.

SKILL.md

5.7 KB, as published. Nobody here has run it

Zweck

Termine erfassen, abfragen und verwalten — mit wählbarem Backend. Der Core (kalender_core.py) arbeitet immer mit dem lokalen SQLite-Store als Default. Das LLM wählt bei Bedarf ein alternatives Backend anhand von assist/prefs.json.

Flag 3 — Backend-Wahl:

kalender_backend in prefs.jsonVerhalten
local (Standard/Default)SQLite-Store in diesem Skill-Ordner
googleGoogle-Calendar-MCP (nur LLM-Pfad, nicht in core.py)
routinikaRoutinika-Kalender via module-installer (nicht impl. v0.1)
uptodayUpToday-Kalender via module-installer (nicht impl. v0.1)
nicht gesetztLLM fragt den Nutzer interaktiv nach bevorzugtem Backend

kalender_core.py implementiert ausschließlich das local-Backend. Google-Calendar-MCP und weitere Backends sind LLM-gesteuert und werden im SKILL.md dokumentiert, nicht im Core.


Trigger

PhraseAktion
„Trag Termin ein"Neuen Termin erfassen
„Was steht heute an?"Heutige Termine abfragen
„Was steht diese Woche an?"7-Tage-Überblick
„Termin [Titel] am [Datum]"Termin mit Datum anlegen
„Alle Termine im [Monat]"Monatsübersicht
„Termin löschen [ID]"Termin entfernen
„Termin exportieren"ICS-Export aller/einzelner Termine

Workflow

  1. Backend prüfen: assist/prefs.jsonkalender_backend lesen.
  2. Ohne Präferenz: LLM fragt Nutzer: lokaler Kalender, Google Calendar oder anderer?
  3. Local-Backend: core.py — Termin in SQLite-Store anlegen/abfragen/löschen.
  4. Google-Backend: LLM ruft Google-Calendar-MCP direkt auf (core.py nicht beteiligt).
  5. Ausgabe: Lesbare Terminliste oder Bestätigung.

CLI-Einstieg

# Termin anlegen
python kalender_core.py add "Zahnarzt" --date 2026-07-01 --time 10:00 [--duration 60] [--location "Praxis Dr. X"]

# Heutige Termine
python kalender_core.py today

# Wochenübersicht
python kalender_core.py week [--from 2026-06-22]

# Monatsübersicht
python kalender_core.py month [--month 2026-07]

# Alle Termine (optional mit Suchbegriff)
python kalender_core.py list [--search "Zahnarzt"] [--limit 50]

# Termin löschen
python kalender_core.py delete <id>

# ICS-Export
python kalender_core.py export [--id <id>] [--out kalender.ics]

# Backend-Check
python kalender_core.py check-backend

# Alternativer Store (z.B. für Tests)
python kalender_core.py --store /tmp/kal_test.db today --dry-run

Store

EigenschaftWert
TypSQLite (local-Backend)
Pfad (Standard)skills/assist/kalender/store.db
Override--store <pfad> oder Env KALENDER_STORE
Tabellenevents

Schema

CREATE TABLE IF NOT EXISTS events (
    id           TEXT PRIMARY KEY,      -- UUID (kurz: 8 Hex)
    title        TEXT NOT NULL,         -- Termin-Bezeichnung
    date         TEXT NOT NULL,         -- ISO-Datum YYYY-MM-DD
    time         TEXT,                  -- HH:MM (optional)
    duration_min INTEGER,               -- Dauer in Minuten (optional)
    location     TEXT,                  -- Ort (optional)
    description  TEXT,                  -- Notiz/Beschreibung
    recurrence   TEXT,                  -- ICS RRULE (optional, z.B. "FREQ=WEEKLY")
    ics_uid      TEXT UNIQUE,           -- ICS UID für Import/Export
    created_at   TEXT NOT NULL,
    updated_at   TEXT NOT NULL
);

Haltung

  • Der Core implementiert nur das local-Backend — leichtgewichtig, keine externen Deps.
  • ICS-Export erzeugt valides RFC 5545-Subset (VCALENDAR + VEVENT), importierbar in alle gängigen Kalender-Apps.
  • ICS-Import (Parsing) ist v0.1 noch nicht implementiert — geplant für v0.2.
  • Wiederholungsregeln (recurrence/RRULE) werden gespeichert aber nicht ausgewertet — Auswertung ist v0.2.

Datenschutz

  • Lokale Termine bleiben in store.db — kein Netzwerkzugriff im Core.
  • Beim Google-Calendar-Backend-Pfad verarbeitet Google-Calendar-MCP die Daten — Google-Datenschutzbestimmungen gelten.
  • store.db nicht in Git committen (empfohlen: .gitignore).

Verwandte Ressourcen

  • Google-Calendar-MCP (mcp__claude_ai_Google_Calendar__*) — alternatives Backend, LLM-gesteuert
  • Skill assist/haushalt-manager — Routinika-Integration (Presence-Check-Muster)
  • tools/module-installer/module_installer.py — für zukünftige Routinika/UpToday-Backend-Integration

Changelog

VersionDatumÄnderung
0.1.02026-06-22Erstanlage — Flag-3-Logik, local-Backend, ICS-Export

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.