关于 mattpocock/skills
mattpocock/skills https://github.com/mattpocock/skills 是由知名 TypeScript 教育者 Matt Pocock 维护的 AI Skills 开源集合。这些 Skills 旨在帮助开发者在 AI 辅助编程中获得更高质量的代码输出。
根据官方README和相关开源社区的拆解,mattpocock/skills 按使用场景分为四类,共包含 16 个核心技能。以下是具体的技能列表与说明:
规划与设计类 (5个) 旨在强制 AI 在编码前进行充分思考,确保“做正确的事”。
-
to-prd:基于当前对话,自动生成产品需求文档并创建为GitHub Issue。
-
to-issues:将PRD按可独立交付的功能切片拆解为具体的GitHub Issue。
-
grill-me:对用户方案进行深入且严格的质询,直至所有决策分支和潜在盲区被明确。
-
design-an-interface:可调用并行子代理生成多种截然不同的界面设计方案。
-
request-refactor-plan:通过访谈制定精准且可逐步实施的重构计划。
开发与重构类 (5个)引入严苛的工程纪律,确保代码质量与可维护性。
-
tdd:严格遵循“红-绿-重构”的测试驱动开发循环。
-
triage-issue:探索代码库定位问题根源,并提供基于TDD的修复计划Issue。
-
improve-codebase-architecture:基于项目上下文文档,寻找架构优化的机会点。
-
migrate-to-shoehorn:通过测试断言,将代码迁移至特定的TypeScript工具库。
-
scaffold-exercises:生成标准化的练习项目目录结构。
工具链与环境类 (2个) 为项目搭建基础设施,并构筑AI操作的安全防线。
-
setup-pre-commit:一键配置Husky、lint-staged、Prettier等Git提交前检查工具。
-
git-guardrails-claude-code:在底层拦截git push —force等危险操作,防止意外破坏。
写作与知识沉淀类 (4个)用于管理代码之外的文档,并支持技能自身的迭代。
-
write-a-skill:遵循渐进式披露原则,生成新的Agent Skill。
-
edit-article:对文章进行结构化调整、逻辑增强与精炼压缩。
-
ubiquitous-language:从对话中提取DDD风格的统一语言词汇,建立团队共识。
-
obsidian-vault:直接搜索、创建和管理Obsidian笔记库中的内容。
我自己的开发skill调用顺序:
我经常使用 grill-me、to-prd 和 tdd 这三个 Skill。在我看来,AI 就像一匹脱缰的野马——速度够快,但方向不明确。而 mattpocock/skills 提供了一套“规训”AI 的方法流程,让它朝着正确的方向稳步前进。
我主要用 Claude Code 开发一些规模较小的软件项目。这类项目虽然工作量不大,但细节众多:如果沟通不清楚,AI 就不可能完全按我的想法实现。因此,在每个项目开始前,我会首先调用 grill-me 这个 Skill。它的作用是让 AI 对我进行非常深入且严格的质询,确保所有决策分支和潜在盲区都被彻底澄清。这个 Skill 真的能把人问得“头皮发麻”——之前有一次,它一连问了我 38 个问题。那天我同时推进 3 个项目,基本上整个下午都处于“AI 提问 → 我回答”的循环中。但最终产出的结果与我的预期相差无几,只需微调即可。正所谓“磨刀不误砍柴工”,在开发前把所有细节都与 AI 明确下来,它就会严格按规划的方向一步步实现。
当 grill-me 完成后,我会调用 to-prd,让 AI 将我们刚才明确的所有内容整理成一份完整的 PRD 文档。这份文档会涵盖技术栈、UI 设计、各种微小细节,以及当前仍悬而未决的问题。之所以要这样做,是因为 AI 没有长期记忆——关闭当前对话窗口后,它就不再记得之前聊过什么。我们必须用文字把这段对话记录下来,以防当天开发未完成或终端意外关闭导致衔接不上。一旦出现问题,我只需让 AI 重新读取 PRD 文档和项目进度,就能立刻明白:需要做什么、哪些已完成、哪些还需优化。
最后,我会让 AI 按开发顺序列出项目的所有 Phase(阶段),同时启动 tdd 这个 Skill。tdd 会对每个 Phase 进行评测,判断哪些需要编写测试、哪些不需要。之后,我再让 Claude 调用子 Agent 完成各个阶段的开发。
开发流程图
flowchart TD
A[开始新项目] --> B[调用 grill-me]
B --> C{AI 深度质询<br>明确所有决策、分支、盲区}
C --> D[用户回答问题<br>循环直至无新问题]
D --> E[调用 to-prd]
E --> F[生成 PRD 文档<br>技术栈 / UI / 细节 / 待决问题]
F --> G[保存 PRD 文档<br>作为长期记忆载体]
G --> H[按开发顺序列出所有 Phase]
H --> I[调用 tdd]
I --> J{对每个 Phase 评测}
J --> K[标记需要测试的 Phase]
J --> L[标记无需测试的 Phase]
K --> M[调用子 Agent<br>按 Phase 依次开发]
L --> M
M --> N[完成项目 / 微调]