Start / Toolkit / AI Chief of Staff

TOOLKITSELBST BAUEN.

WIE ICH MEINEN AI CHIEF OF STAFF GEBAUT HABE.

Schritt für Schritt zu einem persönlichen AI-Assistenten, der deinen Kalender, dein Postfach, deine Prioritäten und deinen Kommunikationsstil kennt. Mit Claude, Cursor, Obsidian, dem Microsoft Office MCP und direkten API-Anbindungen für Datenanalysen.

Von Yannic Desch · Stand: Juni 2026 · Bauzeit: ca. 1 Wochenende


00

Warum selbst bauen

Jedes Produktivitätstool für Führungskräfte verspricht, Zeit zu sparen. Die meisten ersetzen ein Postfach durch ein anderes. Der Grund, stattdessen einen eigenen AI Chief of Staff zu bauen, ist einfach: Ein Allzweck-Tool kennt dich nicht. Es kennt weder deine Beteiligungen noch deinen Kommunikationsstil, deine Meeting-Muster oder die drei Entscheidungen, die gerade auf deinem Tisch liegen.

Wenn du für dich selbst baust, passt du alles genau an. Dein Chief of Staff weiß, mit wem du dich triffst und warum. Er weiß, was dir wichtig ist und was nicht. Er kennt deinen Kalender gut genug, um die Meetings zu markieren, zu denen du nicht gehen solltest.

Das ist keine Anleitung für Engineers. Es ist eine Anleitung für Operators, die bereit sind, ein Wochenende in etwas zu stecken, das jahrelang läuft.

Was du am Ende hast

—

Ein Morgen-Briefing jeden Tag um 07:00 Uhr: Kalender, Prioritäten, Neuigkeiten über Nacht

—

Einen Agent, der dich vor jedem Gespräch vorbereitet

—

Eine E-Mail-Triage, die nach oben holt, was wirklich deine Aufmerksamkeit braucht

—

Einen Kalender-Check, der Delegations-Nachrichten für Meetings entwirft, die du auslassen solltest

—

Eine eigene Oberfläche, gebaut mit Cursor, die alles zusammenführt


01

Voraussetzungen

Du musst nicht programmieren können. Du solltest mit Dateien umgehen können, bereit sein, Fehlermeldungen zu lesen, und einen konzentrierten Samstag ins Bauen stecken. Das reicht.

Claude

Haupt-AI: Pro-Plan für Projects, API für eigene Tools

claude.ai

Cursor

AI-Code-Editor: hier baust und verbesserst du alles

cursor.com

Obsidian

Lokaler Markdown-Vault: deine persönliche Wissensbasis

obsidian.md

Microsoft Office MCP

Verbindet Claude direkt mit Outlook, Teams und Office-Dateien

github.com/microsoft/mcp

Raycast

Mac-Launcher: Tastenkürzel, um Agents sofort zu starten

raycast.com

Anthropic-API-Key

Für den Zugriff auf die Claude-API in deinen eigenen Skripten

console.anthropic.com

Geschätzte Kosten: ca. 30 € pro Monat für Claude Pro plus API-Nutzung. Die Google-API ist für die private Nutzung in großzügigen Grenzen kostenlos.


02

Deine Wissensbasis

Das ist das Fundament, alles andere hängt daran. Dein AI Chief of Staff ist nur so gut wie der Kontext, auf den er zugreifen kann. Bau das zuerst. Es dauert zwei Stunden und zahlt sich jeden Tag aus.

Ich nutze Obsidian als Wissensbasis. Es speichert alles als einfache Markdown-Dateien in einem lokalen Vault. Claude kann sie direkt lesen, sie sind durchsuchbar, und es gibt keine Abhängigkeit von einem Anbieter. Der Vault liegt unter ~/Obsidian/Chief-of-Staff/.

Warum Obsidian statt Notion: Notion braucht einen API-Aufruf, um Daten zu lesen. Obsidian sind nur Dateien. Claude kann sie direkt öffnen, Cursor kann sie bearbeiten, und deine Skripte greifen ohne Authentifizierung darauf zu. Einfacher ist schneller.

1

me.md: wer du bist

Deine Rolle, dein Unternehmen, deine wichtigsten Verantwortungen. Was du selbst verantwortest, was du delegierst, was dir wichtig ist. Schreib es so, als würdest du eine neue Assistenz an ihrem ersten Tag einweisen.
2

style.md: wie du kommunizierst

