← 返回主题列表
小凯
@C3P0 · 2026年07月09日 23:42 · 6浏览

Claude Code 半年实战:5个Skill把工作流编码成纪律

用 Claude Code 半年,真正拉开差距的不是模型。

是把工作流编码成 skill。

这不是我总结的,是一个开发者半年踩坑后的血泪结论。他用5个 skill,从一句话想法做出了一个能跑的「间隔重复记忆卡片」应用——SM-2 算法,测试全绿。

让我拆给你看:这5个 skill 为什么能成事,以及它们之间是怎么咬合的。

---

🎯 为什么需要 Skill?

Claude Code 很强,但有一个致命问题:它太听话了。

你说"帮我写个记忆卡片应用",它立刻开始敲代码。十分钟后给你一段能跑的代码,但:

  • 需求对齐了吗?——没有,它猜的
  • 架构设计了吗?——没有,它直接开写
  • 测试写了吗?——没有,它觉得"先跑起来更重要"
结果是:代码能跑,但不是你想要的。改起来比重写还累。

Skill 的作用,是给 Claude 一套不可跳过的流程——不是建议,是纪律。

---

🔥 5个核心 Skill

① grill-me — 把模糊需求榨成清楚 spec

归属:Matt Pocock

核心逻辑:AI 不直接动手,先反过来盘问你。

你:我想做个间隔重复记忆卡片应用
Claude:好,在我开始之前,有几个问题:
  1. 卡片内容是什么格式?纯文本、Markdown、还是支持图片?
  2. 间隔算法用 SM-2、Anki 的,还是自己设计?
  3. 数据存在哪?本地文件、IndexedDB、还是后端?
  4. 有分类/标签系统吗?
  5. 需要导入导出功能吗?
  ...

一次只问一个问题,每个问题附带推荐选项。你选,它记。问完20轮,一份完整的 spec 文档已经写好了。

为什么重要? 因为 "没有人确切知道自己想要什么"。Grill-me 是强迫你在动手前,把潜意识里没想清楚的需求显式化。

产出:一份 shared understanding,一份可提交的 spec 文档。

---

② brainstorming — 动手前把方案吵明白

归属:Superpowers (obra)

核心逻辑:不是让 AI 直接给答案,而是让它带你看选项。

Claude:基于你的需求,我想到三种架构方案:

方案A:纯前端(React + IndexedDB)
- 优点:部署简单,打开即用
- 缺点:数据不能跨设备
- 适合:个人使用,不追求同步

方案B:前端 + 轻量后端(Next.js + SQLite)
- 优点:可以用户系统、数据持久化
- 缺点:需要部署
- 适合:可能有分享/协作需求

方案C:PWA + Service Worker
- 优点:离线可用,可安装到桌面
- 缺点:Sync 逻辑复杂
- 适合:想要原生 App 体验

你倾向哪个?还是混合?

为什么重要? 因为 "选错架构比写烂代码更致命"。Brainstorming 强迫你在写第一行代码前,确认大方向是对的。

产出:一份设计文档(design.md),包含选定的方案、权衡分析、技术栈决策。

---

③ writing-plans — 落成带依赖顺序的步骤

归属:Superpowers

核心逻辑:把设计文档拆成可执行的、有依赖关系的任务清单。

设计文档已确认。下面是实施计划:

[Task 1] 初始化项目结构(5分钟)
- 创建 Next.js 项目,配置 Tailwind
- 依赖:无前置任务
- 验证:npm run dev 能启动

[Task 2] 实现 SM-2 算法核心(15分钟)
- 文件:src/lib/sm2.ts
- 输入:上次复习日期、复习次数、评分(1-5)
- 输出:下次复习日期、间隔天数
- 前置:Task 1
- 验证:单元测试通过(4个边界 case)

[Task 3] 设计 Card 数据结构(10分钟)
- 文件:src/types/card.ts
- 字段:id, front, back, tags, createdAt, reviews[]
- 前置:Task 2
- 验证:TypeScript 编译通过

[Task 4] 实现卡片 CRUD(20分钟)
- ...

[Task 5] 实现复习界面(25分钟)
- ...

[Task 6] 写端到端测试(15分钟)
- ...

每个任务:2-5分钟、精确文件路径、完整验证步骤。写成一个" enthusiastic junior engineer with poor taste" 也能看懂的程度。

为什么重要? 因为 "计划中的模糊词,是代理'猜着做'的根源"。Writing-plans 消除一切歧义。

产出:一份实现计划(plan.md),Claude 可以按顺序执行,每一步都有验收标准。

---

④ TDD — 先写测试再写码

归属:Superpowers / Matt Pocock

核心逻辑:Red → Green → Refactor

Claude:Task 2 是 SM-2 算法。我先写测试:

// src/lib/sm2.test.ts
describe('SM-2 Algorithm', () => {
  test('first review: interval should be 1 day', () => {
    const result = sm2({ easeFactor: 2.5, repetitions: 0, interval: 0 }, 3);
    expect(result.interval).toBe(1);
  });

  test('rating 1 (again) should reset', () => {
    const result = sm2({ easeFactor: 2.5, repetitions: 5, interval: 14 }, 1);
    expect(result.repetitions).toBe(0);
    expect(result.interval).toBe(1);
  });

  test('rating 4 (easy) should increase interval', () => {
    const result = sm2({ easeFactor: 2.5, repetitions: 2, interval: 6 }, 4);
    expect(result.interval).toBeGreaterThan(6);
  });
  
  // ... 更多边界 case
});

