+180 XP

Kern-Workflows: planen, editieren, ausführen, prüfen

# Kern-Workflows: planen, editieren, ausführen, prüfen

Der größte Fehler im Umgang mit Claude Code ist, es wie einen Automaten zu behandeln: eine vage Anfrage einwerfen und hoffen, dass ein fertiges Feature herausfällt. Die Engineers, die echten Hebel erzielen, fahren stattdessen einen engen Loop: Aufgabe eingrenzen, Claude planen lassen, kleine Edits machen, Tests laufen lassen und den Diff prüfen, bevor etwas main berührt. Diese Lektion geht diesen Loop von Anfang bis Ende durch.

Falls Sie es noch nicht installiert haben: Claude Code ist Anthropics terminalbasierter Coding-Agent. Sie führen claude in einem Repo aus, es liest Ihre Dateien, schlägt Änderungen vor und führt mit Ihrer Erlaubnis Befehle aus. Die Claude Code Docs sind die maßgebliche Referenz; in dieser Lektion geht es um die *Gewohnheiten*, die es verlässlich machen.

Eingrenzen, bevor Sie tippen

Claude Code ist am schlechtesten, wenn das Ziel unscharf ist. „Refactor das Auth-Modul“ lädt zu einer ausufernden, schwer prüfbaren Änderung ein. Die Lösung: eng eingrenzen, bevor Sie irgendetwas verlangen.

Eine gut eingegrenzte Aufgabe hat drei Eigenschaften:

  • Eine klare Grenze. Ein Modul, ein Bug, ein Endpoint. Nicht „die ganze Pipeline“.
  • Eine Definition of Done. Meist ein Test, der besteht, oder ein Verhalten, das Sie prüfen können.
  • Genannte Dateien, wenn Sie sie kennen. Claude auf src/auth/session.ts zu zeigen ist besser, als es blind greppen zu lassen.

Vergleichen Sie diese zwei Einstiege:

> Fix den Login-Bug.

> In src/auth/session.ts laufen Sessions nach dem 30-Minuten-TTL nicht ab. Finde die Ursache und behebe sie. In session.test.ts gibt es einen fehlschlagenden Test, der danach bestehen soll.

Der zweite gibt Claude eine Grenze, eine Done-Bedingung und eine Startdatei. Sie erhalten eine kleinere, korrektere Änderung.

Plan mode: denken, bevor editiert wird

Plan mode ist das Feature, das Claude Code von einem Code-Generator zu einem Mitarbeiter macht. Wenn Sie ihn aktivieren, untersucht Claude Ihre Codebase und erstellt einen schriftlichen Plan, ohne Dateien zu verändern. Auf der Platte passiert nichts, bis Sie zustimmen.

Sie schalten ihn während einer Session um. Shift+Tab wechselt durch die Permission-Modes (dazu unten mehr); einer davon ist plan mode. Sie können eine Session auch darin starten.

Der Unterschied in der Praxis: Ohne plan mode schreibt Claude vielleicht sofort drei Dateien auf Basis einer Vermutung um. Im plan mode kommt es mit etwas wie diesem zurück:

> Plan: Der TTL-Check in validateSession() vergleicht createdAt mit Date.now(), nutzt aber auf einer Seite Sekunden und auf der anderen Millisekunden. Ich werde: (1) beide auf Millisekunden normalisieren, (2) einen Guard für fehlendes createdAt ergänzen, (3) bestätigen, dass session.test.ts besteht. Soll ich fortfahren?

Jetzt können Sie den Ansatz korrigieren, *bevor* ein einziger Edit passiert. Wenn Claude den Bug falsch gelesen hat, verbringen Sie zehn Sekunden mit Umlenken, statt einen falschen 200-Zeilen-Diff zu prüfen. Für alles Nicht-Triviale: erst planen. Es kostet ein paar Sekunden; der Gewinn ist Steuerung zum günstigsten Zeitpunkt.

Permission modes: wie viel Leine man gibt