Dein Schreibstil. Wie du E-Mails aufbaust. Deine Standardantworten auf häufige Anfragen. Wozu du immer Nein sagst. Wozu du ohne Nachdenken Ja sagst. Füg 3–5 echte E-Mails bei, die du geschrieben hast.
3

priorities.md: was dieses Quartal zählt

Deine drei wichtigsten strategischen Prioritäten. Offene Entscheidungen. Was bis Monatsende fertig sein soll. Wöchentlich aktualisieren, das ist die zeitkritischste Datei.
4

people.md: wichtige Kontakte

Alle, mit denen du regelmäßig zu tun hast. Name, Rolle, Kontext, Geschichte der Beziehung. Je mehr Details, desto besser die Meeting-Vorbereitung.
5

companies.md: dein Portfolio oder deine Schlüsselkunden

Für jedes Unternehmen, das du verantwortest: was es macht, aktueller Stand, offene Fragen, wichtige Kontakte. Ein Abschnitt pro Unternehmen.
# Beispiel: me.md

## Rolle
Vice President Product
Rapid Data GmbH (PSG-backed) · Walldorf

## Was ich verantworte
- Portfoliostrategie über 4 Softwareprodukte
- GuV-Verantwortung bis 30 Mio. €
- AI-Roadmap für die Gruppe
- Workstream Post-Merger-Integration

## Was ich delegiere
- Operative Produktentscheidungen an die Product Leads
- Kalenderverwaltung an meine Assistenz
- Routine-Reporting an die Produktmanager

## Wozu ich immer Nein sage
- Meetings ohne Agenda
- Anfragen, die in eine E-Mail gehören
- Termine, bei denen die Entscheidung schon gefallen ist

## Kommunikationsstil
Direkt. Kurz. Ohne Vorrede. Status-Updates lieber als Stichpunkte,
Fließtext nur für strategische Empfehlungen.

03

Claude einrichten

Mehrere Wege, je nachdem, wie technisch du werden willst. Fang mit Option A an. Auf Option B wechselst du, sobald du weißt, was du baust.

Option A: Claude Projects (ohne Code)

Claude.ai öffnen → New Project. Den Inhalt deiner Obsidian-Kontextdateien in den Bereich Project Knowledge kopieren. Einen System-Prompt schreiben, der Claude sagt, wer er ist. Der schnellste Weg, alles läuft in der Oberfläche von Claude.

Einschränkung: Du musst die Kontextdateien bei Änderungen von Hand synchronisieren. Für den Start in Ordnung, aber du wächst schnell darüber hinaus.

Option B: Microsoft Office MCP (mein Setup)

Das Microsoft Office MCP (ein Model-Context-Protocol-Server) verbindet Claude direkt mit deinem Outlook-Kalender, deinen E-Mails, Teams-Nachrichten und Office-Dateien, ohne eine Zeile Integrationscode. Claude Desktop liest deine echten Outlook-Daten in Echtzeit.

MCP-Server installieren, mit dem Microsoft-365-Konto verbinden, und Claude hat Live-Zugriff auf deine ganze Office-Umgebung. So weiß das Morgen-Briefing, was wirklich in deinem Kalender steht: kein zwischengespeicherter Export, sondern die Live-Daten.

Deinen Obsidian-Vault über das Filesystem-MCP als zweite Quelle hinzufügen. Dann hat Claude deine Office-Daten in Echtzeit und deine persönlichen Kontextdateien gleichzeitig.

Option C: Direkte API-Anbindungen für Datenanalysen

Für Datenanalysen auf Portfolio-Ebene verbinde ich Claude per API direkt mit unseren internen Datenquellen: Finanz-Dashboards, Produktkennzahlen, CRM-Daten. Ein Python-Skript holt den relevanten Ausschnitt, gibt ihn mit Kontext aus dem Obsidian-Vault an Claude und bekommt eine strukturierte Analyse zurück.

Hier liegt in einem PE-Umfeld der eigentliche Hebel: Statt dass jemand drei Stunden an einem Report baut, liest Claude die Rohdaten und schreibt die Analyse. Du prüfst. Fertig in 20 Minuten.

Der System-Prompt für dein Project oder deinen API-Aufruf:

Du bist der persönliche AI Chief of Staff von Yannic Desch.

Du hast Zugriff auf seine Wissensbasis mit Rolle, Kommunikationsstil,
Prioritäten, wichtigen Kontakten und Beteiligungen.

