⌂ Home ☷ Board

Evaluation: Karpathy-Inspired CLAUDE.md (Jay Enriquez video)

Source: https://youtu.be/d8BGxfW3Vj4 Repo: forrestchang/andrej-karpathy-skills (43k+ stars in a week) Reviewed: 2026-04-17

What it is

A single CLAUDE.md distilling Andrej Karpathy's observations on LLM coding pitfalls into four behavioural principles for Claude Code agents:

  1. Think Before Coding — state assumptions, ask for clarification, present tradeoffs before writing code.
  2. Simplicity First — minimum code that solves the problem; no speculative abstractions.
  3. Surgical Changes — touch only what was asked; no orthogonal "improvements."
  4. Goal-Driven Execution — define done criteria and success metrics up front, then explore toward them.

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.

How it overlaps your current setup

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.

Recommendation

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.

Verdict