Claude Code läuft nicht wild auf Ihrer Maschine. Jede potenziell wirksame Aktion (Datei editieren, Shell-Befehl ausführen, Netzwerkzugriff) wird durch einen Permission-Mode kontrolliert: die Policy, die entscheidet, was Claude ohne Rückfrage tun darf.

Die praktisch relevanten Modes:

  • Default (ask). Claude schlägt jeden Edit und Befehl vor und wartet auf Ihre Zustimmung. Am sichersten. Nutzen Sie ihn bei unbekanntem Code oder allem in Produktionsnähe.
  • Plan mode. Nur lesen und analysieren. Keine Edits, keine Befehle. Zum Eingrenzen und Entwerfen.
  • Accept edits. Claude wendet Datei-Edits automatisch an, fragt aber vor dem Ausführen von Befehlen. Gut, wenn Sie den Edits vertrauen, aber bei der Ausführung ein Gate wollen.
  • Bypass / „dangerously skip permissions“. Claude handelt ohne zu fragen. Schnell und wirklich riskant. Reservieren Sie das für Sandboxes, Wegwerf-Branches oder Container, die Sie jederzeit plattmachen können.

Neue Nutzer neigen dazu, Permissions zu überspringen, um „schneller zu sein“. Widerstehen Sie dem in echten Repos. Der ganze Wert des Loops liegt darin, dass Sie darin bleiben. Ein guter Default: plan mode zum Entwerfen, accept-edits zum Umsetzen, manuelle Zustimmung für jeden Befehl, der außerhalb des Arbeitsverzeichnisses schreibt.

Sie können außerdem bestimmte Tools vorab autorisieren, damit Sie nicht fünfzigmal denselben harmlosen Befehl freigeben. Setzen Sie sie in .claude/settings.json im Repo-Root auf die Allowlist:

json
{
  "permissions": {
    "allow": [
      "Bash(npm test:*)",
      "Bash(npm run lint)",
      "Read(src/**)"
    ],
    "ask": ["Bash(git push:*)"]
  }
}

Das heißt: Test- und Lint-Befehle frei ausführen, alles unter src/ lesen, aber vor dem Pushen immer stoppen und fragen. Committen Sie diese Datei und Ihr ganzes Team erbt dieselben Guardrails.

In kleinen, prüfbaren Schritten editieren

Die Versuchung ist, das ganze Feature auf einmal zu verlangen. Tun Sie es nicht. Die prüfbare Einheit ist der Diff, den *Sie* im Kopf behalten können, und das sind meist 50 bis 150 Zeilen, nicht 600.

Teilen Sie die Arbeit in Schritte und geben Sie jeden einzeln frei:

1. „Füge die Konstante SessionTTL hinzu und binde sie in den Config-Loader ein.“

2. „Behebe jetzt den Einheiten-Mismatch in validateSession().“

3. „Ergänze einen Regressionstest für den Expiry-Fall.“

Nach jedem Schritt sehen Sie, was sich geändert hat. Das ist keine Bürokratie; so erwischen Sie eine falsche Abzweigung bei Schritt eins, statt sie bei Schritt fünf zurückzurollen. Kleine Schritte halten auch Claudes Kontext fokussiert: es denkt über eine Änderung nach, statt ein ganzes Epic zu jonglieren.

Ein nützliches Prompt-Muster: Beenden Sie Anfragen mit „Mach nur diese Änderung. Stopp und zeig sie mir, bevor du etwas anderes tust.“ Das hält ein eifriges Modell davon ab, drei Schritte vorauszurennen.

Tests laufen lassen, Claude die Failures lesen lassen

Sobald die Edits drin sind, lassen Sie Ihre Tests laufen. Der starke Move ist, Claude sie selbst ausführen zu lassen (per Allowlist, wie oben) und den Output zu lesen. Fehlschlagende Tests sind das Feedback mit dem höchsten Signalgehalt, das Sie einem Coding-Agent geben können.

