The canonical home moved from forrestchang/andrej-karpathy-skills to the Multica org, where the same four principles now ship as a packaged Claude Code plugin (not just a loose CLAUDE.md). Use the multica-ai repo as the current source.

The original repo (same author, now a 301 redirect) is still referenced for the raw CLAUDE.md URL:

What It Is
A CLAUDE.md derived from Andrej Karpathy's observations about how LLMs go wrong when coding. Four principles aimed at fixing silent assumptions and over-engineering.
The multica-ai version goes beyond a single file. It ships:
- A Claude Code plugin (
.claude-plugin/plugin.json+marketplace.json), installable via/plugin marketplace addthen/plugin install. - A structured skill at
skills/karpathy-guidelines/SKILL.md. - Cursor support: a committed project rule (
.cursor/rules/karpathy-guidelines.mdc) plus aCURSOR.mdguide. - An
EXAMPLES.mdand a Chinese README (README.zh.md).
Same four principles as the original, but distributed as a proper plugin rather than a file to copy.
The four failure modes it addresses:
- Silent assumptions instead of asking for clarification.
- Overcomplicating code with unnecessary abstractions.
- Unintentionally modifying unrelated code sections.
- Lacking clear success criteria, so iteration drifts.
Language
Markdown. A single CLAUDE.md file, language-agnostic in effect.
Install
Option A, as a Claude Code plugin (recommended):
/plugin marketplace add forrestchang/andrej-karpathy-skills
/plugin install andrej-karpathy-skills@karpathy-skills
Option B, append the CLAUDE.md to a project:
curl -L https://raw.githubusercontent.com/forrestchang/andrej-karpathy-skills/main/CLAUDE.md >> CLAUDE.md
Customize with project-specific rules after appending. The raw URL still resolves through the redirect.
The Four Principles
1. Think Before Coding. State assumptions explicitly. Present alternative interpretations. Ask when ambiguous.
2. Simplicity First. Write minimal code solving only what was requested. No speculative features. No premature abstractions.
3. Surgical Changes. Edit only what the request requires. Match existing style. Don't refactor working code.
4. Goal-Driven Execution. Turn vague imperatives into verifiable success criteria. Lets the model loop toward a measurable target.
Value
Key insight from the repo: "LLMs are exceptionally good at looping until they meet specific goals." Clear success metrics beat step-by-step instructions. Tell the model what "done" looks like, then let it iterate.