@mdancho84: 80% of data scientists are using Claude Code wrong. They open a repo, ask for code, accept the first plausible answer, …
Summary
A tweet discusses how many data scientists misuse Claude Code and promotes a CLAUDE.md file inspired by Andrej Karpathy's observations to improve AI coding behavior.
View Cached Full Text
Cached at: 07/05/26, 12:34 PM
80% of data scientists are using Claude Code wrong.
They open a repo, ask for code, accept the first plausible answer, then wonder why the project turns into an unmaintainable mess.
That is not AI engineering.
That is automated technical debt.
Karpathy just shared his CLAUDE.md field notes.
It is not a “prompt.” It is not a cute productivity hack.
It is the rulebook that stops your AI coding assistant from spraying garbage across your codebase.
Without it, Claude does what most junior developers do:
- writes before reading
- guesses instead of investigating
- adds abstractions too early
- pulls in random dependencies
- makes huge changes when small ones would work
- ships code that looks right but breaks quietly
That is the danger.
AI makes bad engineering faster.
A good CLAUDE.md forces discipline:
- read the codebase first
- think before coding
- keep changes surgical
- define success before building
- test the behavior
- debug the root cause
- explain what changed and why
This is the shift data scientists need to understand.
The future is not: “Can you use ChatGPT?”
Everyone can.
The future is: “Can you direct AI tools inside real software projects without creating a dumpster fire?”
Github: https://github.com/multica-ai/andrej-karpathy-skills…
Want to learn how to build + ship AI and Data Science projects (that businesses actually want in 2026)?
On July 14th, I am hosting a free workshop to help you get started with AI + DS projects in Python.
Register here (500 seats): https://learn.business-science.io/ai-register
multica-ai/andrej-karpathy-skills
Source: https://github.com/multica-ai/andrej-karpathy-skills
Karpathy-Inspired Claude Code Guidelines
Check out my new project Multica — an open-source platform for running and managing coding agents with reusable skills.
Follow me on X: https://x.com/jiayuan_jy
A single CLAUDE.md file to improve Claude Code behavior, derived from Andrej Karpathy’s observations on LLM coding pitfalls.
English | 简体中文
The Problems
From Andrej’s post:
“The models make wrong assumptions on your behalf and just run along with them without checking. They don’t manage their confusion, don’t seek clarifications, don’t surface inconsistencies, don’t present tradeoffs, don’t push back when they should.”
“They really like to overcomplicate code and APIs, bloat abstractions, don’t clean up dead code… implement a bloated construction over 1000 lines when 100 would do.”
“They still sometimes change/remove comments and code they don’t sufficiently understand as side effects, even if orthogonal to the task.”
The Solution
Four principles in one file that directly address these issues:
| Principle | Addresses |
|---|---|
| Think Before Coding | Wrong assumptions, hidden confusion, missing tradeoffs |
| Simplicity First | Overcomplication, bloated abstractions |
| Surgical Changes | Orthogonal edits, touching code you shouldn’t |
| Goal-Driven Execution | Leverage through tests-first, verifiable success criteria |
The Four Principles in Detail
1. Think Before Coding
Don’t assume. Don’t hide confusion. Surface tradeoffs.
LLMs often pick an interpretation silently and run with it. This principle forces explicit reasoning:
- State assumptions explicitly — If uncertain, ask rather than guess
- Present multiple interpretations — Don’t pick silently when ambiguity exists
- Push back when warranted — If a simpler approach exists, say so
- Stop when confused — Name what’s unclear and ask for clarification
2. Simplicity First
Minimum code that solves the problem. Nothing speculative.
Combat the tendency toward overengineering:
- No features beyond what was asked
- No abstractions for single-use code
- No “flexibility” or “configurability” that wasn’t requested
- No error handling for impossible scenarios
- If 200 lines could be 50, rewrite it
The test: Would a senior engineer say this is overcomplicated? If yes, simplify.
3. Surgical Changes
Touch only what you must. Clean up only your own mess.
When editing existing code:
- Don’t “improve” adjacent code, comments, or formatting
- Don’t refactor things that aren’t broken
- Match existing style, even if you’d do it differently
- If you notice unrelated dead code, mention it — don’t delete it
When your changes create orphans:
- Remove imports/variables/functions that YOUR changes made unused
- Don’t remove pre-existing dead code unless asked
The test: Every changed line should trace directly to the user’s request.
4. Goal-Driven Execution
Define success criteria. Loop until verified.
Transform imperative tasks into verifiable goals:
| Instead of… | Transform to… |
|---|---|
| “Add validation” | “Write tests for invalid inputs, then make them pass” |
| “Fix the bug” | “Write a test that reproduces it, then make it pass” |
| “Refactor X” | “Ensure tests pass before and after” |
For multi-step tasks, state a brief plan:
1. [Step] → verify: [check]
2. [Step] → verify: [check]
3. [Step] → verify: [check]
Strong success criteria let the LLM loop independently. Weak criteria (“make it work”) require constant clarification.
Install
Option A: Claude Code Plugin (recommended)
From within Claude Code, first add the marketplace:
/plugin marketplace add forrestchang/andrej-karpathy-skills
Then install the plugin:
/plugin install andrej-karpathy-skills@karpathy-skills
This installs the guidelines as a Claude Code plugin, making the skill available across all your projects.
Option B: CLAUDE.md (per-project)
New project:
curl -o CLAUDE.md https://raw.githubusercontent.com/forrestchang/andrej-karpathy-skills/main/CLAUDE.md
Existing project (append):
echo "" >> CLAUDE.md
curl https://raw.githubusercontent.com/forrestchang/andrej-karpathy-skills/main/CLAUDE.md >> CLAUDE.md
Using with Cursor
This repository includes a committed Cursor project rule (.cursor/rules/karpathy-guidelines.mdc) so the same guidelines apply when you open the project in Cursor. See CURSOR.md for setup, using the rule in other projects, and how this relates to Claude Code.
Key Insight
From Andrej:
“LLMs are exceptionally good at looping until they meet specific goals… Don’t tell it what to do, give it success criteria and watch it go.”
The “Goal-Driven Execution” principle captures this: transform imperative instructions into declarative goals with verification loops.
How to Know It’s Working
These guidelines are working if you see:
- Fewer unnecessary changes in diffs — Only requested changes appear
- Fewer rewrites due to overcomplication — Code is simple the first time
- Clarifying questions come before implementation — Not after mistakes
- Clean, minimal PRs — No drive-by refactoring or “improvements”
Customization
These guidelines are designed to be merged with project-specific instructions. Add them to your existing CLAUDE.md or create a new one.
For project-specific rules, add sections like:
## Project-Specific Guidelines
- Use TypeScript strict mode
- All API endpoints must have tests
- Follow the existing error handling patterns in `src/utils/errors.ts`
Tradeoff Note
These guidelines bias toward caution over speed. For trivial tasks (simple typo fixes, obvious one-liners), use judgment — not every change needs the full rigor.
The goal is reducing costly mistakes on non-trivial work, not slowing down simple tasks.
License
MIT
Similar Articles
@akshay_pachaar: A single 𝗖𝗟𝗔𝗨𝗗𝗘.𝗺𝗱 file just hit 192k GitHub stars. (derived from Karpathy's coding rules) Andrej Karpathy obse…
A single CLAUDE.md file that provides structured behavioral guidelines for Claude Code, derived from Andrej Karpathy's observations on common LLM coding pitfalls, has gained 192k GitHub stars. It aims to prevent over-engineering, reduce wrong assumptions, and enforce simplicity in AI-generated code.
@DivyanshT91162: https://x.com/DivyanshT91162/status/2057692858501804435
Andrej Karpathy's observations on AI coding agent behavior led to the viral CLAUDE.md file, which provides 4 behavioral rules for AI agents and became one of the fastest-growing repositories on GitHub, signaling a shift from AI intelligence to AI discipline in coding.
@zostaff: Andrej Karpathy spent 20 years writing code by hand. Then he switched to Claude Code. A week later he posted everything…
A set of rules derived from Andrej Karpathy's experience with Claude Code went viral, accumulating 145k GitHub stars in 3 months and offering guidelines to improve AI coding agent behavior.
@humzaakhalid: Most developers are using Claude Code wrong (100%) Claude Code fixes it in 90 seconds flat. Here is exactly how: 1. Get…
A detailed guide on using Claude Code effectively, including setup, CLAUDE.md configuration, four-layer architecture, hooks, and daily workflow patterns.
@PrajwalTomar_: BRO this is CRAZY. Karpathy's 4 rules for Claude Code just got turned into a full CLAUDE .md template on Reddit. A deve…
A developer turned Karpathy's four rules for Claude Code into a full CLAUDE .md template, reportedly boosting coding accuracy from 65% to 94% on a real codebase.