bash
claude "Run the test suite. If anything fails, diagnose and fix it, then re-run until green. Show me the diff before committing."

Claude führt npm test aus (oder was Ihr Projekt nutzt), parst die Failures, patcht und loopt. Dieser geschlossene Feedback-Zyklus ist der Punkt, an dem Claude Code sich bezahlt macht: es rät nicht, ob der Fix funktioniert hat, es *prüft* es. Ihre Aufgabe ist, dafür zu sorgen, dass die Tests aussagekräftig sind. Wenn Ihr Test nichts Echtes prüft, bedeutet ein grüner Durchlauf nichts, und das liegt an Ihnen, nicht am Modell.

Claude Code in Action: The Plan-Edit-Test Loop

Watch on YouTube

Slash Commands: die Steuerung, die Sie tatsächlich nutzen

Slash Commands sind getippte Shortcuts innerhalb einer Claude-Code-Session. Ein paar sollten Sie im Schlaf kennen:

  • `/clear` löscht den Gesprächskontext. Nutzen Sie es zwischen unabhängigen Aufgaben, damit altes Reasoning nicht hineinblutet. Günstig und zu selten genutzt.
  • `/review` bittet Claude, Code zu prüfen, oft einen offenen Diff oder PR.
  • `/init` legt eine CLAUDE.md an: ein Projekt-Gedächtnis, in dem Sie Build-Befehle, Konventionen und Fallstricke festhalten, damit Claude sie in jeder Session liest.
  • `/model` wechselt das Claude-Modell der Session.
  • `/permissions` öffnet die Permission-Einstellungen.

Der wertvollste ist der, den Sie selbst schreiben. Custom Slash Commands sind einfach Markdown-Dateien in .claude/commands/. Erstellen Sie .claude/commands/fix-issue.md:

markdown
Find the root cause of issue #$ARGUMENTS, scope a minimal fix,
write a failing test that reproduces it, then make it pass.
Show me the diff before committing.

Jetzt führt /fix-issue 412 diesen gesamten Workflow mit eingesetzter Issue-Nummer aus. Alles, was Sie wiederholt tun, sollte ein Command werden, den Ihr Team über das Repo teilt.

Wissenscheck

1. Was ist laut Lektion der zentrale Fehler im Umgang mit Claude Code?

2. Warum bevorzugt die Lektion den Einstieg „In src/auth/session.ts laufen Sessions nach dem 30-Minuten-TTL nicht ab… ein fehlschlagender Test soll danach bestehen“ gegenüber „Fix den Login-Bug“?

3. Was unterscheidet plan mode grundlegend von Claudes Standard-Editierverhalten?

MEHRFACHAUSWAHL

4. Wählen Sie ALLE Eigenschaften, die eine gut eingegrenzte Aufgabe laut Lektion haben sollte.

Wählen Sie alle richtigen Antworten aus.

MEHRFACHAUSWAHL

5. Wählen Sie ALLE Aussagen, die die Hinweise der Lektion zum Kern-Workflow und zu plan mode korrekt wiedergeben.

Wählen Sie alle richtigen Antworten aus.

Den Diff prüfen, als hätten Sie ihn geschrieben

Hier ist die Disziplin, die Profis von Prompt-and-pray-Nutzern trennt: Sie prüfen jeden Diff vor dem Commit, genauso wie Sie den Pull Request eines menschlichen Kollegen prüfen würden.

Fordern Sie den Diff explizit an oder nutzen Sie /review. Und lesen Sie ihn dann wirklich. Achten Sie auf die Fehlermuster, die für KI-generierten Code typisch sind:

  • Stiller Scope Creep. Sie haben einen TTL-Fix verlangt; der Diff hat „hilfsbereit“ auch drei Funktionen umbenannt. Lehnen Sie die Extras ab.
  • Plausible, aber falsche Logik. Code, der sich sauber liest und subtil falsch ist, ist Claudes gefährlichster Output. Die Tests fangen viel; Ihre Augen fangen den Rest.
  • Gelöschte Edge Cases. Ein „saubereres“ Rewrite, das stillschweigend einen Null-Check entfernt hat.
  • Verschluckte Fehler. Ein try/catch, das genau den Fehler verdeckt, den Sie debuggt haben.

