+220 XP

Capstone: ein realer End-to-End-Workflow mit Claude

Sie bauen einen Research-to-Report-Assistenten. Er startet jeden Montag, holt frische Daten aus Ihren Live-Quellen, entwirft einen strukturierten Report im Ton Ihres Hauses und legt ihn dort ab, wo Ihr Team ohnehin arbeitet. Kein Copy-and-paste, kein Aufpassen auf ein Chatfenster. In dieser Lektion geht es um die Architekturentscheidungen, nicht um die einzelnen Handgriffe. So können Sie Ihre eigene Domäne einsetzen (Competitive Intelligence, wöchentliche Kennzahlen, regulatorisches Monitoring), ohne etwas neu zu schreiben.

Wir setzen ihn aus den Bausteinen zusammen, die Sie bereits kennen: Projects, Connectors, MCP, Claude Code, die Messages API und ein Zeitplan. **Die eigentliche Kompetenz besteht darin, für jede Aufgabe den *richtigen* Baustein zu wählen.**

Der Workflow von Anfang bis Ende

So sieht das aus, was wir bauen:

  1. Der Kontext liegt in einem Project, damit jeder Lauf mit demselben Hintergrund, denselben Quellen und denselben Anweisungen startet.
  2. Live-Daten kommen über Connectors oder einen eigenen MCP-Server herein, nicht über veraltete eingefügte Inhalte.
  3. Die eigentliche Arbeit (mehrstufiges Reasoning, Dateierzeugung) läuft über Claude Code oder die Messages API.
  4. Ton und Format werden mit einem Style und einem wiederverwendbaren Skill durchgesetzt.
  5. Ein Zeitplan löst das Ganze aus, sodass es ohne Sie läuft.

Der häufigste Fehler ist, alle fünf in einen riesigen Prompt zu packen. Halten Sie sie getrennt. Jede Ebene ändert sich in einem anderen Tempo: Ihr Kontext entwickelt sich langsam, Ihre Daten ändern sich täglich, Ihre Formatierung fast nie. Erst die Trennung macht das System wartbar.

Ebene 1: Das Project als Rückgrat für den Kontext

Beginnen Sie in der Claude-App und legen Sie ein Project für diesen Assistenten an. Ein Project ist ein Workspace, der dauerhafte Anweisungen und eine Wissensbasis aus Dateien in jede Unterhaltung darin mitnimmt.

Tragen Sie drei Dinge in die Custom Instructions des Projects ein:

  • Die Aufgabe: „Sie erstellen einen wöchentlichen Competitive-Intelligence-Report zum Markt für E-Auto-Ladeinfrastruktur.“
  • Zielgruppe und Rahmenbedingungen: wer den Report liest, wie lang er sein soll, was niemals hineingehört.
  • Der Output-Vertrag: die exakten Abschnittsüberschriften, die der Report immer enthalten muss.

Laden Sie Ihre Referenzdateien in das Project Knowledge hoch: die Reports des letzten Quartals, Ihre Taxonomie der Wettbewerber, ein Glossar. Das ist der langsam veränderliche Kontext. Sie legen ihn einmal fest, und er bildet die Grundlage für jeden Lauf.

Warum ein Project und nicht einfach ein System-Prompt in der API? Weil Sie auch eine Oberfläche für Menschen brauchen. Wenn der geplante Lauf etwas Seltsames liefert, öffnen Sie das Project, stellen Rückfragen mit demselben Kontext und debuggen interaktiv. Das Project und die Automatisierung teilen sich dasselbe Gehirn.

Den aktuellen Funktionsumfang finden Sie in der Projects-Dokumentation.

Ebene 2: Live-Daten über Connectors und MCP

Ein Report ist nur so gut wie sein aktuellster Input. Hier zeigt MCP (Model Context Protocol) seinen Wert. MCP ist ein offener Standard, über den Claude mit externen Tools und Datenquellen über eine einheitliche Schnittstelle kommuniziert. Sie müssen also nicht für jede Quelle eine eigene Integration von Hand bauen.

Sie haben zwei Wege:

Connectors sind vorgefertigte MCP-Integrationen, die Sie im Connector-Verzeichnis der Claude-Apps aktivieren: etwa Google Drive, Websuche und ein wachsender Marktplatz von Drittanbieterdiensten. Wenn Ihre Daten bereits an einem Ort liegen, für den es einen offiziellen Connector gibt, nutzen Sie ihn. Null Code.

Einen eigenen MCP-Server bauen Sie, wenn Ihre Daten an einem individuellen Ort liegen: eine interne Preisdatenbank, eine Partner-API, eine Scraping-Pipeline. Sie stellen diese Quelle als kleinen Server bereit, der MCP spricht, und Claude kann ihn dann wie jedes andere Tool aufrufen.

Angenommen, wir brauchen für unseren E-Auto-Report aktuelle Zahlen zum Ausbau von Ladestationen aus einer internen API. Ein minimales MCP-Server-Tool sieht so aus:

python
from mcp.server.fastmcp import FastMCP
import httpx

mcp = FastMCP("ev-data")

@mcp.tool()
async def get_deployments(region: str, since_days: int = 7) -> dict:
    """Fetch new charger deployments for a region in the last N days."""
    url = f"https://internal.example.com/deployments"
    params = {"region": region, "since_days": since_days}
    async with httpx.AsyncClient() as client:
        resp = await client.get(url, params=params, timeout=30)
        resp.raise_for_status()
        return resp.json()

if __name__ == "__main__":
    mcp.run()

Das ist das ganze Muster. Eine dekorierte Funktion wird zu einem Tool, das Claude über seinen Namen aufrufen kann. Der Docstring dient als Beschreibung, anhand derer das Modell entscheidet, wann es das Tool aufruft. Schreiben Sie präzise Docstrings: Sie sind Teil des Prompts, nicht bloß Kommentare.

Spezifikation und SDKs finden Sie unter modelcontextprotocol.io.

Entscheidungsregel: Greifen Sie zuerst zu einem Connector. Bauen Sie einen eigenen MCP-Server nur, wenn es keinen Connector gibt oder Ihre Quelle privat ist. Bauen Sie nichts, was Sie einfach aktivieren können.

Ebene 3: Die Engine, Claude Code oder die API

Jetzt die eigentliche Arbeit: Daten lesen, quellenübergreifend schlussfolgern, den Report schreiben, eine Datei speichern. Sie haben zwei Engines, und die Wahl ist wichtig.

Claude Code ist das agentische Coding-Tool von Anthropic, das in Ihrem Terminal läuft. Es ist nicht nur zum Schreiben von Software da. Es kann Dateien in einem Arbeitsverzeichnis lesen und schreiben, Befehle ausführen und Ihre MCP-Server aufrufen. Damit ist es ein leistungsfähiger *Workflow*-Runner. Für unseren Report kann Claude Code in einer einzigen agentischen Schleife Daten holen, sie zusammenführen und report-2026-W12.md auf die Festplatte schreiben.

Die Messages API (oder das darauf aufbauende Claude Agent SDK) nutzen Sie, wenn Sie das Ganze in Ihren eigenen Service einbetten wollen: eine Web-App, eine Lambda-Funktion, eine bestehende Daten-Pipeline. Mehr Kontrolle, mehr Code.

Für ein Capstone, das Sie für sich selbst oder ein kleines Team betreiben, ist Claude Code der schnellere Weg. Es übernimmt bereits die Agent-Schleife, Datei-I/O und Tool-Aufrufe. Sie konfigurieren Ihre MCP-Server einmal in den Einstellungen und geben ihm einen Prompt.

Das ist die MCP-Konfiguration auf Projektebene, die Claude Code liest:

json
{
  "mcpServers": {
    "ev-data": {
      "command": "python",
      "args": ["./servers/ev_data.py"]
    }
  }
}

Sobald das steht, führt eine einzige Anweisung die gesamte Kette aus, etwa: „Erstelle den Report dieser Woche mit dem Tool ev-data für die Regionen West und Northeast, halte dich an den Abschnittsvertrag des Projects und speichere ihn als datierte Markdown-Datei.“