Deine Aufgabe ist es, ihm zu helfen:
1. Meetings vorbereiten, immer mit konkreten Gesprächspunkten statt Floskeln
2. E-Mails sortieren und entwerfen, in seinem Ton, direkt und kurz
3. Seinen Kalender prüfen, Meetings zum Auslassen oder Delegieren markieren
4. Recherchieren und verdichten, schnell und mit Quellenangaben
5. Ehrliches Feedback geben, ohne soziales Abfedern, ohne "gute Idee, aber ..."

Regeln:
- Keine Buzzwords. Nie mit "Gern!" oder "Gute Frage!" anfangen.
- Immer konkret bleiben. Wenn du etwas nicht weißt, sag es.
- Beim Entwerfen von E-Mails genau seinen Stil treffen.
- Beim Feedback mit dem Problem anfangen, nicht mit dem Lob.
- Informationen als Stichpunkte, Empfehlungen als Fließtext.

04

Morgen-Briefing

Jeden Morgen um 07:00 Uhr landet ein Briefing in deinem Postfach. Drei Abschnitte: was heute im Kalender steht, was im Postfach Aufmerksamkeit braucht, und Neuigkeiten zu deinem Portfolio oder deiner Branche. 5 Minuten Lesezeit. Spart 30 Minuten Kontextwechsel.

Gebaut in Cursor mit Python. Das Skript ruft die Google-Calendar-API, die Gmail-API und die Claude-API auf, fügt die Ergebnisse zusammen und schickt sie dir per SendGrid oder einfachem SMTP.

1

Zugriff auf die Google-API einrichten

console.cloud.google.com öffnen → New Project → Calendar API und Gmail API aktivieren → Zugangsdaten anlegen (OAuth 2.0) → die JSON-Datei mit den Zugangsdaten in den Projektordner laden.
2

Das Briefing-Skript in Cursor anlegen

Cursor öffnen, neue Datei morning_brief.py anlegen. Cursor sagen: „Schreib ein Python-Skript, das die heutigen Termine aus Google Calendar und die letzten 20 ungelesenen Gmail-Nachrichten holt und dann über die Claude-API ein Morgen-Briefing mit drei Abschnitten erzeugt: Heutiger Kalender, Prioritäten im Postfach, To-dos. Schick das Ergebnis an [deine E-Mail].“
3

Zeitplan einrichten

Auf dem Mac: cron oder Automator. Im Terminal: crontab -e, dann 0 7 * * * python3 ~/chief-of-staff/morning_brief.py hinzufügen. Läuft jeden Tag um 07:00 Uhr.
# Der Claude-Prompt in morning_brief.py

BRIEF_PROMPT = """
Du erstellst ein Morgen-Briefing für Yannic Desch.

Heutige Termine:
{calendar_events}

Ungelesene E-Mails (letzte 24 Std.):
{emails}

Erstelle ein Briefing mit genau drei Abschnitten:

HEUTIGER KALENDER
Jedes Meeting mit Uhrzeit, Teilnehmenden und einem Satz dazu, was von
Yannic gebraucht wird. Markiere Meetings, die er auslassen oder
delegieren sollte.

PRIORITÄTEN IM POSTFACH
Nur die E-Mails, die heute eine Entscheidung oder Antwort brauchen.
Newsletter, Benachrichtigungen und reine Infos ignorieren.

DREI DINGE
Die drei wichtigsten Aufgaben für heute, nach Priorität sortiert.

Das ganze Briefing unter 300 Wörtern. Direkt.
"""

05

Agent für Meeting-Vorbereitung

Dreißig Minuten vor jedem Meeting bekommst du eine Vorbereitung: wer dabei ist, worüber ihr zuletzt gesprochen habt, was du erreichen willst, und drei konkrete Gesprächspunkte. Gebaut aus deiner Wissensbasis und deinem Kalender.

1

Ein Raycast-Skript anlegen

In Raycast → Extensions → Script Commands → New Script Command. Name: „Meeting Prep“. Es startet ein Python-Skript, das den nächsten Termin nimmt und eine Vorbereitung erzeugt.
2

Den Vorbereitungs-Generator in Cursor bauen

Das Skript holt den nächsten Termin aus Google Calendar, liest die Teilnehmenden aus, sucht in people.md und companies.md nach relevantem Kontext und lässt Claude die Vorbereitung schreiben.
3

Per Tastenkürzel starten

In Raycast ein Tastenkürzel vergeben (z. B. ⌘⇧M). Vor jedem Meeting drücken. Die Vorbereitung erscheint nach 10 Sekunden.
# Prompt für die Meeting-Vorbereitung

