Source: https://youtu.be/d8BGxfW3Vj4
Repo: forrestchang/andrej-karpathy-skills (43k+ stars in a week)
Reviewed: 2026-04-17
A single CLAUDE.md distilling Andrej Karpathy's observations on LLM coding pitfalls into four behavioural principles for Claude Code agents:
Demo'd via four side-by-side comparisons (vanilla vs principled agent): light-mode toggle, search filter, font update, skill-tree icon selection. The principled agent produced leaner, more accurate, less wandering output.
You already enforce most of this in ~/.claude/CLAUDE.md and the rules folder:
| Karpathy principle | Your current rule |
|---|---|
| Think Before Coding | ask-before-ambiguous.md, dev-loop Tier 2 plan-first step |
| Simplicity First | "Don't add features, refactor, or introduce abstractions beyond what the task requires" (built-in system prompt + conservative-changes.md) |
| Surgical Changes | "Bug fix doesn't need surrounding cleanup; one-shot doesn't need a helper" (built-in) |
| Goal-Driven Execution | dev-loop's "Verify before marking done" + escalation rules |
Net new value: low. The principles are good but you're already covered. Where the Karpathy file might add clarity is the explicit "state assumptions before coding" prompt — your current rules say "ask if ambiguous" but don't force the agent to surface its assumptions when it thinks things are clear.
Don't adopt the file wholesale. It would duplicate or weaken existing rules.
Cherry-pick one addition worth considering for ~/.claude/CLAUDE.md:
Before any non-trivial code change, briefly state the assumptions you're making (1–2 lines). If any feel uncertain, ask before coding.
This is the one behaviour the demo showed that your current setup doesn't explicitly enforce — it goes beyond "ask if ambiguous" and creates a default habit of surfacing the implicit model.