Das Agent SDK ist später die richtige Wahl, wenn das Ganze headless in der Produktionsinfrastruktur laufen soll, mit eigener Retry-Logik, eigenem Logging und eigenen Guardrails. Sie finden es unter github.com/anthropics.

🎬 [VIDEO: "Building Agents with Claude Code and MCP" - youtube.com/results?search_query=claude+code+mcp+agents - eine Schritt-für-Schritt-Anleitung, wie Sie MCP-Server für mehrstufige automatisierte Workflows in Claude Code einbinden]

Ebene 4: Ton und Struktur mit Styles und Skills

Ihr Report darf sich nicht wie generischer KI-Text lesen. Zwei Funktionen lösen das.

Styles steuern Ton und Schreibkonventionen. Erstellen Sie aus einigen Ihrer früheren Reports einen eigenen Style, damit der Output zum Ton Ihres Hauses passt: knapp, ohne Absicherungsfloskeln, viele Aufzählungspunkte. Styles werden pro Unterhaltung gewählt. Wählen Sie Ihren also immer, wenn Sie im Project arbeiten, und übernehmen Sie die wichtigsten Regeln in run.md für den automatisierten Lauf, denn Claude Code liest keine App-Styles.

Skills sind gebündelte, wiederverwendbare Anweisungen plus optionale Ressourcen, die Claude lädt, wenn sie relevant sind. Bauen Sie für unseren Report einen Skill, der das *Verfahren zur Report-Erstellung* festhält: wie Quellen gewichtet werden, wie Aussagen mit geringer Sicherheit markiert werden, das exakte Tabellenformat für die Ausbauzahlen. Ein Skill ist beständiger, als all das in einen Prompt zu stopfen, und Sie können ihn versionieren.

Die Aufteilung ist klar: **Der Style bestimmt, *wie es klingt*, der Skill bestimmt, *wie es aufgebaut ist***. Halten Sie Formatierungslogik aus Ihrer Datenebene und aus Ihrer Engine heraus. Wenn Ihre Chefin im nächsten Quartal einen neuen Abschnitt möchte, ändern Sie den Skill und sonst nichts.

Wissenscheck

1. Warum rät die Lektion davon ab, alle fünf Ebenen (Kontext, Daten, Reasoning, Formatierung, Zeitplanung) in einen riesigen Prompt zu packen?

2. Was ist laut der Lektion der Hauptzweck, ein Project als „Rückgrat für den Kontext“ des Assistenten zu nutzen?

3. Warum werden Live-Daten im Workflow über Connectors oder einen eigenen MCP-Server eingespielt, statt sie in das Project einzufügen?

MEHRFACHAUSWAHL

4. Wählen Sie ALLE Punkte aus, die laut der Lektion in die Custom Instructions des Projects gehören.

Wählen Sie alle richtigen Antworten aus.

MEHRFACHAUSWAHL

5. Wählen Sie ALLE Aussagen aus, die die Begründung für die Ebenen-Architektur in diesem Capstone-Workflow korrekt beschreiben.

Wählen Sie alle richtigen Antworten aus.

Ebene 5: Der Zeitplan

Ein Assistent, den Sie von Hand starten müssen, ist keine Automatisierung. Sie brauchen einen Trigger.

Claude Code läuft als Befehl, der Scheduler ist also einfach Ihr Betriebssystem oder Ihre CI. Am saubersten ist ein Cron-Job (ein Unix-Scheduler, der einen Befehl nach einem Zeitmuster ausführt) oder ein GitHub-Actions-Workflow.

Ein Cron-Eintrag für jeden Montag um 7 Uhr:

bash
0 7 * * 1 cd ~/ev-report && claude -p "Generate this week's report using the prompt in run.md" >> run.log 2>&1

Das Flag -p startet Claude Code im nicht interaktiven Modus („print“): Es führt den Prompt aus, erledigt seine agentische Arbeit und beendet sich. Genau das macht es skriptfähig. Ihre run.md enthält die feste Anweisung, sodass die Cron-Zeile stabil bleibt.

