The Andrej Karpathy skill, also shipped as the Karpathy CLAUDE.md, is four rules in a 358-word file that your agent reads and nothing checks. Take them if you want cheap, readable advice merged into your own CLAUDE.md. If the agent has to be held to a process or blocked from writing code before its test, you need one of the packs below that do it in code.
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| karpathy-guidelinesmultica-ai/andrej-karpathy-skills | Skill | 230k | 6mo ago | none | A | 46 | Claude Code |
| superpowersobra/superpowers | Plugin | 313k | 2d ago | MIT | A | — | Claude Code |
| tdd-guardnizos/tdd-guard | Plugin | 2.4k | 3d ago | MIT | A | — | Claude Code |
Install
npx agentmods add skills/multica-ai/andrej-karpathy-skills/karpathy-guidelines/plugin marketplace add obra/superpowers/plugin install superpowers/plugin marketplace add nizos/tdd-guard/plugin install tdd-guardEach name opens the mod's page: the scan, the token cost and every other way to install it.
What is in the file, and what comes from Karpathy
Less of it is Karpathy’s than the name suggests. The README describes “a single CLAUDE.md file” derived from his observations and links one post on X. Under “From Andrej’s post” it quotes three passages: models make wrong assumptions and “run along with them without checking”, they “overcomplicate code and APIs”, and they change code they don’t understand “as side effects”. A fourth quote, about LLMs looping until they meet specific goals, is the basis it gives for the last principle.
Those four principles are the repo’s own response, “four principles in one file that directly address these issues”. The plugin manifest names forrestchang as author. So when you read “Karpathy skills”, read it as one developer’s rules built on a few quoted lines.
Each rule is concrete:
- Think Before Coding. “If something is unclear, stop. Name what’s confusing. Ask.”
- Simplicity First. No features beyond what was asked, and “If you write 200 lines and it could be 50, rewrite it.”
- Surgical Changes. Mention unrelated dead code, don’t delete it. Remove only the imports and functions your own change made unused. Every changed line should trace to the request.
- Goal-Driven Execution. “Fix the bug” becomes “Write a test that reproduces it, then make it pass”.
It says plainly that it trades speed for caution and leaves trivial tasks to judgment. EXAMPLES.md works through examples for each principle, such as drive-by refactoring. README, plugin.json and SKILL.md all say MIT, but the repository has no LICENSE file, which is why our catalogue records no SPDX licence for it.
The Karpathy CLAUDE.md and the skill: same text, two ways in
You can install it twice over. The plugin route is /plugin marketplace add forrestchang/andrej-karpathy-skills, then /plugin install andrej-karpathy-skills@karpathy-skills. The per-project route is a curl of CLAUDE.md into your repo.
They don’t behave the same. The plugin ships exactly one skill, so Claude Code sees only its description up front (“Use when writing, reviewing, or refactoring code…”) and loads the rules when that matches. A CLAUDE.md in your project is in every session. That is why the table shows a small static cost for the skill and the full cost for the file. Cursor gets a third copy, a .mdc rule set to alwaysApply: true, because Cursor does not read the plugin or CLAUDE.md by default.
We diffed the principles in CLAUDE.md against the skill, and they match word for word. The repo asks contributors to keep the copies in sync by hand.
Two hooks elsewhere, none in this repo
No hooks ship with the repo. Nothing measures whether your agent asked before assuming or kept the diff small. That separates it from Superpowers and TDD Guard, which both ship hooks. The file suits you if you already keep a CLAUDE.md, want four short rules in it, and accept that compliance is up to the model. It is meant to be merged with project-specific instructions, so it can also sit next to any of the three.
Superpowers registers a SessionStart hook on startup|clear|compact. The script reads the using-superpowers skill (492 words) and injects it wrapped in an EXTREMELY_IMPORTANT tag. That skill tells the agent that at “even a 1% chance a skill might apply” it must invoke it. The other 14 skills, 22,201 words of SKILL.md text in all, load on demand. The README calls them “Mandatory workflows, not suggestions”: brainstorming before anything is built, plans of 2 to 5 minute tasks, and a TDD skill that deletes code written before its test. Its verification skill states Goal-Driven Execution as a hard rule: “NO COMPLETION CLAIMS WITHOUT FRESH VERIFICATION EVIDENCE”. Choose it if you want brainstorm, plan, TDD and review to run without being asked, and can live with an injected bootstrap in every session.
TDD Guard goes further. A PreToolUse hook on Write|Edit|MultiEdit|TodoWrite runs npx tdd-guard@latest, a model judges the change, and the result can be decision: 'block'. Its rules count “code that exceeds what’s needed to pass the current failing test” as a violation, close to Simplicity First. It costs more to run: Node.js 22+, a supported test framework, and a validation model (default claude-sonnet-4-6). The default client uses your Claude Code subscription; the API client is billed separately. You can type tdd-guard off mid-session, and its own docs warn that shell commands without approval let the agent edit files around the hook. So it is the option for when “write the test first” has to hold even when the coding model would rather skip it. Its README says it “grew into Probity” and tells new projects to start there, while TDD Guard stays maintained for existing users.
Grilling: the long form of the first rule
Think Before Coding is one paragraph. Matt Pocock’s skills turn the same idea into a procedure. Its README names misalignment as the most common failure and answers it with a “grilling session”. The grilling skill asks numbered questions in rounds, each with a recommended answer, and says “Finding facts is your job, never the user’s”. grill-me has disable-model-invocation: true, so it runs only when you type it.
The README explains the split. User-invoked skills orchestrate, and model-invoked ones like tdd can also fire on their own. Like the Karpathy repo, the plugin ships no hooks, 27 skills in all. The difference is that grill-me is an interactive skill you start, where the Karpathy file states a rule, so it fits if you want small skills and want to start the interview yourself. Its tdd skill also asks you to confirm the test seams before any test is written, and a setup skill you run once per repo asks which issue tracker you use.
Questions
Did Andrej Karpathy write the andrej-karpathy-skills CLAUDE.md?
The repository does not say he did. It describes the file as derived from his observations, quotes passages from one of his posts on X, and lists forrestchang as the plugin's author.
How do I install the Karpathy CLAUDE.md in Claude Code?
Either add the marketplace with /plugin marketplace add forrestchang/andrej-karpathy-skills and run /plugin install andrej-karpathy-skills@karpathy-skills, or download CLAUDE.md into your project with curl. The plugin gives you a skill; the curl route gives you a project file.
Is there a version of these rules that is actually enforced?
Not in this repo, which has no hooks. For the test-first part, TDD Guard blocks Write and Edit calls through a PreToolUse hook when a model judges that the change skips a failing test or over-implements.
Sources
multica-ai/andrej-karpathy-skills at 2c60614
README.md · CLAUDE.md · skills/karpathy-guidelines/SKILL.md · .claude-plugin/plugin.json · .cursor/rules/karpathy-guidelines.mdc · CURSOR.md · EXAMPLES.md
obra/superpowers at 22f0b46
README.md · hooks/hooks.json · hooks/session-start · skills/using-superpowers/SKILL.md · skills/test-driven-development/SKILL.md · skills/verification-before-completion/SKILL.md
mattpocock/skills at 4ae2317
README.md · .claude-plugin/plugin.json · skills/productivity/grilling/SKILL.md · skills/productivity/grill-me/SKILL.md · skills/engineering/tdd/SKILL.md
nizos/tdd-guard at ffb7026
README.md · plugin/hooks/hooks.json · src/contracts/validationResults.ts · src/config/Config.ts · src/validation/prompts/rules.ts · src/hooks/userPromptHandler.ts · docs/validation-model.md · docs/enforcement.md
More comparisons
UI UX Pro Max skill, Impeccable or Taste Skill
A local style database, a 62-rule detector on each edit, and a website kit with its own headless checker.
Obsidian skills for Claude Code: kepano/obsidian-skills and claude-obsidian
kepano's skills are plain Markdown; claude-obsidian hashes notes and can roll back.
Humanizer skill, Stop Slop and No AI Slop
Humanizer is a 5,219-word file read on every use; Stop Slop a 361-word list of bans.
Marketing skills for Claude Code: four packs compared
Four packs: one turns off TLS checks, one needs your API key, one hooks every Bash.
Figma MCP servers: which ones read, which ones edit
Framelink only reads a frame; Talk to Figma and Figma Console edit it. Figma's own: 6 calls/mo.
Playwright MCP vs Chrome DevTools MCP
Playwright MCP also runs Firefox and WebKit. Chrome DevTools MCP traces Chrome and reports stats.