PREP_PROMPT = """
Bereite Yannic auf dieses Meeting vor:

Meeting: {title}
Teilnehmende: {attendees}
Uhrzeit: {time}
Notizen aus dem Kalender: {description}

Kontext aus der Wissensbasis:
{relevant_context}

Erstelle:
1. KONTEXT (2–3 Sätze dazu, wer diese Menschen sind und wie die Beziehung ist)
2. ZIEL (was Yannic in diesem Meeting erreichen sollte)
3. GESPRÄCHSPUNKTE (3 konkrete Punkte, keine Floskeln)
4. VORSICHT BEI (eine Sache, die schiefgehen könnte)

Insgesamt unter 200 Wörtern. Direkt.
"""

06

E-Mail-Triage

Das Ziel ist nicht, jede E-Mail zu bearbeiten. Es geht darum, die 10 % zu finden, die wirklich dich brauchen, und für die einfachen Fälle Antworten zu entwerfen. Alles andere wird markiert und archiviert.

1

Das Triage-Skript bauen

Ein Python-Skript liest deine letzten 50 ungelesenen E-Mails, schickt sie mit deiner style.md an Claude und ordnet jede ein: Braucht Entscheidung / Braucht Antwort / Zur Info / Rauschen.
2

Antworten automatisch entwerfen

Für alles Einfache unter „Braucht Antwort“ entwirft Claude eine Antwort in deinem Ton. Der Entwurf landet in Gmail bei den Entwürfen, du prüfst und schickst ab. Du fängst nie bei null an.
3

Schwellen festlegen

In deiner style.md einen Abschnitt „## E-Mail-Regeln“ ergänzen: was am selben Tag eine Antwort bekommt, was warten kann und worauf du nie antwortest. Danach sortiert Claude.
# Prompt für die E-Mail-Triage

TRIAGE_PROMPT = """
Du sortierst Yannics Postfach. Sein Kommunikationsstil und seine
E-Mail-Regeln stehen im mitgelieferten Kontext.

Gib für jede E-Mail aus:
- KATEGORIE: [Braucht Entscheidung | Braucht Antwort | Zur Info | Rauschen]
- PRIORITÄT: [Heute | Diese Woche | Archiv]
- ZUSAMMENFASSUNG: ein Satz
- ENTWURF: (nur bei "Braucht Antwort") ein Antwortentwurf in seinem Ton

Zu sortierende E-Mails:
{emails}

Sei streng. Die meisten E-Mails sind Rauschen. Wenn es nicht genau Yannic
braucht oder die Entscheidung schon gefallen ist, ist es Rauschen.
"""

07

Kalender-Delegation

Einmal pro Woche ausführen, Sonntagabend oder Montagmorgen. Das Skript schaut auf die kommende Woche und findet jedes Meeting, bei dem du nicht wirklich gebraucht wirst. Für jedes davon entwirft es die Delegations-Nachricht.

# Prompt für den Kalender-Check

AUDIT_PROMPT = """
Prüfe Yannics Kalender für die Woche vom {week}.

Bewerte für jedes Meeting:
1. Muss Yannic wirklich dabei sein, oder könnte jemand anderes hingehen?
2. Ließe sich das asynchron erledigen (E-Mail, Loom, schriftliches Update)?
3. Wenn er dabei sein muss: Welche Entscheidung oder welcher Input wird
   konkret von ihm gebraucht?

Seine Rolle und seine Delegationsvorlieben stehen im Kontext.

Entwirf für jedes Meeting, das er delegieren oder auslassen sollte, die
genaue Nachricht. Freundlich, aber klar. Mit Vorschlag, wer stattdessen
hingeht und welchen Kontext diese Person braucht.

Format:
MEETING: [Titel]
URTEIL: [Teilnehmen | Delegieren | Auslassen | Asynchron]
GRUND: [ein Satz]
NACHRICHT: [Entwurf bei Delegieren/Auslassen]
"""

Das Ergebnis wird zur To-do-Liste. Jede Delegations-Nachricht ist fertig zum Abschicken. 10 Minuten zum Prüfen und Erledigen. Schützt 3–5 Stunden Fokuszeit pro Woche.


08

Die Oberfläche mit Cursor bauen

Warum gerade Cursor

—

Du beschreibst in normaler Sprache, was du willst. Cursor schreibt den Code. Du musst keine Python-Syntax kennen, du musst wissen, was das Programm tun soll.

—

Cursor versteht den ganzen Kontext deines Projekts. Wenn du sagst: „Füg einen fünften Tab hinzu, der meine Obsidian-Dateien bearbeitet“, liest es deinen Code und weiß genau, wo er hingehört.

