Skip to content

Commit 30954f0

Browse files
committed
docs: 新增 mattpocock/skills 推荐
1 parent 871f1a9 commit 30954f0

4 files changed

Lines changed: 184 additions & 4 deletions

File tree

docs/.vuepress/sidebar/ai-coding.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,10 @@ export const aiCoding = arraySidebar([
9797
text: "AI 编程 Skills 选型与精简",
9898
link: "practices/skill-selection-and-pruning",
9999
},
100+
{
101+
text: "mattpocock/skills 深度使用指南",
102+
link: "practices/mattpocock-skills",
103+
},
100104
{
101105
text: "一个好用的 AI 绘图 Skill",
102106
link: "practices/drawio-chart-skill",

docs/ai-coding/README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ AI 生成的代码,一定要过测试、审查和可回滚的提交管理。
6363
2. [AI 编程选 CLI 还是 IDE?](./practices/cli-vs-ide.md):把工具路线分清楚,别一上来就陷入工具名之争。
6464
3. [Ghostty 安装、配置和常见技巧](./practices/ghostty.md)[Claude Code 使用指南](./practices/claudecode-tips.md)[Claude Code 核心命令详解](./practices/claudecode-commands.md)[高颜值 Claude Code 替代 OMP](./practices/oh-my-pi.md):如果你主用 CLI Agent,先把终端工作台调顺,再看 Claude Code 和 oh-my-pi 这类终端代理的操作思路。
6565
4. [CLAUDE.md 最佳实践](./practices/claude-md-best-practices.md)[Claude Code 上下文管理](./principles/claude-code-context-management.md)[Claude Code 记忆系统](./principles/claude-code-memory.md)[Claude Code Skills 原理](./principles/claude-code-skills.md)[Claude Code Hooks 原理](./principles/claude-code-hooks.md)[Claude Code 多 Agent 机制](./principles/claude-code-multi-agent.md):把规则、上下文治理、记忆、按需加载、生命周期钩子和任务拆分串起来。
66-
5. [AI 编程必备 Skills 推荐](./practices/programmer-essential-skills.md)[强模型时代,AI 编程 Skills 还有必要装吗?](./practices/skill-selection-and-pruning.md)[draw.io 绘图 Skill](./practices/drawio-chart-skill.md)[OpenAI Codex 最佳实践指南](./practices/codex-best-practices.md)[Spec Coding 规范驱动编程](./practices/spec-coding.md)[Vibe Coding 实用技巧总结](./practices/the-cool-tricks-for-vibe-coding.md):把提示词、权限、Spec、Git、多 Agent、Skill 选型和技术配图工作流串起来。
66+
5. [AI 编程必备 Skills 推荐](./practices/programmer-essential-skills.md)[强模型时代,AI 编程 Skills 还有必要装吗?](./practices/skill-selection-and-pruning.md)[mattpocock/skills 深度使用指南](./practices/mattpocock-skills.md)[draw.io 绘图 Skill](./practices/drawio-chart-skill.md)[OpenAI Codex 最佳实践指南](./practices/codex-best-practices.md)[Spec Coding 规范驱动编程](./practices/spec-coding.md)[Vibe Coding 实用技巧总结](./practices/the-cool-tricks-for-vibe-coding.md):把提示词、权限、Spec、Git、多 Agent、Skill 选型和技术配图工作流串起来。
6767
6. 工具栈确定后,再按需看 Qoder、Trae、DeepSeek V4 + Claude Code、MiniMax M3 + Claude Code、Kimi K3、Claude Code 接入第三方模型等实战案例。
6868

6969
## 核心文章
@@ -83,6 +83,7 @@ AI 生成的代码,一定要过测试、审查和可回滚的提交管理。
8383
- [Claude Code 核心命令详解](./practices/claudecode-commands.md):专门讲 `/simplify``/review``/loop``/batch` 这些命令怎么用。
8484
- [AI 编程必备 Skills 推荐](./practices/programmer-essential-skills.md):按任务场景整理 TDD、代码审查、UI 设计、网页自动化和 Skill 开发工作流,并说明哪些情况不值得安装。
8585
- [强模型时代,AI 编程 Skills 还有必要装吗?](./practices/skill-selection-and-pruning.md):从 Superpowers 和 `grilling` 的实际使用出发,讨论哪些 Skill 值得保留,以及怎么给 Skill 列表做减法。
86+
- [mattpocock/skills 深度使用指南](./practices/mattpocock-skills.md):结合真实案例拆解 `grilling``research``diagnosing-bugs``code-review` 的适用场景。
8687
- [drawio-chart Skill 开源](./practices/drawio-chart-skill.md):分享如何用 Agent 自动生成可编辑的 draw.io 技术图,适合流程图、架构图和模块关系图。
8788
- [OpenAI Codex 最佳实践指南](./practices/codex-best-practices.md):讲 Codex 云端智能体和 CLI 怎么配提示词、工具权限和安全策略。
8889
- [高颜值 Claude Code 替代 OMP](./practices/oh-my-pi.md):介绍这个高颜值 Claude Code 替代工具的 Hashline、LSP/DAP、内置工具、多模型路由和上手配置。
Lines changed: 173 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,173 @@
1+
---
2+
title: mattpocock/skills:我最推荐的 4 个 AI 编程 Skill
3+
description: 深入介绍 mattpocock/skills 中的 grilling、research、diagnosing-bugs 和 code-review,结合真实项目案例说明它们适合解决哪些 AI 编程失败点,以及如何按需安装和使用。
4+
category: AI 编程实战
5+
tag:
6+
- AI 编程
7+
- Skills
8+
- Codex
9+
- Claude Code
10+
head:
11+
- - meta
12+
- name: keywords
13+
content: AI编程,Agent Skills,mattpocock skills,grilling,research,diagnosing-bugs,code-review,Codex,Claude Code,AI辅助开发,代码审查,需求澄清,Bug诊断
14+
---
15+
16+
你好,我是小 G。
17+
18+
我在 [AI 编程 Skills 选型清单](https://javaguide.cn/ai-coding/practices/programmer-essential-skills.html)[强模型时代,AI 编程 Skills 还有必要装吗?](https://javaguide.cn/ai-coding/practices/skill-selection-and-pruning.html) 这两篇文章中,都提到了 [mattpocock/skills](https://github.com/mattpocock/skills)`grilling` 还专门拿了实际项目举例。
19+
20+
有不少读者朋友对 `grilling` 感兴趣。不过,回头看,这两篇都写得太简略了。文章只留下“让 Agent 持续追问”这个印象,一次只问一个问题、哪些信息该让 Agent 自己查、什么时候才能开始执行,都没有展开。
21+
22+
所以我重新读了一遍仓库里的 `SKILL.md``mattpocock/skills` 把常见工程问题拆成了较小、方便修改、可以组合的 Skill:需求含糊就补需求澄清,Bug 难查就补诊断流程,准备交付再补代码审查。
23+
24+
这种拆法很合我的使用习惯。Codex、Claude Code 已经能稳定完成的基础动作,无须每次重教;哪个环节经常返工,就给哪个环节加一小段流程。
25+
26+
群里讨论时,大家提到的也是类似问题:完整套件容易让小任务背上过重的流程,`grilling` 虽然会连续追问,但需求确实能收得更清楚。
27+
28+
![群友讨论 Superpowers 流程过重以及 Grilling 减少返工](https://oss.javaguide.cn/github/javaguide/ai/skills/group-chat-superpowers-grilling-feedback.png)
29+
30+
除了 `grilling` 之外,`research``diagnosing-bugs``code-review` 这三个也非常不错,这篇文章都会分享。
31+
32+
## `grilling` 不只是让 Agent 多问几句
33+
34+
我在前两篇文章里,其实也把 `grilling` 写简单了:让 Agent 别急着写代码,先多问几个问题。普通 Prompt 加上这句话也能做到。
35+
36+
当前版本的 [`grilling`](https://github.com/mattpocock/skills/blob/main/skills/productivity/grilling/SKILL.md) 很短,里面把访谈怎么往下走规定得很细。
37+
38+
![grilling Skill 的完整访谈规则](https://oss.javaguide.cn/github/javaguide/ai/skills/grilling-skill-content.png)
39+
40+
它会沿着决策树往下问,一次只处理一个决定。前面的答案可能改变后面的分支,所以不能一口气扔出十几个问题,让用户像填问卷一样回答。
41+
42+
它还把事实和决定分开。项目用了什么框架、现有接口怎么设计、数据库里有没有某个字段,Agent 应该自己读代码和文档。首期做哪个方案、要不要兼容旧行为、愿意承担多少复杂度,则交给用户。
43+
44+
双方没有确认已经达成共同理解之前,Agent 也不能照着自己的判断开工。
45+
46+
## `grilling``grill-me``grill-with-docs` 有什么区别?
47+
48+
`grilling` 是可复用的底层访谈 Skill,模型可以主动调用,用户也可以直接调用,其他 Skill 同样能复用。`/grill-me` 是更明确的人工入口,本身只负责启动一次 `/grilling` 会话。
49+
50+
讨论会产生长期使用的领域术语或架构决定时,可以换成 [`/grill-with-docs`](https://github.com/mattpocock/skills/blob/main/skills/engineering/grill-with-docs/SKILL.md)。它还会调用 `domain-modeling`:术语确定后写入 `CONTEXT.md`,少量难以撤销、以后看起来可能奇怪的决定再记录为 ADR。
51+
52+
![grill-with-docs Skill 的调用关系](https://oss.javaguide.cn/github/javaguide/ai/skills/grill-with-docs-skill-content.png)
53+
54+
![domain-modeling Skill 的领域建模规则](https://oss.javaguide.cn/github/javaguide/ai/skills/domain-modeling-skill-content.png)
55+
56+
三者的关系可以理解为:
57+
58+
```text
59+
grill-me ──────────> grilling
60+
grill-with-docs ───> grilling + domain-modeling
61+
```
62+
63+
访谈规则集中在 `grilling` 里,其他 Skill 直接复用。
64+
65+
[v1.1.0](https://github.com/mattpocock/skills/releases/tag/v1.1.0) 又把确认步骤改成显式停止条件,并区分环境事实和用户决定。旧规则可能让组合调用它的 Agent 顺手替用户做产品决定,现在这类决定必须逐个问人。
66+
67+
## 我用 grilling 确认了一次知识库面试需求
68+
69+
这次真实使用来自我的开源项目 [SpringAI 智能面试平台](https://javaguide.cn/zhuanlan/interview-guide.html)
70+
71+
当时我准备把模拟面试和知识库打通,直接选择了 `grilling`,给出的任务只有一句:帮我把这件事想清楚。
72+
73+
现有实现其实已经打通了一部分:普通模拟面试和知识库面试都使用 `InterviewSession`,作答、异步评估和部分前端页面也已经复用。此时继续设计底层,可能改掉本来可以保留的代码,首期产品范围反而还没确定。
74+
75+
![使用 Grilling 确认模拟面试与知识库的打通方案](https://oss.javaguide.cn/github/javaguide/ai/skills/grilling-springai-interview-platform-case.png)
76+
77+
`grilling` 问的第一个决定,是知识库在面试里扮演什么角色。
78+
79+
一种方案是完全根据用户资料生成定向面试;另一种是照常选择 Java、系统设计等 Skill,知识库只补充上下文。我选了前者,现有的题库生成、分类、难度、固定追问和评分规则都能继续使用。后一种还会引出两类题目的混合比例、实时 RAG、题目去重、来源冲突和评估依据。
80+
81+
这个决定确认后,它才进入下一个分支:一场面试绑定一个知识库,还是允许组合多个知识库?
82+
83+
请求参数、会话字段和题库筛选都围绕单个 `knowledgeBaseId` 设计。多知识库还要处理召回结果合并、权重、重复内容和权限校验。首期因此限制为单库,没有提前改关联表和接口结构。
84+
85+
第三个决定是入口。知识库面试已经有独立页面,普通模拟面试则从“模拟面试中心”进入。最后保留两个入口,但底层继续复用 `InterviewSession`,配置组件和创建接口也尽量共用,避免以后维护两套相似逻辑。
86+
87+
代码还没有开始改,首期范围已经收成三个选择:纯知识库面试、单个 `knowledgeBaseId`、双入口共用会话与创建能力。
88+
89+
`grilling` 没有替我写产品方案。它给出推荐答案和代码依据,取舍仍然由我确认。第一个答案如果换成“通用 Skill + 知识库上下文”,后面要问的也不会是单库还是多库,而会转向两类题目的混合与评估方式。
90+
91+
现在的模型写代码已经够快了。需求范围没定时,Agent 也能很快交出代码、测试和文档。方向偏了,这些产物都要跟着返工。
92+
93+
当然,不是每个任务都要先接受一轮“拷问”。改一处文案、补一个明确的空值判断、按现成模式增加字段,验收标准已经写得很具体,直接做通常更省时间。`grilling` 也替代不了测试和代码审查,它只负责把动手前还没定下来的问题暴露出来。
94+
95+
当前的 `grilling` 也没有问题数量上限,复杂需求可能聊得很久。如果担心访谈拉得太长,可以给它设置每轮 3~5 个问题的预算。一轮结束后先整理已经确认和仍未确认的决定,再由用户选择是否继续。
96+
97+
不要只写“最多问 5 个问题”。额度用完后,Agent 仍然不能自行补齐剩余决定或直接开工。
98+
99+
## `research`:把查资料这条支线交出去
100+
101+
给项目升级某个 SDK 时,当前版本支持哪些参数、旧接口何时弃用、流式事件怎么变化,不该靠用户凭记忆回答,也不适合让主 Agent 一边改代码一边翻长文档。
102+
103+
[`research`](https://github.com/mattpocock/skills/blob/main/skills/engineering/research/SKILL.md) 会把问题交给后台 Agent,只查官方文档、源码、规范和第一方 API。结论写进仓库里的一个 Markdown 文件并标明来源,主 Agent 可以继续处理其他工作。
104+
105+
![research Skill 的资料检索和结果保存规则](https://oss.javaguide.cn/github/javaguide/ai/skills/research-skill-content.png)
106+
107+
我看中的是它把资料来源和交付物钉死了:不拿二手教程替代官方资料,也不把几十页搜索过程塞回主会话,只留下可复查的结论。
108+
109+
使用它有两个前提:Agent 支持后台或 Subagent 调查,项目也接受多一个研究文档。只查一个方法签名时,直接打开官方文档更快;涉及版本迁移、协议差异或陌生依赖,再把这条支线交出去。
110+
111+
## `diagnosing-bugs`:先做出一个会变红的反馈环
112+
113+
Agent 排查 Bug 时很容易过早形成判断。看到一个可疑分支,马上改代码,再跑一遍测试;没修好,就继续换下一个猜测。改动越来越多,最初的故障现象反而没有被稳定复现。
114+
115+
[`diagnosing-bugs`](https://github.com/mattpocock/skills/blob/main/skills/engineering/diagnosing-bugs/SKILL.md) 把最多精力放在第一阶段:先做出一个能准确捕获当前 Bug 的反馈环。
116+
117+
![diagnosing-bugs Skill 的 Bug 诊断流程](https://oss.javaguide.cn/github/javaguide/ai/skills/diagnosing-bugs-skill-content.png)
118+
119+
反馈环可以是一条失败测试、一段 `curl`、带固定输入的 CLI、Playwright 脚本或线上请求回放。它要能捕获原故障,运行稳定、足够快,并且 Agent 可以独立执行。
120+
121+
确实无法复现时,它会列出尝试过的办法,再向用户申请可复现环境、HAR、日志、`core dump` 或临时生产插桩权限。
122+
123+
反馈环准备好后,再重复复现并缩小输入。接着列出 3~5 个可以证伪的假设,说明“如果它是原因,改变什么之后现象会如何变化”,再根据预测增加断点或定向日志。
124+
125+
修复阶段会把最小复现转成回归测试,在正确的模块接口处看它先失败,再应用修复。结束前重跑原始场景,清掉带唯一前缀的临时日志和调试程序,并把最终根因写进提交或 PR。
126+
127+
这套流程适合难复现的 Bug、性能退化和已经猜错几轮的问题。编译错误、明显的字段拼写错误,没必要先建一套诊断流程。项目没有合适的测试接缝时,最小复现也无法变成可靠测试。这个 Skill 会记录下架构问题,不会硬写一个和真实调用方式不一致的单元测试。
128+
129+
## `code-review`:代码规范和需求实现分开审
130+
131+
代码审查经常只看实现质量:命名是否清楚、有没有重复逻辑、异常处理是否合理、测试够不够。代码本身可能挑不出大问题,却实现错了需求。
132+
133+
[`code-review`](https://github.com/mattpocock/skills/blob/main/skills/engineering/code-review/SKILL.md) 把审查分为 `Standards``Spec` 两条线。
134+
135+
![code-review Skill 的双轴代码审查流程](https://oss.javaguide.cn/github/javaguide/ai/skills/code-review-skill-content.png)
136+
137+
`Standards` 会读取仓库自己的 `CONTRIBUTING.md` 和编码规范,再检查变更是否遵守约定。当前版本还内置了一组 `Fowler Code Smells`。仓库明文规则优先,Smell 只能作为判断线索,不能直接算违规。
138+
139+
`Spec` 则回到最初的 Issue、PRD 或技术方案,检查交付内容是否真的覆盖了原需求。两条审查由并行 Subagent 分别完成,最后再合并结果,避免负责代码风格的上下文影响需求检查。
140+
141+
审查前还要固定 `commit`、分支、`tag``main` 作为比较基点。Skill 基于 `merge base` 查看 `HEAD` 以来的 `diff`,不会把整个仓库泛泛看一遍。
142+
143+
项目没有 PRD、Issue 或验收标准时,`Spec` 这条线只能跳过;仓库没有编码约定,`Standards` 更多依赖通用 Code Smells。并行审查还要求宿主 Agent 支持 Subagent。CI、静态检查和人工领域审查仍然要保留。
144+
145+
## 怎么安装
146+
147+
这个仓库可以通过 `skills.sh` 的安装器接入 Codex、Claude Code 等支持 Agent Skills 的工具:
148+
149+
```bash
150+
npx skills@latest add mattpocock/skills
151+
```
152+
153+
安装器会让你选择具体 Skill 和目标 Agent。只想体验需求访谈,可以先选 `grill-me``grilling`。需要在讨论过程中维护 `CONTEXT.md` 和 ADR,再选择 `grill-with-docs``domain-modeling`
154+
155+
按照项目当前说明,使用工程链路前还要在目标仓库运行一次 `/setup-matt-pocock-skills`,确认 GitHub、Linear 或本地任务管理方式,并确定 `Triage` 标签和 Agent 文档目录。
156+
157+
也可以直接让 Coding Agent 帮你安装,这里以 Codex 为例:
158+
159+
```text
160+
请帮我从 mattpocock/skills 仓库安装 4 个 Agent Skill:grilling、research、diagnosing-bugs、code-review。
161+
```
162+
163+
![Codex 使用 skill-installer 安装 mattpocock skills](https://oss.javaguide.cn/github/javaguide/ai/skills/codex-install-mattpocock-skills.png)
164+
165+
安装完成后,通常要到下一轮对话才会出现在可用 Skill 列表里。
166+
167+
`tdd``to-spec``to-tickets` 没有单列。TDD、规格说明和任务拆分已经是常见工程方法,不少 Agent 也能完成基础版本。项目采用“讨论 → Spec → Tickets → 实现 → 审查”的整条链路时,再组合它们。
168+
169+
这篇文章挑的 4 个,对应的是我现在更在意的几个失败点:开工前方向没定,资料来源不可靠,Bug 没复现就开始猜,代码写完却没有对照原始需求。
170+
171+
第一次安装不用全局启用。先限定在一个仓库,拿两三个真实任务观察返工次数、执行时间和产物质量。模型没有 Skill 也能稳定完成,就删掉;同一个问题反复出现,再留下那一小段流程。
172+
173+
第三方 Skill 是交给 Agent 的指令。安装前读一遍 `SKILL.md`,再检查 `scripts/``references/` 和权限要求。列表短一点没关系,知道每个 Skill 为什么还在,使用时反而更省心。

0 commit comments

Comments
 (0)