Quick Takes

30K Stars for a Claude Code Apology Letter

April 14, 2026 3 min read

GitHub Trending this week is a rorschach test. The hottest repo on the planet is forrestchang/andrej-karpathy-skills. It is one file. CLAUDE.md. Sixty-five lines. Zero to roughly 30,000 stars, pulling +9,230 in a single day. 2,400-plus forks.

What is in this miracle file? Andrej Karpathy’s public musings about how Claude Code behaves by default, distilled into a behavior-patch prompt. Tens of thousands of developers just starred a compact apology letter for their very expensive coding agent.

GitHub page for forrestchang/andrej-karpathy-skills showing around 30,000 stars and the CLAUDE.md file

The rules, verbatim

This is the whole joke, so let me quote. Section 1, titled “Think Before Coding”:

Don’t assume. Don’t hide confusion. Surface tradeoffs.

Before implementing: State your assumptions explicitly. If uncertain, ask. If multiple interpretations exist, present them – don’t pick silently. If something is unclear, stop. Name what’s confusing. Ask.

Section 2, “Simplicity First”:

Minimum code that solves the problem. Nothing speculative. 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 you write 200 lines and it could be 50, rewrite it.

Section 3, “Surgical Changes”:

Touch only what you must. Clean up only your own mess. 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.

Read those and tell me you haven’t watched Claude Code do the exact opposite of every single rule this week. The file is not a product of genius. It is a product of being tired.

Read between the lines

If thirty thousand professional devs agree loud enough to star a repo saying their agent needs a chaperone, that is not a community. That is a class action. Every rule describes a failure mode so universal it doesn’t need explaining: Claude silently picks interpretation B when A and B were both reasonable. Claude rewrites working imports because they weren’t alphabetized. Claude builds a 400-line factory to solve a one-off script.

The viral repo is not a compliment to Karpathy. It is a referendum on defaults. If everyone is patching the same file, the defaults are wrong.

Karpathy himself isn’t vibecoding

The part nobody screenshots is that Karpathy flipped his own workflow hard. His now-famous post admits he went from “about 80% manual+autocomplete coding and 20% agents in November to 80% agent coding and 20% edits+touchups in December.” His words: “I really am mostly programming in English now, a bit sheepishly telling the LLM what code to write… in words. It hurts the ego a bit.”

But. He only flipped after installing heavy guardrails — a CLAUDE.md full of exactly the paranoid rules above. The 80/20 flip is real. It also depends on treating your agent like an intern who drinks too much coffee.

The take

Use the file. It is good. Steal it, fork it, paste it into your repo, win back twenty percent of your week.

But stop pretending we are living in autonomous coding utopia. The hottest GitHub repo in April 2026 is a sticky note that says “please read the prompt, please don’t refactor my working code, please ask before guessing.” That is not a flex for AI. That is a receipt.

The pattern is older than CLAUDE.md

If forrestchang/andrej-karpathy-skills feels weirdly familiar, it’s because the genre is. The Prompt Engineering Guide hit 60K stars two years ago by formalizing exactly the same thing for raw LLMs. Anthropic’s own cookbook sells you on writing system prompts that look suspiciously like Karpathy’s rules: be explicit, ask before assuming, don’t silently pick. The viral repo isn’t a discovery. It’s a confession that defaults haven’t followed two years of public best practice.

What it teaches us about agent design

The CLAUDE.md rules cluster around one principle: narrow the action space. “Don’t refactor adjacent code” is not a stylistic preference, it’s a containment policy. “State your assumptions explicitly” is the same engineering trade developers used to make with junior contractors: pay a tax in surface area to gain auditability. The fact that 30,000 people decided this was the patch worth installing tells you what the real cost of agentic coding is right now — not tokens, but the time spent unwinding work the agent did too eagerly.

If you ship an agent in 2026 and the headline feature is autonomy, you are shipping the wrong half of the value proposition. The stargazer graph is the data. Read it.

Rating: 10/10 the file, 3/10 what it implies about the defaults.