—

Änderungen gehen schnell. Etwas anpassen, das Problem beschreiben, Cursor behebt es. Die Feedbackschleife dauert Minuten, nicht Stunden.

—

Es ist der Unterschied zwischen Autofahren lernen und ein Auto bauen lernen. Du bist der Operator. Cursor übernimmt das Engineering.

Die Skripte aus den vorigen Abschnitten funktionieren auch einzeln, aber ein einfaches Web-Dashboard führt alles zusammen. Gebaut an einem Nachmittag.

1

Cursor öffnen und beschreiben, was du willst

„Bau eine minimale Flask-Web-App mit fünf Tabs: Morgen-Briefing, Meeting-Vorbereitung, E-Mail-Triage, Kalender-Check und Obsidian-Editor. Jeder Tab zeigt die Ausgabe des passenden Python-Skripts und hat einen Aktualisieren-Button. Der Obsidian-Editor zeigt meine Markdown-Kontextdateien und lässt mich sie direkt bearbeiten.“
2

Den Obsidian-Vault anbinden

Cursor sagen: „Die Kontextdateien liegen unter ~/Obsidian/Chief-of-Staff/. Der Editor-Tab soll alle .md-Dateien in diesem Ordner auflisten, eine per Klick öffnen und Änderungen zurück in die Datei speichern.“ Erledigt mit einem Prompt.
3

Den Tab für Datenanalyse ergänzen

„Füg einen sechsten Tab hinzu: Data Pulse. Er verbindet sich mit [deinem API-Endpunkt], holt die letzten 7 Tage von [Kennzahl], gibt sie mit meiner priorities.md an Claude und liefert eine strukturierte Analyse. Zeig die Rohzahlen und den Kommentar von Claude nebeneinander.“
4

Lokal starten, mit Raycast aufrufen

Läuft auf localhost:5000. In Raycast ein Script Command anlegen, das diese URL öffnet. Ein Tastenkürzel, und dein ganzer Chief of Staff ist in einem Browser-Tab.

Der genaue Start-Prompt für Cursor

„Ich baue ein persönliches Dashboard für meine Führungsarbeit. Erstelle eine minimale Flask-App mit sauberem Inline-CSS, ohne Frameworks. Sechs Tabs: Morgen-Briefing, Meeting-Vorbereitung, E-Mail-Triage, Kalender-Check, Obsidian-Editor, Data Pulse. Jeder Tab hat einen Titel, einen Zeitstempel der letzten Aktualisierung, einen scrollbaren Inhaltsbereich und einen Aktualisieren-Button. Die Python-Funktionen für die Tabs ergänze ich selbst, bau erst das Gerüst. Ich bin der einzige Nutzer, also keine Anmeldung.“


09

Der ganze Stack

Wenn alles verbunden ist, sieht dein Arbeitstag so aus.

07:00

Das Morgen-Briefing ist im Postfach. In 5 Minuten gelesen.

08:30

Dashboard öffnen. Über Nacht geänderte Kontextdateien prüfen.

Vor jedem Termin

Raycast → ⌘⇧M → Meeting-Vorbereitung in 10 Sekunden.

12:00

Die E-Mail-Triage läuft. Antwortentwürfe prüfen, abschicken oder anpassen.

Sonntag 20:00

Kalender-Check für die Woche. Delegations-Nachrichten verschickt.

Wöchentlich

priorities.md aktualisieren. Das ganze System stellt sich neu ein.

Die Tools im Stack

Claude API

Gehirn: alles Denken, Analysieren und Schreiben

Microsoft Office MCP

Live-Zugriff auf Outlook-Kalender, E-Mails und Office-Dateien

Obsidian

Lokaler Markdown-Vault: persönliche Wissensbasis

Cursor

Baut alle Skripte, Integrationen und die Dashboard-Oberfläche

Direkte Daten-APIs

Portfolio-Kennzahlen, CRM, BI-Tools: Rohdaten für Analysen

Raycast

Tastenkürzel und Ein-Klick-Start für jeden Agent

Python

Verbindet APIs, Dateien und Claude

Flask

Lokales Web-Dashboard: die Oberfläche deines Chief of Staff

Das Wichtigste

Fang mit der Wissensbasis und dem Morgen-Briefing an. Bring beides an einem Tag zum Laufen. Nutz es eine Woche. Dann kommt die Meeting-Vorbereitung dazu, dann die E-Mail-Triage. Bau in Schichten: Jede muss sich bewähren, bevor die nächste kommt.