agentleFS
audriusstataudriusstat/execution-discipline/skills/karpathy-guidelines/SKILL.md

karpathy-guidelines

Skill0 starsChanged 4 months agoMITView on GitHub

Use when writing, reviewing, or refactoring any code, before the first edit — guards against hidden assumptions, overcomplication, non-surgical diffs, silent error swallowing, comment noise, and vague success criteria. Not for pure research or explaining concepts.

126 other projects use a version of this, 92 of them edited.

Adopted by

Most recently taken up by

Used with

Projects with it also use huashu-design, github-cli and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • XIYBHKSkill

    huashu-design

    花叔Design(Huashu-Design)——用HTML做高保真原型、交互Demo、幻灯片、动画、设计变体探索+设计方向顾问+专家评审的一体化设计能力。HTML是工具不是媒介,根据任务embody不同专家(UX设计师/动画师/幻灯片设计师/原型师),避免web design tropes。触发词:做原型、设计Demo、交互原型、HTML演示、动画Demo、设计变体、hi-fi设计、UI mockup、prototype、设计探索、做个HTML页面、做个可视化、app原型、iOS原型、移动应用mockup、导出MP4、导出GIF、60fps视频、设计风格、设计方向、设计哲学、配色方案、视觉风格、推荐风格、选个风格、做个好看的、评审、好不好看、review this design。**主干能力**:Junior Designer工作流(先给假设+reasoning+placeholder再迭代)、反AI slop清单、React+Babel最佳实践、Tweaks变体切换、Speaker Notes演示、Starter Components(幻灯片外壳/变体画布/动画引擎/设备边框)、App原型专属守则(默认从Wikimedia/Met/Unsplash取真图、每台iPhone包AppPhone状态管理器可交互、交付前跑Playwright点击测试)、Playwright验证、HTML动画→MP4/GIF视频导出(25fps基础 + 60fps插帧 + palette优化GIF + 6首场景化BGM + 自动fade)。**需求模糊时的Fallback**:设计方向顾问模式——从5流派×20种设计哲学(Pentagram信息建筑/Field.io运动诗学/Kenya Hara东方极简/Sagmeister实验先锋等)推荐3个差异化方向,展示24个预制showcase(8场景×3风格),并行生成3个视觉Demo让用户选。**交付后可选**:专家级5维度评审(哲学一致性/视觉层级/细节执行/功能性/创新性各打10分+修复清单)。

    Also in 3 projects that use this

  • rogue-dev-studioSkill

    github-cli

    GitHub CLI authentication and workflow configuration. Use when the project needs this capability or the user / team manifest asks for it. Use for specialized `github-cli` work when listed in TEAM.yaml or explicitly requested.

    Also in 3 projects that use this

  • seikaikyoSkill

    banner-design

    Design banners for social media, ads, website heroes, creative assets, and print. Multiple art direction options with optional generated or supplied visuals. Actions: design, create, generate banner. Platforms: Facebook, Twitter/X, LinkedIn, YouTube, Instagram, Google Display, website hero, print. Styles: minimalist, gradient, bold typography, photo-based, illustrated, geometric, retro, glassmorphism, 3D, neon, duotone, editorial, collage.

    Also in 4 projects that use this

  • OpenAISkill

    using-superpowers

    Use when starting any conversation - establishes how to find and use skills, requiring skill invocation before ANY response including clarifying questions

    Also in 9 projects that use this

  • GoogleSkill

    ponytail

    Forces the laziest solution that actually works, simplest, shortest, most minimal. Channels a senior dev who has seen everything: question whether the task needs to exist at all (YAGNI), reach for the standard library before custom code, native platform features before dependencies, one line before fifty. Supports intensity levels: lite, full (default), ultra. Use on ANY coding task: writing, adding, refactoring, fixing, reviewing, or designing code, and choosing libraries or dependencies. Also use whenever the user says "ponytail", "be lazy", "lazy mode", "simplest solution", "minimal solution", "yagni", "do less", or "shortest path", or complains about over-engineering, bloat, boilerplate, or unnecessary dependencies. Do NOT use for non-coding requests (general knowledge, prose, translation, summaries, recipes).

    Also in 9 projects that use this

  • LLl0k0laDSkill

    idea-refine

    Refine ideas through structured divergent and convergent thinking. Use "idea-refine" or "ideate" to trigger.

    Also in 4 projects that use this

