Vuncloud Blog
← Zurück zu den Feldnotizen

Braucht Claude Code CLAUDE.md? Karpathy Skills mit 10 echten Tickets getestet

Irrelevante Diffs −78 %, erstes CI +30 pp — eine Woche Praxistest · Feldnotizen · 2026.06.01 ·ca. 16 Min.

Code-Editor auf einem MacBook — Metapher für einen A/B-Versuch mit Karpathy CLAUDE.md in Claude Code

Zuerst die Zahlen. Ob Karpathy Skills (Community-Regeln in CLAUDE.md) wirklich helfen, habe ich mit 10 echten Tickets geprüft — Claude Opus 4.8 fix, einzige Variable: Karpathy-Vierer an oder aus. Nach einer Woche bleiben hängen:

Größter Effekt: irrelevante Codeänderungen ca. 78 % weniger
Median irrelevanter Pfad-Diffs: 18 %4 %. Erstes xcodebuild test-Grün in derselben Task-Gruppe: 5/10 → 8/10 (+30 pp). Median manuelles CR: 38 → 22 Min.

Enttäuschend war auch was — bei einer Einzeiler-Konstante halfen die Regeln kaum, dafür kam eine Extra-Runde „Annahmen klären“. Erfolg und Fail dokumentiere ich gleichermaßen, plus unsere finale CLAUDE.md zum Kopieren (für Suchende nach Claude Code Rules / Claude Code Prompt).

−78%
Irrelevante Pfad-Diffs (Median, 10 Tickets)
+30pp
Erstes CI-Grün (5/10 → 8/10)
10
Echte Tickets · claude-opus-4-8 fix

Warum Claude Code am Falschen herumfeilt

Es ist selten „schwaches Modell“, sondern ein anderes Optimierungsziel: schnell einen „fertig wirkenden“ Patch liefern — mehr Abstraktion, Nachbarfiles anfassen, Unklarheiten nicht nachfragen. Andrej Karpathy hat auf X vier chronische Muster benannt: loslegen ohne Klärung, Over-Engineering bei einfachen Specs, Nebenbei-Fixes in falschen Dateien, „fertig“ statt verifizierbarem Ziel.

Früh 2026 hat die Community das in ein CLAUDE.md von wenigen Dutzend Zeilen gepackt (forrestchang/andrej-karpathy-skills, kurz Karpathy Skills). Kein neues Runtime — vier Verhaltensverträge, die Claude Code jede Sitzung liest. Mich interessierte: I tested it — wie groß sind die Zahlen?

Was Karpathy Skills sind

„Skills“ im Namen, in der Praxis eine Projekt-Anweisungsdatei — nicht OpenAI-GPT-Skills, nicht OpenHuman-SKILL.md. Claude Code liest CLAUDE.md im Repo-Root (plus Plugin-Text global) bevor die erste Zeile Code entsteht und lenkt so Denken und Diff-Schnitt.

Die vier Prinzipien entsprechen dem Upstream-CLAUDE.md:

  • Think Before Coding: Hypothesen benennen, Ambiguität zeigen, einfachere Wege vorschlagen — nicht still eine Interpretation wählen.
  • Simplicity First: Minimale Lösung. Keine ungefragten Abstraktionen, Configs oder „für später“-Schichten.
  • Surgical Changes: Nur task-relevante Zeilen. Kein Aufräumen/Formatieren nebenan. Eigener Dead Code weg; Legacy nur erwähnen.
  • Goal-Driven Execution: Bugs/Validierung in prüfbare Ziele (wenn möglich failing Test zuerst). Mehrschritt: Verify pro Schritt.

Installation: Plugin /plugin install andrej-karpathy-skills@karpathy-skills oder Upstream-CLAUDE.md ins Root mergen — unten steht die kopierbare Endversion.

So habe ich gemessen

Variablen eng gehalten (Lauf auf Mac mini M4 Cloud Mac — tmux-Langlauf und xcodebuild ohne Abbruch; Zahlen lokal reproduzierbar):

  • 10 echte Tickets: vier kleine Swift-Features, zwei Cross-File-Renames, zwei Test-Ergänzungen, zwei CI-Skripte.
  • Modell fix: claude-opus-4-8, Effort high, keine Minor-Upgrades in derselben Woche.
  • Einzige Variable: Kontrolle = alte CLAUDE.md ohne Karpathy; Experiment = Vierer + zwei Teamregeln unten.
  • Jedes Ticket zweimal (A→B oder tageweise alternierend), gegen „guter Tag“-Bias.

Fünf Metriken, die im Review wirklich Zeit fressen:

Metrik Bedeutung Erfassung
Scope creep Anteil irrelevanter Dateien / Hunks git diff --stat vs. deklarierte Pfade
Diff-Volumen Ob ± Zeilen über Task-Nötiges hinausgehen Zeilenzählung + manuell „ging kleiner“
Erstes Grün xcodebuild test / CI vor erstem PR Build-Log auf derselben Cloud-Mac-Maschine
Revert / Neu Revert oder Agent-Neuwrite innerhalb 48 h nach Merge Ticket + git log
Klärung vor Code Hypothesen / Optionen vor Implementierung Session-Export, manuell 0/1

Ergebnisse der 10 Tickets

Tabelle = Median (n=10, kein offizieller Benchmark). Eine Zahl merken: irrelevante Diffs −78 %.

Metrik Ohne Karpathy (Median) Mit Karpathy (Median) Relative Änderung
Anteil irrelevanter Pfad-Diffs 18 % 4 % ca. −78 %
Task-relevante Diff-Zeilen (± gesamt) 412 286 ca. −31 % (weniger Over-Implementation)
Erstes CI-Grün 5/10 8/10 +30 pp
Revert / Neuwrite in 48 h 3/10 1/10 −67 % (kleines n, Größenordnung)
Klärung vor Code (0/1) 2/10 7/10 Think Before Coding auffällig

18 % → 4 % irrelevant: oft noch viele Dateien, aber „Payment-Modul nebenbei formatiert“ verschwindet aus dem Diff — Surgical Changes. 5/10 → 8/10 erstes Grün vor allem durch Goal-Driven Execution: failing Tests vor der Implementierung.

Team am Whiteboard mit Akzeptanzkriterien — Metapher für Goal-Driven Execution und prüfbare Prompts

Wo der Effekt am größten ist

  • Cross-File-Rename / Signaturänderung: −78 % irrelevant fühlt sich am stärksten an; CR kein Minenfeld mehr.
  • Leicht vage Mini-Features: Think Before Coding listet Hypothesen zuerst — Rework 3× → 1× (PAY-1842, AUTH-901).
  • Tests + Implementierung: Erstes Grün steigt; „rot → grün“ in CLAUDE.md stabilisiert.

Orthogonal zum Code-Knowledge-Graph: Graph = wo ändern, CLAUDE.md = nichts Nebenbei anfassen.

Wo es kaum hilft (inkl. Fail)

Enttäuschend: eine Konstante. Ticket CFG-77: maxRetryCount 3→5, Pfad vorgegeben. Mit Karpathy fragte der Agent trotzdem: „Backoff-Strategie und Test-Defaults auch anpassen?“ — +1 Klärrunde, Diff genauso sauber wie ohne Regeln, +4 Min. gesamt. Bei kristallklaren Einzeilern ist die Vorsicht der Vierer ~0 Nutzen.

Sonst kaum Effekt:

  • Team-CLAUDE.md schon lang und doppelt zu Karpathy — abnehmender Grenznutzen.
  • Keine Tests / kein xcodebuild — Goal-Driven schließt nicht, „fertig“-Gefühl bleibt.
  • Nur Chat, nichts ins Repo — CLAUDE.md wird nicht geladen.

Meine finale CLAUDE.md (zum Kopieren)

Wer CLAUDE.md, Claude Code Rules oder Claude Code Prompt sucht, will ein paste-fertiges Artefakt. Karpathy-Vierer + zwei iOS-Teamregeln (Englisch im Block — Modell folgt dem Original; Erklärung hier auf Deutsch):

Repo-Root · CLAUDE.md
# CLAUDE.md — Karpathy rules + Vuncloud iOS team

## Think Before Coding
Don't assume. Don't hide confusion. Surface tradeoffs.
Before implementing: state assumptions; if unclear, ask; if a simpler approach exists, say so.

## Simplicity First
Minimum code that solves the problem. Nothing speculative.
No extra abstractions, config, or error handling for impossible cases.

## Surgical Changes
Touch only what you must. Don't "improve" adjacent code or formatting.
Match existing style. Mention unrelated dead code; don't delete unless asked.

## Goal-Driven Execution
Transform tasks into verifiable goals (tests first when applicable).
Multi-step: list plan with verify check per step.

## Vuncloud: Build Verification (custom)
After code changes to Swift/ObjC targets, run before claiming done:
  xcodebuild test -scheme YourApp -destination 'platform=iOS Simulator,name=iPhone 16'
Report exit code. If tests fail, fix or stop — do not claim success.

## Vuncloud: Path Allowlist (custom)
Unless the user explicitly expands scope, only edit paths they named
or standard paired test paths (e.g. Sources/Foo/ ↔ Tests/Foo/).

Upstream installieren:

