最近几个月,TypeScript 社区里出现了一个高频词:AI Skills。从个人开发者到前端团队,越来越多人在讨论“怎么写 AI Skills”“怎么让团队用上 AI Skills”“编程好用的 AI Skills 有哪些”。
但热度背后有一个很现实的落差:很多团队买了 AI 编程工具,也开了会员,但实际用起来还是“一个显眼的人在用,其他人围观”,或者“每个人都在问 AI,但问出来的结果五花八门,代码风格比不用 AI 时更混乱了”。
问题出在哪?
答案不是模型不够聪明,而是团队缺了一套把“个人 AI 使用经验”转化为“团队标准化资产”的方法。
Matt Pocock 是目前 TypeScript 和前端领域最知名的开发者教育者之一,也是业界最早系统性推动“AI Skills 团队化落地”的人之一。他提出的“让整个团队用上 AI Skills 的 7 步工作法”,解决的不是“怎么提一个更好的 prompt”,而是“怎么让一个团队稳定、一致、安全地把 AI 编程能力变成工程流程的一部分”。
这篇文章会把这套 7 步工作法完整拆开讲清楚:每一步解决什么问题、具体怎么做、有哪些容易踩的坑,以及真实项目里应该怎么落地。如果你们团队正准备把 AI 编程从“个人行为”升级为“团队能力”,这篇文章建议收藏。
1. 这篇文章真正要解决的问题
先说一个很常见的场景。
你们团队引入了某款 AI 编程助手,刚开始大家热情很高。但两周之后,你会发现几个现象:
- 一部分人觉得 AI 生成的代码不可控,已经退回纯手写。
- 一部分人用得很溜,但每个人定义“好用”的方式都不一样。
- 团队代码里出现了一些 AI 生成但没人完全理解的逻辑。
- 代码评审时,对“AI 写的代码”该按什么标准审查,大家没有共识。
这就是典型的“AI 编程工具已引入,但团队 AI 工程能力未建立”的状态。
Matt Pocock 这套工作法的核心价值,不是教你如何让 AI 写得更快,而是解决一个更前置的问题:团队如何定义、沉淀、复用 AI 能力。
AI Skills 可以理解为:针对特定开发任务设计的、可复用的 AI 指令与流程模板。它把“在 prompt 里写清楚需求”这件很依赖个人经验的事,变成了“团队已经打磨好的结构化资产”。
这篇文章适合三类读者:
- 技术团队负责人:想把 AI 编程从个人效率工具升级为团队工程能力。
- 前端 / TypeScript 开发者:想系统学习 AI Skills 的编写方法,而不是零散看别人的 prompt。
- 研发效能工程师:正在评估或推进 AI 编程工具在团队内落地。
如果你只是想知道“哪个 AI 工具生成代码最快”,这篇文章不是你要找的。但如果你关心的是“怎么让全团队稳定地用好 AI”,那这篇文章会给你一套完整可执行的路径。
2. 什么是 AI Skills,为什么要“团队化”
2.1 从 prompt 到 Skill,到底升级了什么
在 AI 编程工具刚兴起时,大家讨论最多的是 prompt。prompt 就是你给 AI 的一段指令文本。
但 prompt 的局限性很明显:
- 它是“一次性的”,换个任务又得重新写。
- 它是“个人化的”,写得好的 prompt 很难直接迁移给别人。
- 它是“零散化的”,没有上下文管理,没有质量校验。
而 AI Skills 把“一次性的 prompt”升级成了“可复用的技能包”。
一个 AI Skill 通常包含:
- 明确的任务描述和目标。
- 输入条件与约束。
- 处理流程或步骤。
- 输出格式要求。
- 示例与质量参照。
从表面看,AI Skills 长得还是像 prompt。但从工程角度看,它更像“函数封装”。
| 维度 | 普通 prompt | AI Skills |
|---|---|---|
| 复用性 | 每次重新写 | 团队内重复调用 |
| 一致性 | 依赖个人发挥 | 统一输出标准 |
| 可维护性 | 散落在聊天记录里 | 有版本,可迭代 |
| 质量保障 | 不可校验 | 可测试、可评审 |
| 团队协作 | 个人资产 | 共享资产 |
2.2 为什么团队化是关键一步
很多团队卡在“个人用得爽,团队推不动”的阶段。
原因很简单:AI 编程的产出质量,不仅取决于模型能力,更取决于输入质量。而输入质量一旦依赖个人经验,就无法规模化。
Matt Pocock 工作法最核心的洞察就在这里:如果你希望 AI 编程成为团队能力,你就必须把“最好的用法”沉淀成团队资产。这个资产的载体,就是 AI Skills。
团队化 AI Skills 之后,效果会发生几个变化:
- 新成员不再需要从零摸索“怎么问 AI”,只要调用团队已有的 Skill。
- 代码评审时,评审人知道 AI 是在什么约束、什么标准下生成的,审查更有针对性。
- AI 生成代码的风格和结构与团队规范的一致性会明显提升。
简单来说:prompt 让 AI 能工作,AI Skills 让 AI 按团队标准工作,而 7 步工作法让 AI Skills 在团队里真正跑起来。
3. 环境准备与前置条件
在进入 7 步工作法之前,先明确落地这套方法需要什么基础条件。很多人看到方法论就急着照做,结果在第一步就卡住,往往是因为环境没准备好。
3.1 团队层面:先确认这四件事
第一,团队需要有一个公共协作空间。AI Skills 不是某个人电脑里的笔记,它需要被共享、被评审、被迭代。实践中,常见的载体是 GitHub / GitLab 仓库或团队的 Wiki 系统。
第二,需要指定一个“AI Skills 负责人”。这个角色不一定是全职,但必须有人对 Skill 的质量负责,否则很容易变成“每个人扔一个 prompt 进仓库,然后没人维护”。
第三,团队需要约定 AI Skills 的更新节奏。Skill 和代码一样,会过时,需要随着框架版本升级、项目规范调整而更新。如果没有更新机制,Skill 仓库会逐渐腐化,最终没人用。
第四,要确定适用范围。不是所有任务都适合写成 AI Skills。起步阶段,优先选择频次高、规则明确、输出易校验的任务。
3.2 工具层面:按需选择,不绑定特定厂商
目前市面上主流的 AI 编程工具(如 Cursor、GitHub Copilot、Continue 等)以及部分 AI Agent 产品,都在支持或完善 AI Skills 功能。具体工具名称和版本更新很快,这里不绑定某一款,而是给一个共性的判断标准:
- 是否支持将自定义指令或技能模板保存为文件。
- 是否支持团队共享配置。
- 是否支持在工作区内引用技能文件。
- 是否支持对技能输出做版本管理。
如果你们团队已经使用了某一款 AI 编程工具,优先看它的官方文档中对 Skills / Rules / Instructions 的支持方式。不同产品对“技能”的称呼可能不同,但底层思路都是一样的:给 AI 提供一套结构化的、可复用的指令集。
现在用一个通用的目录结构做演示:
ai-skills/ ├── README.md ├── code-review/ │ ├── skill.md │ └── examples/ │ ├── good-example.ts │ └── bad-example.ts ├── react-component/ │ ├── skill.md │ └── examples/ │ └── sample.tsx └── typescript-refactor/ ├── skill.md └── examples/ └── before-after.ts这个结构的好处是:每个 Skill 独立成目录,包含说明文件和示例文件。示例文件在调试 Skill 时非常重要,后面会讲到。
3.3 环境准备清单
快速列一个检查清单:
- [ ] 团队有 Git 仓库或知识库空间,用于存放 AI Skills。
- [ ] 选定一款支持自定义指令/技能的 AI 编程工具(团队统一)。
- [ ] 指定一位 AI Skills 负责人(可以是轮值)。
- [ ] 确定一个试点的任务类型(建议选代码评审或小型重构)。
- [ ] 准备 1 到 2 个真实项目的历史代码,作为 Skill 测试素材。
完成这些前置条件之后,就可以正式开始 7 步工作法了。
4. Matt Pocock 的 7 步工作法拆解
Matt Pocock 这套工作法的核心思路,是把 AI Skills 当成团队工程资产来管理,而不是当成“更高级的 prompt 写法”。
4.1 第 1 步:识别高频且有明确判断标准的任务
第一步不是写 Skill,而是选任务。
什么任务适合做成 AI Skills?有三个判断标准:
第一,频率高。团队每周都会遇到的任务,投入产出比最高。比如“写一个 React 组件”“做一次代码评审”“把一段 JavaScript 重构为 TypeScript”。
第二,规则明确。任务输出有相对清晰的判断标准,AI 容易对齐。比如“创建组件”比“优化系统性能”更适合做成 Skill。
第三,输出可校验。Skill 生成的结果能否被快速验证,决定了你能否持续改进它。比如代码评审 Skill 的输出可以被人工审查,这就容易校验。
从材料看,Matt Pocock 特别强调一点:起步时不要追求大而全。选 1 到 2 个最痛的任务,先跑通闭环,比一次性做 10 个不痛不痒的 Skill 有用得多。
4.2 第 2 步:定义“好产出”的标准
这是整个工作法中最关键、也最容易被跳过的一步。
很多团队写 AI Skills,直接把“需求描述”写得非常详细,但完全没写“什么样的输出算合格”。结果 AI 生成的东西五花八门,团队成员还要花更多时间修改。
定义“好产出”的标准,需要从两个角度入手。
第一个角度:功能正确性。输出是否满足了任务的核心目标。比如代码评审 Skill,输出中必须包含问题定位、风险等级、修改建议这三个要素。
第二个角度:团队规范的契合度。输出是否符合团队现有的代码风格、目录结构、命名习惯。这部分内容应当从团队的现有规范文档中提取,而不是凭空编。
在 Skill 文件中,可以用“质量标准”小节来固化这一点。
只强调功能正确,忽略团队规范,是 AI Skills 最终被团队弃用的主要原因之一。因为对团队来说,AI 给出的代码如果不符合既有规范,哪怕功能正确,评审成本也很高。
4.3 第 3 步:把标准转化成结构化指令
这一步是从“标准”到“Skill”的转化。
很多人的误区在于:把标准列成几条就完事了。比如:
写代码时要遵循团队规范。这种指令太空了,模型不知道怎么执行。
结构化的指令应该包含以下部分:
- 角色与目标:AI 在这个 Skill 中扮演什么角色,要完成什么目标。
- 输入信息:你需要从用户那里获得哪些信息。
- 处理步骤:完成任务需要按什么顺序做。
- 输出要求:输出格式、结构、长度。
- 禁止项:明确告诉模型不要做什么。
以“代码评审 Skill”为例,一个结构化 Skill 的骨架大致是:
# Code Review Skill ## 角色 你是一位经验丰富的 TypeScript 代码评审专家。 ## 输入 用户提供一段代码和对应的 PR 上下文。 ## 处理步骤 1. 检查代码是否有类型安全问题。 2. 检查是否存在潜在的运行时错误。 3. 检查是否符合项目的代码风格规范。 4. 给出修改建议。 ## 输出要求 - 输出包含:问题清单、每个问题的等级(严重/一般/建议)、具体修改建议。 - 使用中文输出。 ## 禁止项 - 不要修改用户未提供的文件。 - 不要输出完整的重写代码,除非用户明确要求。这个结构的威力在于:模型每一步都知道自己要做什么,以及产出物长什么样。你不再依赖模型“猜”你的需求。
4.4 第 4 步:用真实项目测试 Skill
Skill 写完之后,不能直接推给团队,必须先测试。
测试的方法很朴素:拿团队真实项目里的一段历史代码,或者一个典型任务,用这个 Skill 跑一遍,看输出质量。
为什么必须用真实项目?因为 AI Skills 的典型问题不是“模型不懂”,而是“模型不懂你的项目上下文”。用真实项目测试,你才能发现 Skill 中哪些指令在你的技术栈下不成立。
举例来说:如果你写的 Skill 要求 AI “遵循团队目录结构”,但 Skill 里没有说明团队的目录规范,AI 就会按自己的理解输出。真实项目测试会很快暴露这类问题。
测试时需要重点检查几个问题:
- 输出是否符合第 2 步定义的质量标准。
- Skill 中的指令在你的项目技术栈下是否成立。
- 是否存在模型反复犯同类错误的地方,需要通过补充约束来修正。
一次测试通过不代表 Skill 可用。建议至少用 3 个不同的任务样本测试,覆盖正常情况、边界情况和异常情况,然后再考虑推广。
4.5 第 5 步:固定为团队资产并设定分发机制
Skill 测试到稳定状态后,就要把它沉淀为团队资产。
这一步包含两个动作:
第一个动作是入库。把 Skill 文件、示例、使用说明放到团队统一的仓库或知识库中。目录结构建议参考第 3 节演示的方式,每个 Skill 独立目录,包含 skill.md 和 examples/ 子目录。
第二个动作是分发。团队需要使用统一的渠道获取 Skill。常见做法是把 Skill 文件放在与项目代码同仓库的.ai/目录下,这样每个开发者拉取代码时,Skill 就自然同步到本地。
这里要特别说明:分发机制决定了 Skill 的“使用率”。如果 Skill 放在一个偏僻的 Wiki 页面,需要成员手动打开、复制、粘贴,那大部分人都不会用。如果 Skill 放在项目仓库里,开发者打开编辑器就能看到,使用率会高很多。
从实践经验看,“Skill 随项目走”是当前最可行、门槛最低的分发方式。AI 编程工具能直接读取项目目录下的技能文件,开发者不需要额外的安装动作。
4.6 第 6 步:培训团队使用,形成“先查 Skill”的惯性
Skill 入库和分发之后,真正的挑战才刚开始:让团队养成使用 Skill 的习惯。
这一步很容易被忽略,因为看起来“工具已经在了,大家自己用不就行了”。但实际上,人的惯性非常强。团队成员原有的工作流里并没有“先查一下有没有对应 Skill”这个环节,需要有意培养。
Matt Pocock 的实践经验里,有几个有效的方法。
第一个是“场景化演示”。挑一个团队日常任务,在组会上现场演示:不直接写 prompt,而是先调用团队 Skill,再基于 Skill 生成结果。让成员直观感受到差异。
第二个是“默认路径设计”。在团队的开发文档、PR 模板里,增加“是否使用了对应 AI Skill”的选项。这种细节上的约束,会潜移默化地改变行为。
第三个是“结对试用”。让 1 到 2 位早期使用者先跑通,再让他们去带其他成员。同伴教学比自上而下的指令更有效。
这个阶段的浪费是正常的。一个团队从“各写各的 prompt”到“先查 Skill,再调用 Skill”,通常需要 2 到 4 周的磨合期。
4.7 第 7 步:建立反馈机制,持续迭代 Skill
最后一步,是让 Skill 体系活起来。
Skill 不是一次性产物。团队技术栈会升级、业务场景会变化、模型能力会提升,Skill 必须跟着迭代。
迭代的关键在于建立反馈通道。最简单的做法是:在每个 Skill 文件的末尾增加“使用反馈”小节,要求使用者在遇到问题时,把问题记录在 Skill 对应的 issue 或文档评论区。
在实践中,真正有效的反馈机制通常包含两个维度:
一是“不好用”的反馈。Skill 生成的输出不符合预期时,使用者需要记录问题,方便维护者定位是“指令不清”还是“缺少上下文”还是“技术栈已变化”。
二是“缺缺失”的反馈。成员在使用过程中发现某个高频任务没有对应 Skill,可以提出新增需求。
建议团队每两周花 30 分钟做一次 Skill 回顾:看哪些 Skill 用得多、哪些没人用、哪些输出质量下降了。没人用的 Skill 该下架就下架,避免 Skill 仓库膨胀成废品站。
5. 从 0 到 1 的完整实践示例
为了让这套工作法更具体,这一节用一个真实场景完整演示:为团队创建一个“TypeScript 组件生成”AI Skill,并跑通全流程。
5.1 场景设定
假设你是一个前端团队的负责人,团队技术栈为 React + TypeScript。团队最痛的任务是:每次创建新组件时,成员写出来的结构不一致,有的带样式文件,有的没有,有的导出方式五花八门。
这个任务满足做 Skill 的条件:频率高、规则明确、输出可校验。
5.2 定义质量标准
在创建 Skill 之前,先和团队对齐“好组件”的标准:
- 组件必须使用 TypeScript 编写,类型要完整。
- 组件文件使用函数组件写法。
- 样式使用 CSS Modules,文件与组件同名。
- 默认使用命名导出。
- 组件必须包含 Props 类型定义。
把这个标准放在 Skill 文件的“质量标准”章节中。
5.3 编写 Skill 文件
创建一个目录ai-skills/react-component/,在目录下创建skill.md:
# React + TypeScript 组件生成 Skill ## 角色 你是一位资深 React 和 TypeScript 前端工程师,熟悉团队组件开发规范。 ## 输入 用户提供组件名称、功能描述、Props 需求。 ## 处理步骤 1. 根据组件名称创建对应目录。 2. 编写组件主文件,使用函数组件写法。 3. 为组件创建同名 CSS Module 样式文件。 4. 在组件主文件中引入样式文件。 5. 定义 Props 类型,并导出。 ## 输出要求 - 输出文件列表和每个文件的完整代码。 - 组件主文件使用命名导出。 - Props 类型使用 interface 定义。 - 样式类名使用 BEM 风格。 - 代码中不包含任何 TODO 或注释掉的代码。 ## 质量标准 - TypeScript 类型完整,不使用 any。 - 组件函数结构清晰,不存在未使用的变量。 - 样式文件存在且被正确引入。 - 导出方式符合团队规范(命名导出)。 ## 禁止项 - 不要使用 enum 定义 Props 类型。 - 不要使用内联样式。 - 不要生成测试代码,除非用户明确要求。同时在 examples 目录下准备一个示例文件sample.tsx,记录一次理想的输出结果,作为模型参考。
5.4 编写调用指令
在 AI 编程工具中调用这个 Skill 时,提示词可以这样写:
请使用 react-component Skill。 组件名:UserCard 功能描述:展示用户头像、用户名和个性签名。 Props 需求: - userId: string - userName: string - avatarUrl: string - bio?: string模型调用 Skill 后,会按 Skill 中的结构和标准生成代码,而不是自由发挥。
5.5 输出效果示例
一次理想输出大致是:
// 文件路径:components/UserCard/UserCard.tsx import type { ReactNode } from 'react'; import styles from './UserCard.module.css'; interface UserCardProps { userId: string; userName: string; avatarUrl: string; bio?: string; } export function UserCard({ userId, userName, avatarUrl, bio, }: UserCardProps) { return ( <div className={styles.card}> <img src={avatarUrl} alt={userName} className={styles.avatar} /> <div className={styles.info}> <h3 className={styles.name}>{userName}</h3> {bio && <p className={styles.bio}>{bio}</p>} </div> </div> ); }对应的样式文件:
/* 文件路径:components/UserCard/UserCard.module.css */ .card { display: flex; align-items: center; gap: 12px; padding: 16px; border-radius: 8px; background: #fff; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); } .avatar { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; } .info { display: flex; flex-direction: column; gap: 4px; } .name { margin: 0; font-size: 16px; font-weight: 600; } .bio { margin: 0; font-size: 14px; color: #666; }注意这个输出中的几个细节:Props 使用了interface、组件使用了命名导出、样式使用 CSS Modules、类名使用 BEM 风格,全部符合团队质量标准。
5.6 运行和验证
在团队项目里,使用以下命令验证生成结果:
# 进入项目根目录 cd my-react-project # 确认生成的文件是否存在 ls -R components/UserCard # 运行 TypeScript 类型检查 npx tsc --noEmit # 启动本地开发环境确认渲染 npm run dev验证时重点看三项:
- TypeScript 类型检查是否通过。
- 组件是否正常渲染。
- 样式是否生效。
如果类型检查报错,优先检查 Skill 中定义的“禁止使用 any”是否被遵守,以及 Props 类型定义是否完整。
6. 落地效果怎么验证
7 步工作法跑完一轮之后,团队需要判断这套方法是否真的有效。只看“用了几次”远远不够,要建立可量化的评估维度。
6.1 短期效果验证(1 到 2 周)
短期主要看使用率和体验反馈。
- Skill 在团队中的调用次数(可以通过工具的使用日志统计)。
- 团队成员是否愿意重复使用(可以通过匿名问卷收集)。
- 生成结果需要人工修改的比例是否明显下降。
这个阶段的目标不是“完美”,而是“跑通”:让 Skill 成为团队默认工作流的一部分。
6.2 中期效果验证(1 个月)
中期需要关注质量提升是否可感知。
建议记录两类数据:
一是生成代码的一次通过率。在代码评审环节,统计 PR 中 AI 生成部分是否需要大量改动。如果大部分内容可以直接合入,说明 Skill 有效。
二是新成员上手时间。团队来了新成员时,观察他从“了解项目规范”到“能产出符合规范的代码”的时间是否缩短。如果 Skill 体系成熟,这个时间应当显著缩短。
6.3 长期效果验证(一个季度)
长期看的是 AI Skill 资产的健康度。
- 有多少 Skill 在持续使用,有多少已经废弃。
- Skill 的更新频率是否跟得上团队技术演进。
- 团队是否形成了“先查 Skill,再写代码”的稳定习惯。
如果三个月后,Skill 仓库里 80% 的 Skill 还在被使用,并且每个季度有稳定更新,说明这套工作法真正落地成功了。
这里需要提醒:不要用“代码生成速度”作为核心指标。AI 编程工具本来就快,真正的团队价值在于“生成结果的质量一致性和可维护性”,而不是单纯的快。
7. 常见问题与排查思路
在实践 AI Skills 团队化的过程中,有些问题是高频出现的,提前了解能少走很多弯路。
| 问题现象 | 可能原因 | 排查方式 | 解决方案 |
|---|---|---|---|
| Skill 输出完全不符合预期 | Skill 文件中的指令过于模糊,缺少约束 | 检查 Skill 中的处理步骤和质量标准是否具体 | 补充“禁止项”和输出格式要求,用具体示例约束模型 |
| Skill 在 A 项目好用,在 B 项目效果差 | Skill 中隐含了特定项目的上下文,但未明确说明 | 对比两个项目的技术栈和目录结构 | 在 Skill 中明确适用范围,或为不同项目创建不同版本 |
| 团队成员用了几次后不再使用 | 使用路径太麻烦,或输出质量不稳定 | 观察成员操作路径,收集具体反馈 | 优化分发机制,让 Skill 随项目自动同步,简化调用方式 |
| Skill 数量越来越多,但没人维护 | 缺少负责人和更新机制 | 检查 Skill 仓库的提交历史 | 指定负责人,定期回顾和清理无人使用的 Skill |
| AI 生成结果风格与团队代码不一致 | Skill 中未包含团队编码规范,或规范已过时 | 检查 Skill 质量标准与团队最新规范是否一致 | 将团队规范文档链接进入 Skill,并定期更新 |
| 生成的代码有类型错误 | Skill 中未约束类型完整性和 strict 模式 | 运行 tsc --noEmit 查看具体错误 | 在 Skill 的质量标准中增加类型检查要求 |
最核心的一个排查原则是:先检查 Skill 本身的指令质量,再怀疑模型能力。
在绝大多数情况下,输出不符合预期是因为 Skill 中没写清楚团队的标准和约束,而不是因为模型不够聪明。
8. 最佳实践与工程建议
8.1 从“单点突破”开始,不要全面铺开
最常见的失败模式,是团队一开始就要求“所有任务都用 AI Skills”。这会让团队成员负担过重,而且因为部分 Skill 质量不高,反而打击使用信心。
建议的路径是:选 1 个最痛的任务,用 7 步工作法把它打磨到“好用”的程度,再横向复制到其他任务。一个真正好用的 Skill,效果胜过 10 个半成品 Skill。
8.2 Skill 文件要保持“小而专”,避免大而全
一个 Skill 只解决一类任务。
“代码评审”是一个好的 Skill 边界。“代码评审 + 重构 + 写测试 + 生成文档”合在一起的 Skill,往往每一项都做不好,因为模型要同时处理太多目标,很难全面对齐。
在设计 Skill 时,可以问自己一个问题:这个 Skill 能让一个不了解我们团队的开发者,也生成符合我们团队规范的代码吗?如果不能,说明 Skill 里的团队上下文还不够。
8.3 使用“示例库”约束模型
大语言模型的“模仿能力”远大于“理解能力”。与其用长篇文字描述你要什么,不如给它 1 到 2 个具体的“好例子”和“坏例子”。
## 示例 以下是符合团队规范的组件代码: (这里粘贴一个实际的团队优秀组件代码) 以下是不符合规范的代码: (这里粘贴一个有典型问题的组件代码)示例的作用,是给模型一个可参照的具体样式。在很多场景下,这比写 500 字描述更有效。
8.4 安全与权限边界
在团队落地 AI Skills 时,有几个安全边界需要提前划定。
第一,禁止将包含密钥、内部系统地址、客户信息的代码输入 AI 工具。这项要求应当写入团队的 AI 使用规范中。
第二,包含敏感信息的代码评审任务,不应使用第三方 AI 服务处理。建议团队自行部署的 AI 编程工具或走企业内部安全审批流程。
第三,AI 生成的依赖升级类代码(如版本号变更),必须经过人工验证后再提交,不能盲目信任 AI 的升级建议。
安全这条线不能省略。AI 编程工具本质上会把代码发送到模型服务端处理(除非私有化部署),团队在使用前必须评估数据合规性。
8.5 把 AI Skills 当作代码来管理
这是 Matt Pocock 工作法中最重要的一条工程建议:AI Skills 和代码一样,需要版本管理、代码评审、测试和文档。
- 对 Skill 文件的修改,要走 Git PR 流程,有评审、有讨论。
- Skill 文件需要有版本记录,说明每次改了什么、为什么改。
- Skill 的变更,最好用真实任务样本回归测试后再合入。
当一个 Skill 需要修改时,不应该直接改,而是应该:
- 创建一个分支。
- 修改 skill.md。
- 用示例任务测试输出。
- 提交 PR,经过评审后合入主分支。
这会让 Skill 体系非常“重”,但恰恰是这种“重”,保证了团队对 AI 能力的使用是可控的、有质量的。而可控和质量,正是 AI 编程从个人玩具变成团队生产力的分水岭。
8.6 警惕“Skill 仓库腐化”
Skill 仓库和普通代码仓库最大的不同是:普通代码不维护会报错,Skill 库不维护不会报错,只会“慢慢变得没人用”。
规避方法:
- 每个季度做一次 Skill 盘点,删除使用率低的 Skill。
- 将 Skill 的使用数据纳入研发效能周报。
- 在团队内部,把“贡献 Skill”作为技术分享的一部分。
如果团队里有同学写了一个高质量 Skill,值得在组会上专门分享一次。这种正向反馈,比任何制度都更有效。
9. 总结与后续学习方向
这套 7 步工作法讲到这里,核心内容已经全部覆盖。回顾一下,它真正解决的是“AI 编程工具在团队里无法稳定复用”的问题:
- 识别高频且有标准答案的任务,避免把精力浪费在不适合自动化的方向上。
- 先定义“好产出”的质量标准,再写 Skill,顺序不能反。
- 用结构化指令而非零散描述,让模型稳定输出。
- 用真实项目测试,让 Skill 贴合团队实际技术栈。
- 固定为仓库资产并随项目分发,降低使用门槛。
- 通过培训和默认路径设计,让团队形成“先查 Skill”的惯性。
- 用反馈机制持续迭代,避免 Skill 仓库腐化。
下一阶段值得继续深入的方向有三个。
第一个方向是“Skill 的组合使用”。当团队的 Skill 数量足够多时,可以设计多个 Skill 的组合流程,比如“生成组件”之后自动接“代码评审”,形成更完整的自动化链路。
第二个方向是“Skill 效果度量”。思考如何用更自动化的方式评估 Skill 生成结果的质量,比如与测试覆盖率、评审通过率等工程数据关联。
第三个方向是“跨团队共享模式”。随着 AI Skills 的概念被越来越多人接受,社区中出现了不少公开的 Skill 仓库。观察那些高质量公共 Skill 的写法,能给你很多设计灵感。
动手建议很直接:下周挑一个团队里最烦人的重复性任务,按文中的 7 步走一遍。不需要完美,先让一个 Skill 跑起来。当你第一次看到团队成员不假思索地调用你写的 Skill,而不是自己从零敲 prompt 时,你会理解这套工作法真正的价值。