Weil Sie in kleinen Schritten gearbeitet haben, geht diese Prüfung schnell. Ein 100-Zeilen-Diff gegen einen klaren Plan dauert ein paar Minuten. Ein 600-Zeilen-Diff gegen eine vage Anfrage ist der Ort, an dem Bugs in main rutschen.

Committen, dann über GitHub pushen

Wenn der Diff stimmt, committen Sie ihn. Claude kann die Message schreiben; Sie bestätigen, dass sie zu dem passt, was sich tatsächlich geändert hat.

Für die letzte Meile geht die Claude GitHub Integration über Ihr Terminal hinaus. Taggen Sie @claude in einem Issue oder PR-Kommentar, und es kann Pull Requests öffnen, auf Review-Feedback reagieren und als GitHub Action in CI laufen. Der lokale Loop, den Sie gerade geübt haben (plan, edit, run, review), ist derselbe Loop, nur läuft er jetzt auf einem Pull Request, wo Ihre Teamkollegen den Diff ebenfalls prüfen.

Diese Symmetrie zählt. Die Gewohnheiten skalieren: ein enger Loop auf Ihrem Laptop ist ein enger Loop in CI.

Den Loop zusammensetzen

Eine echte Session, von vorn bis hinten:

1. Scope. „Sessions laufen nach dem 30-Min-TTL nicht ab. Behebe das in session.ts, bring session.test.ts zum Bestehen.“

2. Plan (Shift+Tab in den plan mode). Claudes Diagnose lesen, zustimmen oder korrigieren.

3. Edit (accept-edits mode). Die minimale Änderung anwenden.

4. Run. Claude die Suite laufen und bis grün iterieren lassen.

5. Review. Den Diff lesen. Scope Creep ablehnen.

6. Commit und Push. Die Message bestätigen, den PR öffnen.

Jeder Schritt ist ein Checkpoint, an dem eine falsche Abzweigung Sekunden statt Stunden kostet.

Wichtigste Erkenntnisse

  • Grenzen Sie jede Aufgabe auf eine Grenze, eine Done-Bedingung und genannte Dateien ein. Vage Anfragen produzieren ausufernde, nicht prüfbare Diffs.
  • Planen Sie, bevor Sie editieren. Nutzen Sie plan mode (Shift+Tab), damit Sie den Ansatz korrigieren können, bevor sich eine einzige Datei ändert, also wenn Steuern am günstigsten ist.
  • Setzen Sie Permission-Modes bewusst und nehmen Sie harmlose Befehle in .claude/settings.json auf die Allowlist. Plan mode zum Entwerfen, accept-edits zum Bauen und manuelle Zustimmung für alles, was außerhalb des Arbeitsverzeichnisses schreibt.
  • Arbeiten Sie in Schritten von 50 bis 150 Zeilen und lassen Sie Claude die Tests laufen. Fehlschlagende Tests sind das Feedback mit dem höchsten Signalgehalt, auf das ein Agent reagieren kann.
  • Prüfen Sie jeden Diff vor dem Commit wie einen PR, und achten Sie auf Scope Creep und plausible, aber falsche Logik. Machen Sie aus wiederkehrenden Workflows Custom Slash Commands, die Ihr Team teilt.

Was Sie aus dieser Lektion umsetzen

Diese Maßnahmen sind im Playbook der Rolle zusammengefasst.

  • Nutzen Sie den Plan-Modus, um das Vorgehen festzulegen, bevor Dateien geändert werden
  • Schreiben Sie teilbare Slash Commands für Aufgaben, die Sie wiederholt auslösen
Vollständiges Action Playbook ansehen