The file

We split this skill into the rules it gives an agent

6 rules. 1 is common, 4 are distinctive, and 1 is very specific to this project.

  • 1

    Common

    Most of the 122 edited versions we read keep these.

  • 4

    Distinctive

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Ask the user only when a genuine decision is theirs to make.

    line 27
  2. Distinctive:

    Do the simplest thing that works well.

    line 35
  3. Distinctive:

    Write changes that read like the surrounding code — match its comment density, naming, and idiom.

    line 46
  4. Distinctive:

    When delegating to haiku-tier models (the smallest/cheapest tier, e.g.

    line 77
  5. Common:

    No features beyond what was asked.

    line 85
  6. Very specific:

    Don't "improve" adjacent code, comments, or formatting.

    line 91

“Common” is measured: kept by at least 6 in 10 of the 122 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Karpathy Guidelines (v2)

Triggers automatically when relevant; invoke directly with /karpathy-guidelines or ask, e.g. "review this code against the guidelines".

Behavioral guidelines against common LLM coding failure modes, derived from Andrej Karpathy's observations.

Rules are stated at judgment level with a reason attached — current models generalize from the explanation better than from enumerated prohibitions. The appendix keeps the prescriptive form for weak-model delegation.

1. Think before coding

Name your assumptions and open questions before implementing. Where several readings of the request exist, present them and recommend one; where a simpler approach would serve better, say so — silent compliance hides better options. Ask the user only when a genuine decision is theirs to make; otherwise state your interpretation and proceed.

Why: hidden assumptions are where wrong implementations start, and surfacing one costs a sentence.

2. Simplicity first

Do the simplest thing that works well. Scale the code to the problem as it exists today — features, abstractions, and configurability earn their place when the request needs them. Change code directly rather than adding flags or compatibility shims around it. Comments say what the code cannot: constraints, invariants, non-obvious whys.

Why: every speculative branch is code someone must read, test, and maintain against a need that may never arrive.

3. Surgical changes

Write changes that read like the surrounding code — match its comment density, naming, and idiom. Every changed line traces to the request; adjacent code stays as found (mention what you noticed, so the user decides). Clean up the orphans your own change created: imports, variables, functions now unused.

Why: reviewers audit the diff; unrelated churn hides the real change and widens the blast radius.

4. Verifiable goals

Turn the task into a runnable check before starting — "fix the bug" becomes a test that reproduces it. Report completion against tool results from this session (exit codes, test output, screenshots), and say plainly when something is not yet verified.

Why: a stated check lets you work independently, and evidence-grounded claims are what make "done" trustworthy.

5. Let errors surface

Handle an error where you can do something meaningful with it — a retry, a fallback the user asked for, an actionable message. Everywhere else let it fail near its cause, loudly; in unattended jobs a non-zero exit beats running on values nobody chose.

Why: a swallowed error is a bug with a delay — that is how failures go unnoticed for months.

Appendix — v1 prescriptive form, for weak-model delegation

When delegating to haiku-tier models (the smallest/cheapest tier, e.g. Haiku 4.5, typically run as subagents), include the relevant rules below verbatim in the delegation prompt. On frontier models the judgment form above is enough; benchmarks showed no gain from the explicit form there, and on Sonnet it added refusal bias.

  • State assumptions explicitly; if uncertain, ask. If multiple interpretations exist, present them — don't pick silently.
  • No features beyond what was asked. No abstractions for single-use code. No speculative "flexibility" or "configurability". No error handling for impossible scenarios. If 200 lines could be 50, rewrite.
  • Comments only for what the code cannot say — constraints, invariants, non-obvious whys. No narration, no notes to the reviewer, no docstrings on trivial functions.
  • Don't "improve" adjacent code, comments, or formatting. Match existing style. Mention unrelated dead code — don't delete it. Remove imports/variables/functions that your changes made unused.
  • Define success criteria before starting; loop until verified. Every changed line must trace to the request.
  • try/except only where the error is handled meaningfully (retry, requested fallback, actionable message); otherwise let it crash near its cause. Never catch-and-continue with a default that masks a real failure.

Related skills

  • universal-loop — the execute-verify iteration engine for §4.
  • compounding-engineering — process-level discipline across sessions; these guidelines are code-level.
  • writing-claude-md — the same Claude 5 encoding principles applied to instruction files.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.