Matt Pocock Skills 深度实战:TypeScript 大神把 .claude 目录开源了——21个工程级 Agent Skills 从对抗"氛围编码"到生产级 AI 编程实践
写在前面:我们正站在一条危险的曲线上
2026年,AI 编码助手已经深度嵌入无数开发者的日常工作流。它能 30 秒生成一个 CRUD 模块,一分钟搭完一个登录系统。但在真实的生产级项目中,一种现象正在蔓延——
Matt Pocock 把这种现象称为 "vibe coding"(氛围编码)——你凭感觉对 AI 说"我要一个用户管理系统",AI 噼里啪啦一顿操作,代码倒是生成了,但架构混乱、边界不清、测试残缺。等你发现不对劲的时候,代码已经滚了三千行,改不动了。
这不是个例。在 GitHub Trending 上,每天新增的 AI 辅助项目成千上万,但真正能进入生产环境、经得起维护的,凤毛麟角。背后有一个根本矛盾:
AI 生成代码的速度远远超过了人类理解和维护代码的速度。
这不是 AI 的问题——这是工作流设计的问题。当我们把 AI 当成一个"快速代码生成器"而不是一个"工程协作伙伴"时,vibe coding 就是必然结果。
Matt Pocock 的 mattpocock/skills 项目就是在这样的背景下诞生的。这个项目从他的 .claude 目录中抽取了 21 个精心设计的 Agent Skills,每一个都源自他多年积累的工程实践——不是提示词模板,不是 prompt engineering 技巧,而是实打实的软件工程方法论在 AI Agent 时代的重新编译。
截至 2026 年 5 月,这个仓库已突破 37,000 Star,日均增长稳定在 300+ 以上,成为 AI 编程工具链领域的现象级项目。
本文将深入解析这个项目的设计哲学、核心技能架构,并手把手实战演示如何将这些 Skills 融入你的日常 AI 编程工作流。
一、项目全景:它到底是什么?
1.1 定位澄清:不是框架,不是库,是一个技能集合
很多人在第一眼看到 mattpocock/skills 时会产生误解——以为这是一个需要安装依赖、配置复杂的框架。实际上,这个项目的本质要简单得多:
mattpocock/skills/
├── skills/
│ ├── engineering/ # 12 个工程技能
│ ├── productivity/ # 3 个生产力技能
│ └── misc/ # 4 个辅助工具
└── SKILL.md # 每个技能一个 MD 文件
整个项目就是 21 个 Markdown 文件的集合。每个 .skill 目录里装着一套结构化的指令,告诉 AI Agent 在特定场景下应该如何思考和行动。
这个设计理念极度务实:Agent Skills 的本质是工程知识的结构化封装。Matt Pocock 没有发明任何新东西,他只是把 decades of engineering experience(他自己在 README 中引用的原话)转化成了 AI 可以理解、执行和复用的格式。
1.2 安装方式:一条命令搞定
npx skills@latest add mattpocock/skills
安装后,CLI 会引导你完成配置:
Pick the skills you want, and which coding agents you want to install them on.
Make sure you select /setup-matt-pocock-skills.
Run /setup-matt-pocock-skills in your agent. It will:
- Ask you which issue tracker you want to use (GitHub, Linear, or local files)
- Ask you what labels you apply to ticks when you triage them
- Ask you where you want to save any docs we create
Bam - you're ready to go.
兼容所有主流 AI 编程工具:Claude Code、Codex、Cursor 等均支持 Skills 协议。
1.3 三大问题域:Matt Pocock 看到了什么
在 GitHub README 中,Matt Pocock 明确指出了他设计这些 Skills 时针对的三个核心问题:
问题一:Misalignment(对齐失败)
"The most common failure mode in software development is misalignment. You think the dev knows what you want. Then you see what they've built — and you realize it didn't understand you at all."
这不是 AI 时代才有的问题——《The Pragmatic Programmer》中 David Thomas 和 Andrew Hunt 在 20 多年前就写道:"No-one knows exactly what they want."
AI Agent 的对齐失败比人类协作更隐蔽。人类对齐失败时,你一眼就能看出来——对方的问题暴露得很直接。但 AI 的对齐失败往往是渐进的:你给了一个模糊的需求,AI 给了模糊的实现,你继续模糊地反馈,模糊地迭代,最终得到一个完全偏离初衷的系统。
问题二:缺乏反馈循环(Lack of Feedback Loops)
"Without feedback on how the code it produces actually runs, the agent will be flying blind."
AI 生成代码时,最容易被忽视的是反馈回路的缺失。人类工程师写代码时,有 IDE 的类型检查、编译器的错误提示、测试框架的红色失败、运行时的心智模型——这些都是反馈信号。
当 AI 以极高速度生成代码时,如果缺乏这些反馈循环,它会沿着错误的方向狂奔,代码越来越乱,问题越积越多。
问题三:代码库腐化加速(Accelerated Software Entropy)
"Because agents can radically speed up coding, they also accelerate software entropy."
这是一个反直觉的洞察:AI 不是在加速开发,它在加速代码库的复杂度增长。过去一个人类工程师一个月能写 3000 行代码,这些代码会被仔细推敲、结构化。但 AI 可以在一天内生成 30000 行代码——如果没有相应的设计纪律约束,这些代码的质量可能远不如那 3000 行。
二、核心技能深度解析
2.1 对齐技能:/grill-me 与 /grill-with-docs
这是 Matt Pocock 最受欢迎的 Skills,也可能是整个仓库中最具价值的技能。
使用场景:在开始任何项目或功能之前,先对需求进行深度盘问。
/grill-me —— 生产力对齐
# Skill: grill-me
## When to use
Before starting ANY project or feature change. Run this first.
## What it does
The agent asks you probing questions about your goal. Keep asking
until every branch of the decision tree is resolved.
## Why it matters
"No-one knows exactly what they want."
— David Thomas & Andrew Hunt, The Pragmatic Programmer
这不是普通的"你需求是什么"——而是一系列精心设计的追问:
- 你说的"用户管理系统",具体需要管理哪些用户属性?
- "权限控制"的粒度要精确到什么层级?
- 如果有两个需求冲突了,你优先保哪个?
- 这个功能的使用频率是多少?高频还是低频?
- 失败路径怎么处理?降级策略是什么?
/grill-with-docs —— 工程对齐(进阶版)
在 /grill-me 的基础上,增加了两个关键产物:
- CONTEXT.md —— 项目通用语言(Ubiquitous Language)
- ADR(Architecture Decision Records) —— 架构决策记录
CONTEXT.md 的价值怎么强调都不为过。以下是 Matt Pocock 自己项目中的真实对比:
BEFORE(模糊表述):
"There's a problem when a lesson inside a section of a course is
made 'real' (i.e. given a spot in the file system)"
AFTER(领域语言):
"There's a problem with the materialization cascade"
一个词替换了 28 个词,含义却更加精确。这就是 Ubiquitous Language 的威力——它在人类和 AI 之间建立了一座语义桥梁,让 agent 不再需要每次都从零推导你的业务术语。
2.2 架构守护:/improve-codebase-architecture
这是 Matt Pocock 提出的最激进的观点:AI 时代的设计纪律比以往任何时候都更重要。
# Skill: improve-codebase-architecture
## Problem
Most apps built with agents are complex and hard to change.
Because agents can radically speed up coding, they also accelerate
software entropy.
## Solution
Find deepening opportunities in a codebase, informed by the domain
language in CONTEXT.md and the decisions in docs/adr/.
## Recommendation
Run this skill on your codebase once every few days.
这个技能的核心理念来自 John Ousterhout 的 A Philosophy of Software Design:
"The best modules are deep. They allow a lot of functionality to be accessed through a simple interface."
/improve-codebase-architecture 会系统性地分析代码库中的以下问题:
- 接口复杂度:某个模块暴露的接口数量与其内部复杂度是否匹配?
- 模块深度:深层模块是否通过简单接口提供了大量功能?
- 依赖方向:模块之间的依赖是否符合层次结构?
- 抽象泄漏:内部实现细节是否通过接口泄露给了外部?
2.3 TDD 技能:/tdd
# Skill: tdd
## Philosophy
Test-driven development with a red-green-refactor loop.
Builds features or fixes bugs one vertical slice at a time.
## The Loop
1. RED: Write a failing test
2. GREEN: Write the minimal code to pass
3. REFACTOR: Improve code while keeping tests green
Matt Pocock 为 TDD 提供了一个极具实操性的 prompt 框架:
// RED 阶段 - Agent 应该:
// 1. 描述期望的行为(用自然语言)
// 2. 写出具体失败的测试用例
// 3. 明确失败原因
// GREEN 阶段 - Agent 应该:
// 1. 写出能让测试通过的最少代码
// 2. 不考虑优化,不考虑扩展性
// 3. 目的只有一个:让测试变绿
// REFACTOR 阶段 - Agent 应该:
// 1. 识别重复代码
// 2. 优化命名和结构
// 3. 引入必要的抽象
// 4. 确保所有测试仍然通过
他特别强调的一个原则是Vertical Slice(纵向切片)——不要横向地写一堆相关测试,而是沿着用户行为路径纵向地构建。
# 错误示范(横向)
- test_user_model_creation()
- test_user_model_validation()
- test_user_model_serialization()
# 正确示范(纵向)
- test_create_valid_user_flow()
- test_reject_invalid_email_flow()
- test_handle_duplicate_email_flow()
2.4 调试技能:/diagnose
# Skill: diagnose
## The Disciplined Diagnosis Loop
reproduce → minimise → hypothesise → instrument → fix → regression-test
## Core Principle
Always start by reproducing the issue. If you can't reproduce it,
you can't verify the fix.
这个调试框架将科学方法融入了 AI 辅助调试:
# 阶段 1: Reproduce(重现)
# 确保 bug 可以在受控环境中重现
# 提供完整的复现步骤,包括:
# - 操作系统和环境版本
# - 输入数据和配置
# - 期望行为 vs 实际行为
# - 最小复现用例
# 阶段 2: Minimise(最小化)
# 剥离无关因素,定位到最小可复现场景
# 常用技术:
# - 二分法注释代码
# - 简化输入数据
# - 隔离模块边界
# 阶段 3: Hypothesise(假设)
# 基于观察到的行为提出假设
# 格式:假设 [X] 导致 [Y],因为 [Z]
# 阶段 4: Instrument(插桩)
# 添加日志、断点、指标来验证假设
# 选择影响最小的插桩方式
# 阶段 5: Fix(修复)
# 基于验证后的假设实施修复
# 注意不要引入新的问题
# 阶段 6: Regression-test(回归测试)
# 确保修复没有破坏现有功能
# 如果可能,添加防止该 bug 再次出现的测试
2.5 需求转化:/to-prd 与 /to-issues
/to-prd —— 生成产品规格文档
# Skill: to-prd
## Input
The current conversation context (what you've discussed so far)
## Output
A complete Product Requirements Document submitted as a GitHub issue
## Structure
- Background and motivation
- Detailed requirements
- Acceptance criteria
- Non-goals (what we're explicitly NOT doing)
- Open questions
/to-issues —— 任务拆解
# Skill: to-issues
## Principle
Break any plan, spec, or PRD into independently-grabbable GitHub issues
using VERTICAL SLICES.
## Vertical Slice Definition
A vertical slice is a cross-cutting piece of functionality that
delivers value independently:
- Frontend + Backend + Database + Tests + Documentation
- But ONLY for ONE user story or feature
## Anti-pattern
Don't create issues by layer:
- ❌ "Implement user model"
- ❌ "Create user API endpoints"
- ❌ "Build user UI components"
- ❌ "Write user tests"
## Correct pattern
Create issues by vertical slice:
- ✅ "User registration flow (frontend + API + DB + tests)"
- ✅ "Email verification flow (frontend + API + DB + tests)"
- ✅ "Password reset flow (frontend + API + DB + tests)"
这个技能解决了一个非常实际的问题:很多团队的任务拆分是按技术层划分的(前端、后端、测试),这导致任何一个功能都需要协调多个任务的完成才能交付价值。而纵向拆分的思路确保每个 issue 都可以独立完成、独立验证、独立部署。
2.6 上下文感知:/zoom-out
# Skill: zoom-out
## Purpose
Tell the agent to zoom out and give broader context or a
higher-level perspective on an unfamiliar section of code.
## When to use
- When the agent seems lost in details
- When you're trying to understand legacy code
- When making architectural decisions
这个技能本质上是在对抗 AI Agent 的一个固有局限:AI 倾向于在当前上下文中深挖细节,但软件设计需要时不时地"抬头看路"。 /zoom-out 强制 agent 跳出当前上下文,从系统整体视角重新审视代码。
三、生产级实战:从零构建一个 Skills 驱动的工作流
3.1 场景设定
让我们用一个真实场景来演示 Skills 的完整工作流:
任务:为一个 SaaS 产品实现"团队成员邀请系统"
3.2 第一步:对齐阶段(/grill-with-docs)
Human: 帮我实现团队成员邀请系统
Agent: 在开始之前,让我先深入了解你的需求。运行 /grill-with-docs ...
Agent: 我有几个关键问题需要确认:
1. 【邀请方式】团队邀请支持哪些方式?
a) 邮件邀请(发送邀请链接)
b) 直接添加(管理员直接添加成员邮箱)
2. 【权限层级】邀请的成员有哪些角色可选?
- Owner / Admin / Member / Guest?
- 每种角色的权限差异点在哪里?
3. 【邀请时效】邀请链接的有效期?
- 固定时间(72小时)?
- 还是有自定义配置?
4. 【安全考量】
- 邀请链接是否需要一次性使用?
- 被邀请人是否需要验证邮箱所有权?
- 是否有防爆破/防滥用机制?
5. 【通知机制】
- 邀请发送成功 → 发邮件给谁?
- 邀请被接受 → 谁收到通知?
- 邀请过期 → 是否通知?
6. 【边界情况】
- 重复邀请同一邮箱怎么处理?
- 邀请未接受,管理员可以撤销吗?
- 被邀请人已经有账号但不属于此团队怎么处理?
(继续追问直到所有分支都清晰...)
完成对齐后,我将生成 CONTEXT.md 和初始 ADR。
3.3 第二步:生成 PRD(/to-prd)
# PRD: Team Member Invitation System
## Background
Our SaaS platform needs a secure, flexible team invitation system
that supports multi-role assignments and email verification.
## Detailed Requirements
### 1. Invitation Flow
- Admin/Owner can send email invitations
- Invitation contains a unique, time-limited token
- Invitee must verify email ownership before joining
- Invitation tokens are single-use
### 2. Role System
| Role | Invite Others | Manage Members | Access Settings |
|--------|--------------|----------------|-----------------|
| Owner | ✅ | ✅ | ✅ |
| Admin | ✅ (non-Owner) | ✅ | ❌ |
| Member | ❌ | ❌ | ❌ |
| Guest | ❌ | ❌ | Read-only |
### 3. Security Requirements
- Rate limiting: max 10 invitations per hour per admin
- Token entropy: 256-bit cryptographic random
- Token expiry: 72 hours (configurable)
- Audit log: all invitation events logged
### 4. Notifications
| Event | Recipient |
|----------------------------|----------------------|
| Invitation sent | Invitee |
| Invitation accepted | Inviter + Team Owners|
| Invitation expired | Inviter |
| Invitation revoked | Invitee |
## Non-Goals
- SAML/OAuth SSO integration (Phase 2)
- Bulk invitation via CSV upload (Phase 2)
## Open Questions
- [ ] Should we support custom invitation expiry times?
- [ ] Do we need invitation email templating?
3.4 第三步:任务拆解(/to-issues)
# Vertical Slice Issue 1: Basic Email Invitation Flow
**Labels**: feature/invitation, vertical-slice, p1
**Description**:
Implement the basic email invitation flow including:
- [x] Invitation model with token generation
- [x] POST /api/invitations endpoint
- [x] Email sending with invitation link
- [x] Token validation on acceptance
- [x] Account linking and team membership creation
- [x] Unit tests (覆盖率 > 80%)
- [x] API documentation
**Acceptance Criteria**:
- Admin can invite new member via email
- Invitee receives email with valid link
- Clicking link creates account (or links existing) and joins team
- Invitation token is invalidated after use
3.5 第四步:TDD 实现(/tdd)
// Step 1: RED - Write the failing test
describe('InvitationService', () => {
describe('createInvitation', () => {
it('should create invitation with cryptographically secure token', async () => {
const result = await invitationService.createInvitation({
teamId: 'team_123',
inviterId: 'user_456',
email: 'newmember@example.com',
role: 'member',
});
expect(result.token).toMatch(/^[A-Za-z0-9_-]{43}$/); // ~256 bits
expect(result.expiresAt).toBeAfter(Date.now());
expect(result.expiresAt).toBeBefore(Date.now() + 74 * 60 * 60 * 1000); // <= 74h
});
it('should reject duplicate email invitations for same team', async () => {
await invitationService.createInvitation({
teamId: 'team_123',
inviterId: 'user_456',
email: 'existing@example.com',
});
await expect(
invitationService.createInvitation({
teamId: 'team_123',
inviterId: 'user_456',
email: 'existing@example.com',
})
).rejects.toThrow('DuplicateInvitationError');
});
it('should enforce rate limit of 10 per hour per admin', async () => {
// Create 10 invitations
for (let i = 0; i < 10; i++) {
await invitationService.createInvitation({
teamId: 'team_123',
inviterId: 'user_456',
email: `user${i}@example.com`,
});
}
// 11th should be rejected
await expect(
invitationService.createInvitation({
teamId: 'team_123',
inviterId: 'user_456',
email: 'user11@example.com',
})
).rejects.toThrow('RateLimitExceededError');
});
});
});
3.6 第五步:诊断守护(/diagnose)
当测试失败时,/diagnose 会引导系统化的调试过程:
Agent: Test failed: "should reject duplicate email invitations for same team"
Running /diagnose ...
REPRODUCE: Confirmed - test fails with "undefined" (not the expected error)
MINIMISE: Isolated to createInvitation() method
HYPOTHESISE:
- 假设 A: Token collision detection logic is missing
- 假设 B: Duplicate check query is wrong (teamId not included)
- 假设 C: Error is thrown before duplicate check runs
INSTRUMENT: Added logging to trace duplicate check execution
FIX: Added unique constraint (team_id, invitee_email) + query filter
REGRESSION: All tests pass, including the duplicate rejection case
四、生产级部署:让你的团队用起来
4.1 环境配置(/setup-matt-pocock-skills)
首次使用需要配置环境:
# 运行安装引导
/setup-matt-pocock-skills
# 配置交互式问答
? Which issue tracker do you want to use?
❯ GitHub Issues
○ Linear
○ Local files (.tasks/)
? Where do you want to save project documentation?
❯ docs/
○ documentation/
○ .docs/
? What labels do you use for triage?
- bug
- feature
- question
- blocked
4.2 工作流集成:推荐的使用顺序
Matt Pocock 推荐了一个固定的使用顺序,这个顺序不是随意设计的,而是经过大量实践验证的:
1. /grill-with-docs ← 需求对齐 + 生成领域语言
↓
2. /to-prd ← 输出产品规格文档
↓
3. /to-issues ← 纵向拆分任务
↓
4. /improve-codebase ← 审视全局架构
↓
5. /tdd ← 测试驱动开发
↓
6. /diagnose ← 调试(如有需要)
↓
7. /zoom-out ← 完成后回顾全局
4.3 与现有工具链的集成
mattpocock/skills 并不取代你的工具链,而是增强它:
GitHub Issues / Linear ← 任务追踪(由 /to-issues 写入)
GitHub PRs ← 代码审查(由 /review-pr 使用)
CI/CD Pipeline ← TDD 测试(由 /tdd 驱动)
Claude Code / Codex ← Agent 执行引擎
4.4 CI 集成示例:强制 TDD 门禁
# .github/workflows/tdd-gate.yml
name: TDD Gate
on:
pull_request:
paths:
- 'src/**'
jobs:
tdd-validation:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run tests first (RED phase)
run: |
npx vitest run --reporter=verbose || true
- name: Validate RED phase behavior
run: |
# Check that tests fail with expected errors
npx vitest run --reporter=json | \
jq '.testResults[].assertionResults[] |
select(.fullName | contains("should")) |
.status' | \
grep -c "passed" || echo "No passing tests in PR - TDD discipline maintained"
五、设计哲学深度剖析
5.1 为什么是 Markdown?
整个 mattpocock/skills 项目最令人惊讶的设计决策是:所有 Skill 内容都是纯 Markdown。没有任何代码依赖,没有任何框架约束。
这背后有一个深刻的设计洞察:
Skill 的价值不在于它的格式,而在于它封装的工程判断。
Markdown 的优势:
- 零门槛:任何文本编辑器都可以编辑
- 版本可控:可以像代码一样用 Git 管理
- 易于分享:可以直接 PR 到仓库
- 工具无关:不绑定任何特定平台
Matt Pocock 的原话:"These skills are designed to be small, easy to adapt, and composable. They work with any model."
5.2 小而美:对抗框架膨胀
当今软件开发的一个趋势是框架膨胀:每个新工具都想做成一个大而全的框架,声称能解决所有问题。
mattpocock/skills 采取了完全相反的策略:每个 Skill 只做一件事。/grill-me 只负责对齐,/tdd 只负责测试驱动,/diagnose 只负责调试。它们不是整合在一起的庞大系统,而是可以按需选择、自由组合的独立工具。
这种设计带来了几个关键优势:
- 渐进采用:你可以从任何一个 Skill 开始,不需要全盘接受
- 本地适配:每个团队可以根据自己的需求修改任何 Skill
- 组合自由:可以混合来自不同来源的 Skills
- 故障隔离:一个问题 Skill 不会影响其他 Skills 的运行
5.3 开发者经验的蒸馏
Matt Pocock 在 Skills 仓库中引用了大量经典工程文献:
- 《The Pragmatic Programmer》—— 对齐问题
- 《Domain-Driven Design》—— Ubiquitous Language
- 《Extreme Programming Explained》—— TDD
- 《A Philosophy of Software Design》—— 模块深度
这意味着这些 Skills 不是凭空发明的,而是几十年软件工程最佳实践在 AI 时代的重新编译。/tdd 背后是 Kent Beck 的极限编程;/grill-with-docs 背后是 Eric Evans 的领域驱动设计;/improve-codebase-architecture 背后是 John Ousterhout 的软件设计哲学。
六、性能优化与 Token 节省
6.1 /caveman:极致压缩的沟通模式
# Skill: caveman
## Philosophy
Ultra-compressed communication mode. Cuts token usage ~75%
by dropping filler while keeping full technical accuracy.
## Before
"Can you please help me refactor this function to be more efficient?
I think there might be some unnecessary iterations in the loop,
and it would be great if we could optimize the database queries as well."
## After
"Refactor getUserOrders: remove N+1, add index on user_id+created_at"
这个 Skill 解决了一个非常实际的问题:AI 编程工具的 token 消耗是真实的成本。当你的上下文窗口被大量冗余的自然语言填满时,模型的有效处理能力就下降了。
/caveman 训练 AI 用最少的词表达最精确的指令,同时确保技术准确性不丢失。
6.2 CONTEXT.md 的 Token 效率
CONTEXT.md 在长期对话中的价值远超它占据的 token 数:
没有 CONTEXT.md 时:
Agent 需要在每次交互中重新理解业务术语
每条消息都需要解释背景
复杂概念需要多次重复
有 CONTEXT.md 时:
领域术语一次定义,持续生效
背景信息集中存储,按需引用
术语使用自动保持一致
七、与其他 AI 编程工具的对比
7.1 定位对比
| 维度 | mattpocock/skills | Cursor Rules | Claude Mem | Claude Code 内置 |
|---|---|---|---|---|
| 核心定位 | 工程方法封装 | 项目规范 | 持久记忆 | Agent 执行引擎 |
| 使用门槛 | 低 | 中 | 中 | 低 |
| 可组合性 | 高 | 中 | 中 | 低 |
| 工程深度 | 极高 | 中 | 低 | 中 |
| 与模型耦合 | 低 | 中 | 低 | 高 |
| 维护成本 | 低 | 中 | 中 | 无(官方维护) |
7.2 互补关系
这些工具不是互斥的,而是互补的:
- mattpocock/skills → 告诉你"在什么场景下做什么"
- Claude Mem → 帮助你"记住之前讨论了什么"
- Claude Code 内置工具 → 执行具体的代码操作
理想的工作流是:Skills 驱动决策 → Mem 维护上下文 → Agent 执行代码。
八、总结:工程纪律的 AI 时代复兴
8.1 核心洞察
mattpocock/skills 项目的出现,揭示了一个重要趋势:AI 编程工具的发展正在从"让 AI 更能写代码"转向"让人类更好地与 AI 协作"。
早期的 AI 编程工具竞争焦点是"代码生成质量"——谁能生成更正确的代码。但随着模型能力的提升,瓶颈已经转移了:不是 AI 能不能写代码,而是人和 AI 能不能在一个共同的认识框架下协作。
这正是 mattpocock/skills 解决的本质问题。它不是在教 AI 怎么写更好的代码,而是在建立人和 AI 之间的协作契约——从需求对齐到任务拆分,从测试驱动到架构守护。
8.2 实践建议
如果你想在自己的项目中使用 mattpocock/skills:
- 从小开始:不要试图一次性使用所有 Skills,从 /grill-me 或 /tdd 开始
- 持续迭代:这些 Skills 不是安装完就完事的,需要根据你的项目特点不断调整
- 建立惯例:形成团队内的 Skills 使用规范,比如"所有新功能必须先 /grill-with-docs"
- 关注架构:/improve-codebase-architecture 是我认为最被低估的技能,建议每周跑一次
- 拥抱变化:Skills 的本质是结构化的工程知识,它会随着你的实践不断进化
8.3 展望:Skills 生态的未来
mattpocock/skills 已经带动了一个趋势:越来越多的开发者开始分享自己的 Skills。GitHub 上已经出现了专门收集和整理 Skills 的仓库(如 hAcKlyc/MyAgents_skills)。
我们可以预见,Skills 正在成为 AI 编程时代的新型知识共享格式——它比博客文章更结构化,比开源库更轻量,比文档更实用。
未来,我们可能会看到:
- Skills 市场:开发者可以购买/出售高质量的垂直领域 Skills
- Skills 验证:类似 npm 包的质量认证体系
- Skills 基准:评估 AI Agent 在特定 Skills 上的执行质量
- Skills 组合器:将多个 Skills 自动组合成完整工作流的工具
但无论如何演进,核心不会变:最好的工程实践,值得被认真地结构化,让人和 AI 都能受益。