Für ein Team verlagern Sie das besser in GitHub Actions. Ein geplanter Workflow führt denselben Befehl auf GitHub-gehosteten oder selbst gehosteten Runnern aus und committet den erzeugten Report ins Repo. Über die GitHub-Integration kann das Modell einen Pull Request mit dem Entwurf zur menschlichen Prüfung öffnen, bevor irgendetwas rausgeht. Diese Prüfschleife ist wichtig: Sie wollen, dass ein Mensch den Report freigibt, und nicht, dass ein Roboter ungelesene Aussagen an Stakeholder veröffentlicht.

Die Schnittstellen zusammenfügen

Treten Sie einen Schritt zurück und sehen Sie sich an, wie die Ebenen ineinandergreifen:

  • Das Project hält den langsam veränderlichen Kontext und bietet Ihnen eine Oberfläche zum Debuggen.
  • MCP/Connectors liefern frische Daten über eine einheitliche Schnittstelle.
  • Claude Code steuert die agentische Schleife und schreibt Dateien.
  • Styles + Skills setzen Ton und Struktur unabhängig voneinander durch.
  • Cron oder GitHub Actions starten das Ganze nach Zeitplan, mit einer menschlichen Freigabe.

Jede Schnittstelle ist eine Stelle, an der Sie ein Teil austauschen können, ohne den Rest anzufassen. Neue Datenquellen? Neuer MCP-Server, gleiche Engine. Wechsel der Engine zum Agent SDK für die Produktion? Gleiche MCP-Konfiguration, gleicher Skill. Das ist die eigentliche Lehre dieses Capstones: Gute KI-Workflows bestehen *aus austauschbaren Teilen*, nicht aus monolithischen Prompts.

Ein Hinweis zu Fehlerquellen

Zwei Dinge gehen zuerst kaputt, also planen Sie jetzt dafür.

Veraltete oder leere Daten. Ihr MCP-Tool sollte ein klares Signal zurückgeben, wenn eine Quelle nicht erreichbar ist, und Ihr Skill sollte Claude anweisen, einen eingeschränkten Report zu kennzeichnen, statt fehlende Zahlen zu halluzinieren. Ein Report, in dem steht „Ausbaudaten diese Woche nicht verfügbar“, ist korrekt. Einer, der Zahlen erfindet, ist gefährlich.

Schleichende Drift. Planen Sie einmal im Monat, dass ein Mensch einen vollständigen Output von Anfang bis Ende liest. Automatisierung verdeckt langsamen Verfall. Das Project ist genau der richtige Ort für dieses Audit, weil es den Kontext mit dem automatisierten Lauf teilt.

Key Takeaways

  • Trennen Sie die fünf Ebenen (Kontext, Daten, Engine, Formatierung, Zeitplan) nach ihrem Änderungstempo. Langsamer Kontext gehört in ein Project, tägliche Daten laufen über MCP, dauerhafte Formatierung gehört in einen Skill.
  • Aktivieren Sie einen Connector, bevor Sie einen MCP-Server bauen. Bauen Sie einen Server nur für private oder individuelle Quellen selbst, und schreiben Sie präzise Tool-Docstrings, denn Claude liest sie als Prompt.
  • Nutzen Sie für das Capstone Claude Code mit -p und steigen Sie erst auf das Claude Agent SDK um, wenn Sie headless Kontrolle in der Produktion brauchen.
  • Behalten Sie eine menschliche Freigabe bei. Lassen Sie die GitHub-Integration einen Pull Request mit dem Entwurf öffnen, damit ein Mensch abzeichnet, bevor Stakeholder ihn sehen.
  • Planen Sie für Fehler: Machen Sie fehlende Daten explizit sichtbar und planen Sie ein regelmäßiges menschliches Audit über das gemeinsame Project ein, um schleichende Drift zu erkennen.

Was Sie aus dieser Lektion umsetzen

Diese Maßnahmen sind im Playbook der Rolle zusammengefasst.

  • Jeden geplanten Run idempotent machen: datierte Outputs und Done-Checks
Vollständiges Action Playbook ansehen →