Claude Code · Plugin oder curl
/plugin marketplace add forrestchang/andrej-karpathy-skills
/plugin install andrej-karpathy-skills@karpathy-skills

# or per-project:
curl -fsSL -o /tmp/karpathy-claude.md \
  https://raw.githubusercontent.com/forrestchang/andrej-karpathy-skills/main/CLAUDE.md
# merge paragraphs; do not overwrite existing CLAUDE.md

Cursor-Nutzer: .cursor/rules/karpathy-guidelines.mdc synchron halten, gleiche Semantik wie Claude Code. Beim Karpathy-Messen claude-opus-4-8 fixieren, nicht mit Modell-Upgrades vermischen — siehe Opus-4.8-Langlauf-Guide.

Cloud Mac für Langläufer (Claude Code → tmux → Mac mini)

Passender als OpenHuman, weil die Kette schließt: lange Claude-Code-Sitzung → tmux überlebt SSH → xcodebuild auf derselben Maschine → dediziertes Mac mini. A/B, Nacht-Agent, CR über Zeitzonen — Laptop-Sleep ist Gift. Cloud Mac nur für stabile Umgebung; Metriken lokal nachbaubar.

  • tmux + Claude Code: Session bleibt bei SSH-Drop (Beispiele im Opus-4.8-Artikel).
  • Persistentes CLAUDE.md: Regeln und Monorepo zusammen, Config bleibt.
  • Goal-Driven hart: Build Verification in CLAUDE.md — Scheme muss laufen vor „done“.
  • Mac-Cloud-CI auf derselben Maschine: ändern, sofort prüfen.

Skript-Snippets für den A/B-Lauf

Metriken nach Task-Ende
TASK_ID="PAY-1842"
git diff --stat main...HEAD > "/tmp/${TASK_ID}-stat.txt"
git diff --name-only main...HEAD | wc -l | awk '{print "files_changed=" $1}'
# irrelevant paths: manual or allowlist compare
xcodebuild test -scheme YourApp -destination 'platform=iOS Simulator,name=iPhone 16' \
  | tee "/tmp/${TASK_ID}-xcodebuild.log"
echo "exit=$?" >> "/tmp/${TASK_ID}-xcodebuild.log"

Tasks in Claude Code als Ziel-Prompt formulieren — trifft Prinzip vier:

Claude Code · Prompt-Beispiel
Ziel: Nicht-Positive-Prüfung in CheckoutViewModel.validateAmount ergänzen.
Verifikation: 1) Unit-Tests für 0, negative Werte und NaN; 2) xcodebuild test -scheme YourApp grün;
Umfang: nur Sources/Checkout/ und zugehörige Tests/ — kein UI-Theming, keine anderen Module.

Häufige Fragen (FAQ)

Von Karpathy selbst? Die Ideen stammen aus X-Beobachtungen; CLAUDE.md ist Community (Forrest Chang u. a.). Karpathy hat Repos geteilt — README ist maßgeblich.

Konflikt mit Claude-Code-Memory / Projektbeschreibung? Mergen, nicht ersetzen. Vierer vorne, Team-Naming, Branches, Testbefehle hinten.

Ersetzt Code Review? Nein. Weniger Rauschen im Diff, aber Merge-Gates, menschliches CR und Security-Scans bleiben Pflicht.

Cursor-Nutzer? Kopie unter .cursor/rules/; bei gemeinsamem Git dieselbe Semantik wie Claude Code.

Prozentwerte zitierbar? Nur eigene A/B-Daten zitieren. Tabelle hier: Vuncloud-Pilot n=10, kein strenges Doppelblind.

Fazit

Karpathy Skills gemessen — nicht „wirkt irgendwie“. Zehn Tickets, Opus 4.8 fix: irrelevante Diffs ~78 % weniger, erstes CI-Grün +30 pp; Konstantenänderung fast nutzlos (CFG-77). Wertvoll ist CLAUDE.md im Repo — Karpathy-Vierer plus eigene Build- und Pfadregeln. Claude Code 7×24: Mac-mini Cloud Mac + tmux schließt natürlicher als OpenHuman — Agent, Terminal und Xcode gehören auf dieselbe macOS-Instanz.

Mac mini M4 mieten — Claude Code Langlauf & A/B

Vuncloud dediziertes Mac mini M4 Cloud Mac: persistentes CLAUDE.md, tmux, xcodebuild auf derselben Maschine — wie im Opus-4.8-Nacht-Agent-Setup.

Mac-mini-Preise, Hilfecenter, Weitere Feldnotizen.

AI-Entwickler

−78 % irrelevante Diffs beginnt in CLAUDE.md

Karpathy Skills · Claude Code Rules · Cloud Mac

Zur Startseite
Zeitlich begrenzt Pläne ansehen