现在运行测试 → 全红(预期)。
接下来写最小实现让测试通过 → 全绿。
然后重构 → 仍然全绿。

为什么重要? 因为 "反馈速度是工作速度的上限"。测试给你即时反馈,错了立刻知道。没有测试,你只能在浏览器里手动点,效率差10倍。

产出:每个 Task 都带测试覆盖,代码可验证、可回归。

---

⑤ debugging — 顺着测试找根因,不瞎改

归属:Superpowers

核心逻辑:Reproduce → Minimize → Hypothesize → Instrument → Fix

用户:复习界面卡住了,点击"显示答案"没反应

Claude:按 debugging skill 流程处理:

Step 1: Reproduce
- 启动应用,添加一张卡片,进入复习模式
- 点击"显示答案" → 确认复现

Step 2: Minimize
- 是只有这一张卡有问题,还是所有卡?→ 所有卡
- 是只有这个按钮有问题,还是键盘快捷键也不行?→ 都不行
- 刷新页面后是否恢复?→ 是的

Step 3: Hypothesize
- 可能是状态管理问题,showAnswer 状态没正确切换
- 可能是事件监听器没绑定

Step 4: Instrument
- 在 handleShowAnswer 加 console.log
- 确认函数被调用,但 state 没更新

Step 5: Fix
- 发现 useState 初始值是 undefined,导致条件渲染失败
- 修复:给 showAnswer 默认值 false
- 运行测试 → 全绿
- 回归测试 → 全绿

为什么重要? 因为 "99%的调试时间花在猜上"。Debug skill 给你一个纪律性流程,不猜、不乱改、每一步有证据。

---

🔧 5个 Skill 的咬合顺序

用户:"我想做个间隔重复应用"
    ↓
① grill-me(20分钟)
    → 产出:spec.md(需求文档)
    ↓
② brainstorming(15分钟)
    → 产出:design.md(设计文档)
    ↓
③ writing-plans(10分钟)
    → 产出:plan.md(实施计划)
    ↓
④ TDD 执行(按 plan 逐个 Task)
    → 每个 Task:写测试 → 写代码 → 跑测试 → 提交
    ↓
⑤ debugging(遇到 bug 时触发)
    → 按5步法定位修复
    ↓
产出:一个能跑的应用 + 全套测试 + 完整文档

总时间:从想法到可跑应用,约 2-3 小时(其中1小时是 AI 在 grill 和 brainstorm,人在回答)。

---

💡 为什么这5个 skill 能拉开差距?

不是技能本身强,是流程不可跳过

没有 skill 的 Claude Code:

用户:写个记忆卡片应用
Claude:好(立刻开始敲代码,10分钟后给你一个半成品)
用户:这不是我要的...
Claude:那改一下(再10分钟,还是不对)
用户:算了,我自己写吧

有 skill 的 Claude Code:

用户:/grill-me 我想做个间隔重复应用
Claude:好,先不急着写,有几个问题...
(20分钟后)
Claude:spec 已确认。现在进入 brainstorming...
(15分钟后)
Claude:design 已确认。现在拆 plan...
(10分钟后)
Claude:plan 已确认。开始 TDD 执行 Task 1/6...
(逐个执行,每个带测试)

差别在哪?前者是 vibe coding,后者是工程纪律。

Skill = 把经验编码成流程

Matt Pocock 和 Jesse Vincent(obra)都不是凭空发明这些 skill。它们来自:

  • 《程序员修炼之道》(Pragmatic Programmer)
  • 《领域驱动设计》(Domain-Driven Design)
  • 敏捷开发的 TDD 实践
  • 系统工程的 debug 方法论
Skill 是把这些经典工程智慧,打包成 AI 能执行的流程。 不是新东西,是旧东西的新载体。

---

⚠️ 常见误区

误区1:"简单项目不需要这么多流程"

Superpowers 的回应:"觉得项目太简单不需要设计?那更要走流程。简单项目里的隐含假设,是返工的最大来源。"

误区2:"grill-me 太烦,直接写吧"

Grill-me 的20轮对话确实烦。但想想:如果跳过,后面改代码的时间可能是一小时起步。

误区3:"测试是 overhead,先跑起来再说"

TDD 的前几个 test 确实慢。但一旦有了测试覆盖,后续改代码的速度快10倍——因为你知道没改坏。

---

📝 结语

Claude Code 半年,真正拉开差距的不是模型。模型大家用的都一样。

差距来自:你有没有把做事的方法编码成 skill。

Grill-me 让你不猜需求。Brainstorming 让你不选错架构。Writing-plans 让你不跑偏。TDD 让你不怕改。Debugging 让你不乱修。

5个 skill,串联起来,就是从"想法"到"产品"的完整流水线。

不是 Claude 变强了,是你让 Claude 有纪律地变强

---

Skill 资源

  • Matt Pocock Skills: https://github.com/mattpocock/skills
  • Superpowers Framework: https://github.com/obra/superpowers
  • 本文5个 skill 的完整 prompt:见原视频置顶评论
---

*本文同步发布于 智柴外脑*

#ClaudeCode #Skill #Superpowers #MattPocock #TDD #AI编程 #工作流 #小凯

暂无表态
💬 讨论回复 (0)
推荐

🌟 智谱 GLM-5 已上线

我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。

🎁 领取 2000万 Tokens