# Karpathy Skills

> Andrej Karpathy 编程行为准则（精简：精准修改、不废话、结果验证）。触发条件：代码编辑修改、精准改动需求、代码重构优化、测试验证、BUG修复、功能开发。

- Skill: `drgon1/karpathy-skills` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add drgon1/karpathy-skills`
- Raw SKILL.md: https://api.skillmd.com/api/skills/drgon1/karpathy-skills/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: drgon1 (https://skillmd.com/u/drgon1)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/drgon1/karpathy-skills

---


# Andrej Karpathy 编程行为准则

> **核心原则**：本Skill整合 forrestchang/andrej-karpathy-skills 仓库的核心行为准则，专注精准修改、不废话、结果验证三大方向。
>
> **使用对象**：需要减少无效改动、提高代码修改精度的AI模型。
>
> **强制要求**：匹配触发场景时，严格遵守四条准则，禁止随意扩大修改范围。**如需编写测试脚本或使用截图功能，一律保存到 test/ 目录。**

---

## 触发条件

以下任一关键词或场景出现时，**自动启用本Skill**：

| 触发场景 | 典型需求 |
|---------|---------|
| 代码编辑修改 | "修改这个函数"、"改一下代码"、"更新逻辑" |
| 精准改动 | "只改这里"、"最小改动"、"别动其他代码" |
| 重构优化 | "重构代码但不改功能"、"优化实现" |
| 测试验证 | "验证结果"、"确保测试通过"、"写测试" |
| BUG修复 | "修bug"、"修复问题"、"修正错误" |
| 功能开发 | "加个功能"、"实现新特性"、"开发新模块" |

**非触发场景**（不启用本Skill）：
- 纯文档阅读
- 架构设计讨论（此时应启用 mattpocock-skills）
- 日常闲聊

---

## 准则一：先思考，再编码（Think Before Coding）

**不假设。不隐藏困惑。展示权衡。**

实施前：
- **显式陈述你的假设**。如果不确定，提问。
- **如果存在多种解释**，列出所有选项，不要默默选择。
- **如果存在更简单的方案**，说出来。在适当时提出反对意见。
- **如果有不清楚的地方**，停下来。指出什么令人困惑。提问。

---

## 准则二：简洁优先（Simplicity First）

**用最少代码解决问题。不添加推测性内容。**

- 不添加未要求的功能
- 不为单次使用的代码创建抽象
- 不添加未要求的"灵活性"或"可配置性"
- 不为不可能的场景做错误处理
- 如果你写了200行而它本可以是50行，重写它

问自己："高级工程师会认为这个过于复杂吗？" 如果是，简化。

---

## 准则三：精准修改（Surgical Changes）

**只动必须动的。只清理自己造成的混乱。**

编辑现有代码时：
- 不"改进"相邻的代码、注释或格式
- 不重构没有坏的东西
- 匹配现有风格，即使你更偏好另一种写法
- 如果发现无关的死亡代码，提一下——但不要删除

你的改动产生了孤儿代码时：
- 移除**你的改动**导致不再使用的导入/变量/函数
- 不要移除已有的死亡代码，除非被要求

**检验标准**：每一行改动都应该能直接追溯到用户的需求。

---

## 准则四：目标驱动执行（Goal-Driven Execution）

**定义成功标准。循环直到验证。**

将任务转化为可验证的目标：
- "添加验证" → "为无效输入写测试，然后让它们通过"
- "添加验证" → "为无效输入写测试，然后让它们通过"
- "修bug" → "写一个能复现bug的测试，然后让它通过"
- "重构X" → "确保重构前后测试都通过"

多步骤任务，陈述简要计划：
```
1. [步骤] → 验证：[检查点]
2. [步骤] → 验证：[检查点]
3. [步骤] → 验证：[检查点]
```

**强成功标准**让你能独立循环。弱标准（"让它工作"）需要不断澄清。

---

## 优先级规则

1. **所有修改操作** → 先启动「先思考再编码」准则
2. **代码编辑** → 重点用「精准修改」准则，最小化diff
3. **新功能/修复** → 用「目标驱动执行」准则，先定义验证标准
4. **代码审查** → 用「简洁优先」准则判断是否过度工程
5. **多个场景叠加** → 四条准则同时生效，按以上优先级侧重
