← 返回日报
🌐 机器翻译 · DeepSeek · GitHub

mattpocock skills


mattpocock 技能

面向真正工程师的技能

我每天用来做真正工程工作的 agent 技能——不是 vibe coding。

开发真正的应用程序很难。GSD、BMAD 和 Spec-Kit 等方法试图通过接管流程来提供帮助。但这样做时,它们剥夺了你的控制权,并使流程中的 bug 难以解决。

这些技能被设计得小巧、易于调整且可组合。它们适用于任何模型。它们基于数十年的工程经验。

随意折腾它们。把它们变成你自己的。尽情享用。

如果你想跟上这些技能的变化,以及我创建的任何新技能,可以加入我的 newsletter,与约 60,000 名其他开发者一起:注册订阅 Newsletter

安装(30 秒设置)

插件会自行更新。skills.sh 会将可编辑文件复制到你的项目中,你需要手动更新它们。

每个 agent 只选一种方式,因为同时安装两种会让每个技能出现两次。

1. 获取技能

Claude Code

claude plugin install mattpocock-skills@claude-plugins-official

默认自行更新。

Codex

codex plugin marketplace add mattpocock/skills
codex plugin add mattpocock-skills@mattpocock

启动时自行更新。

GitHub Copilot(CLI 和 VS Code)

copilot plugin marketplace add mattpocock/skills
copilot plugin install mattpocock-skills@mattpocock

然后,一次性添加到 ~/.copilot/settings.json:

{
  "extraKnownMarketplaces": {
    "mattpocock": {
      "source": {
        "source": "github",
        "repo": "mattpocock/skills"
      },
      "autoUpdate": true
    }
  }
}

在 VS Code 中,运行 Chat: Install Plugin From Source 并输入 https://github.com/mattpocock/skills。它每天更新。

Gemini CLI(手动更新)

gemini skills install https://github.com/mattpocock/skills.git --path skills/engineering
gemini skills install https://github.com/mattpocock/skills.git --path skills/productivity

重新运行这两条命令即可更新。

任何其他 agent,或可编辑文件(手动更新)

npx skills@latest add mattpocock/skills -a   # cursor, opencode, devin, windsurf, amp, pi;省略 -a 以进行选择

当安装程序询问要获取哪些技能时,请包含 setup-matt-pocock-skills。要更新,请运行 npx skills@latest update,然后重新运行 add 以获取新技能。

2. 运行 /setup-matt-pocock-skills

在你的 agent 中,每个仓库运行一次。它会:

我构建这些技能,是为了修复我在 Claude Code、Codex 和其他 coding agent 中看到的常见失败模式。

#1:Agent 没有做我想让它做的事

“没有人确切知道自己想要什么”
David Thomas & Andrew Hunt,《程序员修炼之道》

问题。软件开发中最常见的失败模式是错位。你以为开发者知道你想要什么。然后你看到他们构建的东西——你意识到它完全没有理解你。

在 AI 时代也是一样。你和 agent 之间存在沟通鸿沟。

解决方法是进行一次拷问会话——让 agent 就你正在构建的东西向你提出详细问题。

修复方法是使用:

这些是我最受欢迎的技能。它们帮助你在开始之前与 agent 对齐,并深入思考你正在做的变更。每次你想做变更时都使用它们。

#2:Agent 太啰嗦了

有了无处不在的语言,开发者之间的对话和代码表达都源自同一个领域模型。
Eric Evans,《领域驱动设计》

问题:在项目开始时,开发者和他们为其构建软件的人(领域专家)通常说着不同的语言。我和我的 agent 也有同样的紧张关系。Agent 通常被丢进一个项目,然后被要求边做边弄懂术语。所以它们用 20 个词来表达 1 个词就能表达的意思。

修复方法是共享语言。它是一份文档,帮助 agent 解码项目中使用的术语。

示例

这是一个示例词汇表(在那个固定提交中仍名为 CONTEXT.md,那时技能还没有重命名这个约定),来自我的 course-video-manager 仓库。哪个更容易读?

之前:“当课程某个 section 内的 lesson 被‘实体化’(即,在文件系统中获得一个位置)时会出现问题”

之后:“materialization cascade 有问题”

这种简洁性会在一次又一次的会话中带来回报。

这内置于 /grill-with-docs 中。它是一次拷问会话,但会帮助你与 AI 建立共享语言,并在 ADR 中记录难以解释的决策。很难解释这有多强大。它可能是这个仓库中最酷的技术。试试看吧。

提示 共享语言除了减少啰嗦之外还有许多其他好处:

问题:假设你和 agent 已经就构建什么达成一致。如果 agent 仍然产出垃圾怎么办?是时候看看你的反馈循环了。如果对代码实际运行情况没有反馈,agent 就会盲目飞行。

修复方法:你需要通常的那一套反馈循环:静态类型、浏览器访问和自动化测试。对于自动化测试,红-绿-重构循环至关重要。这就是 agent 先写一个失败的测试,然后修复测试。这有助于给 agent 提供一致水平的反馈,从而产生好得多的代码。

我构建了一个 /tdd 技能,你可以插入任何项目。它鼓励红-绿-重构……

📖 阅读原文 →