不用主标题直接从二级标题开始。下面是一篇可以直接发布的正文。1. Matt Pocock是谁为什么大家突然都在聊他的Skills最近一段时间我在好几个技术群里反复看到同一个名字Matt Pocock。不是因为他那套TypeScript课程又打折了而是因为他和AI编程工具的结合——准确说是他带起来的那股“Skills”风潮正在悄悄改变很多人用Claude Code、Codex CLI这类工具的方式。先说人。Matt Pocock如果你搞前端或者TypeScript大概率见过他的名字。他是Total TypeScript的作者做过TypeScript官方社区的类型挑战也维护过ts-mcp这类让AI能直接操作TypeScript类型系统的工具。他做东西的风格很统一不整花活把复杂的概念拆成能直接上手的东西。这套思路挪到AI编程领域之后长出来的东西就叫Skills。Skills这个词直译成“技能”我觉得多少有点绕。你把它理解成“给AI助手装上的专属说明书”就顺了。平时我们让AI写代码是拿一句prompt去撞大模型的基础能力它懂什么就给你什么。而Skills是把一段场景化的知识、规则、代码片段、工作流打包成一个文件或文件夹让AI在接到任务之前先读到这份说明书按你给的套路来干活。举个例子。你用Claude Code让它写一个TypeScript工具库它默认会按自己训练时见过的“通用最佳实践”来写。可你的项目有内部规范有固定的类型风格有自己封装好的工具函数。没有Skills之前你得每次把规则粘进上下文或者不断纠正它的输出。装了Skills之后AI会自动加载这套规范写出来的代码一次就能过你的lint、符合你的类型约束这就叫“技能”。所以Matt Pocock和他的Skills之所以火是因为他本质上是把“教AI怎么写好代码”这件事从prompt工程师的玄学变成了像装npm包一样可以复用、可以分发的东西。这篇文章我会带你从安装、推荐、自己写、到清理维护把整条链路走一遍。重点会放在Claude Code和Codex这类命令行工具上因为这是我实测下来Skills支持最成熟的两个环境。2. 装之前先搞懂Skills是怎么被AI识别并加载的2.1 Skills的目录结构与命名规则不管是什么工具只要你去找它的Skills机制基本都逃不开一套共同的目录约定。拿Claude Code举例它会在你的项目根目录或者全局配置目录里找.claude/skills这个文件夹下面每个子文件夹就是一个独立的技能。Codex那边类似路径可能叫.codex/skills结构大同小异。一个技能文件夹里最重要的文件是SKILL.md这个名字是硬性的大小写都不能错。AI每次开始工作的时候会扫描这个目录把每个SKILL.md的前缀部分加载进上下文。如果你打开过一个Skills包会发现它的开头往往有一段YAML格式的Frontmatter里面写了这个技能的名称、描述、适用场景。--- name: typescript-advanced-types description: 用于生成符合严格TS配置的复杂类型工具适合编写泛型、条件类型和模板字面量类型。 ---这里有个关键点AI并不会把整个SKILL.md全部塞进上下文它只是先读取Frontmatter里的描述再根据你当前的任务判断“这个技能适不适用”。只有命中之后它才会去读文件正文。这也是为什么很多Skills包要把描述写得非常精准写得泛等于没写AI根本不会触发它。2.2 手动安装GitHub上的Skills五步走很多Skills包发布在GitHub仓库里但你不会想在网页上一个文件一个文件地复制。手动安装这件事其实就五步我实测下来最稳的方式是这样的。第一步去GitHub找到你想要的Skills仓库复制它的Git地址。这里我劝你优先选那些目录结构清晰的仓库进去就能看到skills/或者根目录下直接有各个技能文件夹的。第二步在本地项目里创建目录。mkdir -p .claude/skills第三步用git clone把仓库里的对应技能文件夹拉进来。只拉一个技能而不是整个仓库的话可以用稀疏检出cd .claude/skills git init git remote add origin https://github.com/xxx/xxx-skills.git git config core.sparseCheckout true echo skills/ts-type-wizard .git/info/sparse-checkout git pull origin main第四步把技能文件夹里多余的东西清掉。很多仓库会把演示用的示例代码、测试文件、图片资源都放在技能文件夹里你只需要保留SKILL.md和必要的脚本、模板文件就够了。第五步也是我容易忘的一步重启你的Claude Code会话。Skills的扫描发生在会话启动时中途装进去的技能要重启才生效。2.3 装完怎么验证它是真的生效了装上之后不要急着问AI“你加载了哪些技能”它可能会回答得模棱两可。我试过比较可靠的办法是直接说一句带触发意图的话。如果你装的技能是关于TypeScript类型工具你就让它写一个DeepReadonly类型然后观察它的输出是不是符合技能里定义的风格。如果没有装技能Claude Code可能会写一个中规中矩的版本装了之后它会用技能里约定的泛型约束、错误处理方式和注释风格这个差别非常明显。提示验证技能是否生效最直接的方法是看它的输出风格而不是问它有没有装。AI有时候会顺着你的话给你一个模糊的肯定但实际走的还是默认路径。还有一个办法是直接打开调试面板Claude Code在verbose模式下会打印出扫描到的技能列表Codex CLI也会有类似的日志输出。不过对多数人来说用任务触发来判断就够了。3. 值得装的Skills清单从superpower到场景化技能包3.1 先装这组通用型技能覆盖日常开发需求现在GitHub上Skills包已经多到翻不过来但真正经得起用的不多。如果你打开一个空的Skills配置目录不知道先装什么那我的建议是看几个已经形成生态的集合包。最典型的是superpower skills。这个名字在热搜里反复出现是有原因的它不是一个技能而是一整套技能集合覆盖了从项目规划、代码审查到测试生成的完整开发流程。它的设计思路和Matt Pocock一贯的风格很像把大而全的“最佳实践”拆成一个个小而专的技能每个技能只管一件事。我自己的项目里长期留着的几个superpower技能包括代码审计技能、重构规划和TDD生成。代码审计技能会在你让它review代码的时候按照安全、性能、可读性、测试覆盖的层级去做检查输出格式比裸模型稳定得多。重构规划技能会把一次大重构拆成分步骤的执行计划而不是一上来就甩给你一段改完的代码。另外还有typesafe ai skills这个仓库值得注意。它是直接冲着TypeScript类型安全场景去的如果你项目的痛点在于AI生成的类型不够严格、乱用any、泛型写得像装饰品那这组技能就是你需要的。尤其适合维护开源库或者底层SDK的开发者。3.2 场景型技能数学建模、AI漫剧这些看似不相关的领域Skills让人兴奋的地方在于它不限于写代码。现在网上已经有大量面向具体工作流的技能包我把它们称之为场景型技能。比如数学建模方向有人做了针对华为杯、国赛这类比赛的技能包里面封装了问题拆解思路、常用数学模型的适用条件、论文排版规范。AI拿到之后会根据题目自动走一套读题-建模-求解-写作的流程而不是你喂一句它动一下。再比如AI漫剧这个方向你可能想不到它也和Skills有关。做AI漫剧的人通常要在一个工作流里反复生成角色设定、分镜描述、提示词和配音脚本文案每一步都在和AI打交道。普通的prompt方式每次都像是从零开始而把整套工作流做成Skills之后AI会自动加载之前积累下来的角色一致性描述和画风控制词出图稳定性一下就上来了。这类场景技能的启发是任何一个你反复和AI协作的固定流程都值得被固化成技能。门槛不在于你会不会写代码而在于你能不能把自己脑子里的工作流程准确地拆成文字规则。3.3 去哪找技能常用源网站与检索技巧找Skills包的渠道我按靠谱程度排个序。GitHub的搜索是第一站用claude skills、codex skills、skills collection这类关键词搜筛选最近半年更新的仓库。其次是一些技能库的聚合站点做得比较早的像skills库网址导航类的页面会按前端、后端、写作、数据科学做分类省去你大海捞针的时间。还有一个不算成熟但值得关注的来源是opencode生态。opencode是一个开源AI编码终端它的skills机制做得比Claude Code更早更规范很多技能包两边可以互通。我的习惯是看到不错的opencode技能先看它的SKILL.md写得好不好再考虑移植到Claude Code里用。提示别看仓库里的skill数量来选包。很多仓库堆了一两百个技能但里面大量内容是重复或者过时的。好的技能包应该每个都有明确的适用边界你看描述就能判断出它什么时候该被触发。4. 自己动手写一个Skills从需求拆解到文件落地4.1 SKILL.md的基本结构与写法要点先说结论写Skills不是写文档是在给AI写操作手册。文档的读者是人会自己理解上下文操作手册的读者是AI你要把边缘情况、触发条件、负面清单全部写清楚。一个合格的SKILL.md长这样。--- name: api-client-generator description: 根据OpenAPI规范生成类型安全的API客户端代码。当用户提供swagger.json或openapi.yaml文件路径时自动触发。 --- # API客户端生成规则 ## 场景判断 只有用户主动提供OpenAPI文档时才使用本技能。 如果没有文档文件不要生成任何客户端代码改为询问文档路径。 ## 生成步骤 1. 解析文档中的schemas生成对应的TypeScript接口。 2. 所有请求函数必须放在 src/api 目录下按模块划分文件。 3. 每个接口必须包含泛型返回类型禁止返回 any。 ## 硬性要求 - 生成代码必须通过 tsc --strict 检查。 - 请求错误统一用 ApiError 类捕获不允许裸抛异常。注意看里面没有一句废话。Frontmatter里的description写得非常具体“当用户提供openapi.yaml文件路径时自动触发”这一句决定了AI什么时候用这个技能。正文里写了触发边界写了生成步骤写了硬性要求。这三块就是一个好技能的全部骨架。写Skills最常见的问题是把它当成写教程上来就是一大段背景介绍、概念解释。AI确实会读这些内容但它读完并不知道自己该干什么。你在写的时候反复问自己一个问题这段文字能否让AI的行为产生可观测的改变如果不能就删掉。4.2 写技能时的五个常见坑第一个坑是描述太宽泛。description写“用于编写API代码”AI在对话开始时会觉得什么API任务都能触发它结果就是技能被频繁加载上下文被占掉真正干活的时候反而没空间了。描述要收敛到一个具体的触发场景。第二个坑是规则冲突。如果你的技能里要求“所有请求函数放src/api目录”而项目里的代码规范也写在其他配置文件里AI会无所适从。写技能的时候要考虑它和你现有配置文件的关系最好是技能里直接引用已有配置而不是新写一套规则。第三个坑是缺少负面清单。你光告诉AI该做什么它往往会多做一些不该做的事。比如生成API客户端时它可能会顺手帮你安装依赖包、格式化整个项目、或者生成一个多余的路由文件。这些都要在负面清单里明确禁止。第四个坑是忘了测试。写完技能之后至少要模拟三个不同的任务场景去调用它看看AI会不会触发、触发后行为对不对。我见过太多写得很精美的技能实际第一次调用就出错原因往往是技能里引用了不存在的路径或者过时的工具名。第五个坑是版本管理。SKILL.md这种文件很容易在项目演进过程中悄悄过期。我建议技能和项目代码一起纳入版本控制每次代码大改动时顺手跑一遍技能测试不然技能就成了一个沉默的定时炸弹。5. 技能也是资产用多了需要整理和清理5.1 技能堆积的困境AI的选择困难症技能装多了之后你会遇到一个很讽刺的问题AI不知道该用哪个技能了。所有技能的描述都被扫描进上下文当候选技能超过一定数量模型对它们的区分度就会下降。表现就是明明装了代码审查技能AI却跳过了它自己用默认方式给你review了一遍。我自己的规则是单个项目的技能不超过八个全局技能不超过十五个。超过这个数量性能收益就是负的。判断一个技能要不要留看两个指标一是过去两周里有没有被触发过二是触发之后有没有明显改变输出质量。两个答案都是否就删。5.2 参考tibo的思路建立一套自己的清理流程社区里有人专门聊过怎么清理skills比如tibo的建议。他的思路我实践下来很受用核心就是把你对技能的管理当作对依赖包的管理定期审视、逐项验证、果断删除。我建议你按这个流程来。先列清单用目录扫描命令把所有技能列出来看看实际有什么和你印象中的对不对得上。再验证触发对每个技能准备一个精确的触发指令看它是否如预期被调用。然后做去重很多技能包之间的功能是重叠的比如三个技能里都写了“代码风格检查”只保留效果最好一个。最后删掉不用的连同技能文件夹一起删干净注意别在配置文件里留下已删除技能的记忆文本。find .claude/skills -name SKILL.md | sed s|/SKILL.md|| | sort还有一个容易忽略的点技能的“记忆残留”。有些AI会话会把你之前对技能的使用过程写进项目的记忆文件里即使技能文件已经删了AI在某些情况下还是会“回忆”出那个技能的存在。这时候要把记忆文件里对应的条目清理掉否则会出现AI跟你说“我找到了一个技能但其实根本不存在”的诡异情况。清理不是一个一次性的动作我比较推荐固定节奏来做这件事。GitHub上一些活跃的skills仓库更新频率很高一个月前很好用的技能很可能已经被人修复了新bug也可能被新的更好的技能替代了。保持技能库存的流动性比你一次性装一百个技能然后放着不管要有效得多。6. 结尾再分享一点我的个人习惯技能这套东西最打动我的不是它能让AI写代码多准确而是它把“你和AI之间的默契”变成了可以保存、可以分发、可以演进的东西。以前我换一台电脑重新配置AI助手要花掉一整天找各种prompt现在我只需要把Skills目录推到Git仓库新机器上clone下来AI就像认识我很久的老搭档。我建议你从今天开始做一件事在你手头最重复的那个AI协作任务上写一个最小的技能哪怕内容只有十几行规则。真正上手写过一次之后你就会理解为什么Matt Pocock这类人愿意把精力投在Skills上——它是在给AI写使用说明书也是在帮未来的自己减少返工。如果你已经装了不错的技能包不妨把它整理好放到自己的公开仓库里过几个月回来看会发现它成了你技术积累里很有价值的一部分。
企业数字化 ERP 产品动态
相关推荐
数字孪生技术在危险区域智能封控系统中的应用 1. 项目背景与核心需求在特殊行业安全管理领域,如何实现高危环境的智能封控一直是技术攻关的重点方向。这个项目针对的是危险化学品存储区域与特殊物资储备场所的联动安防需求,通过构建数字孪生体系实现三维空间的主动防控。传统安防系统存在三个明显短板… · 2026/11/3 8:15:05
APK报‘未包含任何证书’:签名机制、v1/v2/v3与重签排查 APK 装不上,屏幕弹出一句“未包含任何证书”,这个场景我这两年遇到得越来越频繁。前两天还有个朋友半夜发消息问我,说自己从某个渠道拿到的安装包,在部分国产定制系统的新版本上死活装不进去,换台旧手机就能装。这类问… · 2026/11/3 8:15:05
APK签名缺失导致“未包含任何证书”:v1/v2/v3原理与修复指南 APK 签名这件事,平时不出问题几乎没人想得起它,一旦安装器弹出一句“未包含任何证书”,多数人的第一反应是包坏了、手机有问题,然后开始反复重装、换数据线、清缓存。我这两年帮着排查 APK 安装失败的问题少说也有几十次ÿ… · 2026/11/3 8:15:05
射频自动化测试序列配置框架:从扫频实战到二次开发避坑 简介:面向高通芯片测试、射频验证与产线调试工程师的技术文档,围绕QSEQ测试序列系统梳理序列设计、环境与参数配置、执行记录及结果分析等核心环节,帮助读者理解如何组织复杂测试流程、定位执行异常并衔接QRCT相关操作。压缩包内共1个PDF文件… · 2026/11/3 10:53:23
卷积码与Viterbi译码MATLAB仿真及误码率排查 简介:这份文档围绕卷积码编译码算法研究与实现展开,面向学习数字通信、信道编码及维特比译码的本科生与工程入门者,可用于课程设计、毕业设计选题参考和MATLAB仿真复现。包内仅含1个doc文件,压缩包约991KB,主体为排版完… · 2026/11/3 10:53:23
电磁波吸收材料市场:82%集中度下,先进材料2%渗透率如何撬动7.56%增长 简介:这份文档面向电子、通信、军工及材料领域的研究人员与市场分析从业者,系统梳理全球电磁波吸收材料行业的市场格局与技术演进路径,帮助读者理解传统吸波材料与先进吸波材料之间的替代趋势及竞争态势。压缩包内为1个docx文件,约… · 2026/11/3 10:53:23
医疗AI战略计划拆解:价值链、证据链与工程接口 简介:这份PDF是美国卫生与公众服务部(HHS)于2025年1月发布的《医疗卫生人工智能战略计划》官方文本,面向医疗AI研究者、政策制定者、医疗产品研发人员及公共卫生管理者,系统回答AI如何在医疗研究、产品开发与公共卫生服… · 2026/11/3 10:53:23
HackRF One软件无线电:驱动、SDRSharp与GNURadio实践 简介:HackRF One 软件无线电平台用户手册面向刚接触 SDR 的爱好者、嵌入式开发者与无线电实验人员,帮助其从硬件组成、Windows/Linux 开发环境搭建到 GNURadio 使用与发射接收实例建立完整认识。资源包仅含 1 个 PDF 文件,大小约 2.49MB&… · 2026/11/3 10:53:23
化工在线分析仪器配置:从取样预处理到DCS联锁应用 简介:《在线分析仪器配置和应用技术2》面向化工、仪器仪表与过程控制领域的工程技术人员及学习者,围绕合成氨、甲醇装置中在线分析仪器的配置选型与应用展开,帮助读者建立从工艺环节到仪器选型的整体认识。内容以水煤浆加压气化、干煤粉加压气… · 2026/11/3 10:52:22
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 13:10:28
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 6:04:24
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 5:52:46
STM32F411RE与MAX14431实现SPI隔离:工业现场抗共模干扰实战 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 1:01:59
ESP32+大模型AI硬件开发:从Demo到产品的8个工程问题 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 1:01:59
基于MAX14431BAEE+与PIC18F85J10的SPI隔离方案设计与实践 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 1:01:59
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 13:10:28
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 6:04:24
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 5:52:46