ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

AI编程助手skills实战指南:概念、安装、编写与清理

AI编程助手skills实战指南:概念、安装、编写与清理 最近后台收到一票关于 skills 的私信前端开发用什么 skills、华为杯建模比赛有没有好用的 Codex skills、AI 漫剧常用的 skills 有哪些、superpower skills 怎么装…… 这个问题从我开始写 Claude Code 实操分享那会儿就有人问到现在依然是大头。今天不绕弯子把 skills 这件事从头到尾聊透它到底是什么、内部是怎么工作的、怎么手动装 GitHub 上的技能包、怎么写一个自己的技能、以及最后怎么清理那些吃灰的技能。这篇文章适合所有在用 Claude Code、Codex、OpenCode 这类 AI 编程助手的同学也适合那些刚听说 skills、想搞明白这玩意和我平时写的提示词有什么区别的新手。我会按实战路径来写——不是官方文档复读而是把我自己踩过的坑、验证过的方法、以及从热门仓库里学到的经验原原本本摊开给你看。1. skills 到底是什么从提示词到可复用的技能包1.1 为什么一夜之间都在聊 skills先说结论skills 是 AI 编程助手进入 agent 时代之后用来封装专业操作流程的标准容器。一个 skills 包可以是一份操作指南、一组脚本、一批参考资料甚至是一套完整的检查清单。它不再是你临时想出来的一句提示词而是提前准备好、随时能被 AI 取用的能力模块。我最早接触 skills 是看 Anthropic 官方仓库 anthropics/skills。当时第一反应是这不就是把提示词放进文件夹里了吗但实际跑完几个技能之后才意识到差别非常大。提示词是一次性的写完发给 AI用完就没了skills 是结构化的AI 可以根据当前任务描述自动决定要不要加载它。它像给 AI 配了一本工作手册遇到对应场景就翻出来照着做。热词里那些前端开发 skills数学建模 skillsAI 漫剧常用 skills看着像是不同领域的东西但本质是同一件事把某个领域反复要做的操作沉淀成 AI 可以直接执行的流程。前端开发技能可能是按设计稿还原界面并做响应式适配数学建模技能可能是从数据清洗到论文排版的一整套解题流程AI 漫剧技能则可能是生成分镜脚本、角色设定、台词风格统一之类的创作流程。1.2 skills、提示词、插件、MCP 到底什么关系很多人一开始会混淆这几个概念我直接用一个生活化的类比来解释。把 AI 编程助手想象成一个新来的实习生。提示词是你当场交代的一句话帮我把这个文件改一下。MCPModel Context Protocol是你给实习生开的系统权限让他能查数据库、调接口、操作浏览器。插件是给他装的各种工具比如格式化工具、测试工具。而 skills 是一本标准化操作手册——里面写着遇到这类任务按这个流程做用这些脚本参考这些规范。它们之间的关系不是替代而是叠加。一个高水平的技能包里面会用到 MCP 提供的工具能力也会调用外部脚本完成 AI 自己搞不定的确定性操作最终的效果远超单纯一段提示词。为了更直观我整理了一个对比表维度提示词插件MCPskills本质一次性指令工具扩展外部系统连接协议结构化工作流时效用完即弃常驻可用常驻可用按需自动加载携带内容纯文字代码/UI服务接口文档脚本资源是否可复用弱强强强是否可分享一般可以可以非常适合实际用下来的感受是skills 是最适合沉淀经验的形式。你不需要懂很深的代码只要能把一个任务流程讲清楚再配上必要的脚本就能做成一个自己的技能包。2. 核心机制拆解一个 skills 包内部长什么样2.1 SKILL.md技能的唯一入口所有 skills 包的核心都是同一个约定在目录里放一个 SKILL.md 文件AI 通过这个文件来识别和加载技能。目录结构通常长这样my-skill/ ├── SKILL.md ├── scripts/ │ ├── parse_data.py │ └── generate_report.sh └── reference/ └── style-guide.mdSKILL.md 是技能包的门面也是 AI 决定要不要用这个技能的判断依据。官方规范里SKILL.md 需要带 YAML frontmatter其中最关键的字段是name和description--- name: math-modeling-report description: 生成数学建模竞赛论文包括问题分析、模型假设、模型建立与求解、结果分析和附录排版。仅在用户参加数学建模竞赛时使用。 --- # 数学建模论文生成技能 ## 流程 1. 明确题目要求 2. 分析问题类型 3. 建立模型 4. 编写求解代码 ...这里有个非常关键的细节description写得好不好直接决定技能会不会被触发。AI 读取 description 后会判断当前用户请求是否匹配。如果描述写得太宽泛比如帮助用户处理问题AI 会觉得什么都能用结果就是经常误触发或者完全不触发如果写得太狭窄比如只提到具体赛题名称换个比赛场景就失效了。我总结的 description 撰写公式是适用范围 解决的问题 触发条件。宁可多写几行也要把边界说清楚。2.2 脚本与参考文件让技能带工具SKILL.md 解决的是流程指引问题但很多时候光有流程不够。比如你要 AI 帮你把论文里的公式统一转成 LaTeX 格式AI 自己手算很容易出错这时候就需要脚本。scripts 目录里放的就是这类AI 无法靠语言完成但可以通过执行命令完成的工具。AI 在读取 SKILL.md 时会看到你写的遇到公式时运行python scripts/latex_convert.py --input file.md然后它就会去执行这个脚本。reference 目录则用来放参考资料比如设计规范、代码风格指南、API 文档。AI 执行任务时可以参考这些资料来校准自己的输出。assets 目录一般放图片、模板文件等静态资源。说白了skills 是把AI 的推理能力和脚本的确定性能力做了一次组合。语言模型善于理解意图、拆解步骤但它不擅长精确计算和记忆大量固定规范脚本和参考文件正好补上这些短板。2.3 主流工具加载方式对比不同的 AI 编程助手对 skills 的支持方式略有差异我用一个表把主流的三种列出来工具用户级目录项目级目录加载方式Claude Code~/.claude/skills/.claude/skills/自动扫描目录按 description 匹配Codex~/.codex/skills/.codex/skills/需在config.toml启用 skills再按描述匹配OpenCode~/.config/opencode/skills/.opencode/skills/自动扫描目录按 description 匹配这里需要提醒一句这些工具的更新速度非常快目录和配置项可能随版本变化。我在写这篇分享时使用的是各自近期稳定版的行为如果你安装后发现路径不对优先去官方文档或仓库 README 里确认最新约定。用户级目录和项目级目录的选择也有讲究。用户级目录的技能对所有项目生效适合放通用能力比如浏览器调试代码审查写作润色项目级目录只对当前项目生效适合放跟业务强相关的技能比如某个项目的专属构建流程、某个比赛的一套完整解法。3. 实操手动安装 GitHub 上的 skills含路径与验证3.1 为什么要手动装、装之前要准备什么热词里有一条Claude Code 怎么手动装 GitHub 上的 skills这个问题非常典型。很多人从 GitHub 上找到一个想要的 skills 仓库后不知道该把文件放哪、怎么让 AI 认出来。官方一键安装命令在一些场景下不可用或者你想装的技能没有封装成插件格式这时候就需要手动操作。手动安装之前确认三件事第一本机已经安装了 Git并且你清楚项目的本地路径第二AI 编程助手的命令行工具能正常启动第三你知道自己要把技能装到用户级还是项目级。这三个都确认好了就开始动手。这里补充一个经验装技能之前先看清楚仓库的目录结构。有些仓库的根目录就是一个 skills 包根目录下直接有 SKILL.md有些仓库则是聚合仓库根目录下有一堆子目录每个子目录各是一个技能包。如果直接把聚合仓库整个放到 skills 目录里AI 可能只会识别根目录下有 SKILL.md 的那一个其他子技能全变成摆设。3.2 以 Claude Code 为例的完整安装流程下面我以 Claude Code 为例走一遍完整的手动安装流程。假设我从 GitHub 找到一个名为awesome-web-dev-skill的技能包打算装到用户级目录让所有项目都能用。第一步把仓库克隆到本地临时目录git clone https://github.com/example/awesome-web-dev-skill.git cd awesome-web-dev-skill第二步检查目录结构ls -la # 看看根目录下是否有 SKILL.md cat SKILL.md | head -20如果 SKILL.md 在子目录里就进入对应子目录再操作。第三步把整个技能目录复制到 Claude Code 的 skills 目录mkdir -p ~/.claude/skills cp -r awesome-web-dev-skill ~/.claude/skills/这里有一个关键注意点复制后技能目录名字尽量保持简洁不要带版本号一长串。你从 GitHub 上 clone 下来的目录名通常是仓库名但如果仓库名带-main或-v2这样的后缀建议改成干净的名字否则某些工具在匹配时可能出现问题。第四步验证安装。启动 Claude Code输入一个与该技能描述匹配的请求比如帮我按这个设计稿还原一个响应式页面。如果 AI 主动提到我将使用 web-dev 技能来执行说明加载成功。也可以在会话里直接问你目前有哪些 skills 可用让 AI 列出当前加载的技能清单。实测下来最稳妥的验证方式是直接要求 AI 描述某个技能的流程细节。比如问web-dev 技能的完整执行流程是什么如果 AI 能准确说出来说明它已经读取了 SKILL.md如果 AI 一脸茫然说明技能没有被加载需要排查路径和描述。3.3 Codex 和 OpenCode 的安装差异Codex 的安装步骤大体相同但有一个额外配置项。你需要在~/.codex/config.toml中确认启用了 skills 相关设置然后把技能目录放到~/.codex/skills/或项目级.codex/skills/下。不同版本的 Codex 对 skills 的支持成熟度不同老版本可能需要在配置里加skills true之类的选项新版本则默认开启。装完后在 Codex 会话中直接提问看反应即可。OpenCode 的思路更接近 Claude Code把技能放到~/.config/opencode/skills/或.opencode/skills/后它会在会话上下文中自动扫描并匹配。OpenCode 的优点是比较轻量社区里也有很多现成的技能包可以直接 clone 使用。无论哪个工具我都强烈建议在项目目录里建一个skills说明文档或者直接用 README记录你装了哪些技能、各是什么用途、放在哪个路径。技能装多了以后没有一份地图的话自己都会忘记装过什么。4. 自己写一个 skills从需求到交付开发向4.1 设计阶段先想清楚边界和触发条件自己写技能最忌讳的是什么都想做。一个技能包如果试图覆盖十几种不同任务它的 description 就必然写得宽泛AI 匹配时要么乱触发要么搞不清什么时候用。我建议在动手之前先回答三个问题这个技能解决什么问题一句话说清楚什么场景下应该触发列举 3-5 个典型请求示例什么场景下不应该触发列出排除项回答完这三个问题description 的主干就有了。以热词里数学建模 skills为例一个数学建模论文生成技能的 description 可以这样写--- name: math-modeling-paper description: 数学建模竞赛全流程助手包括读题、问题分析、模型选择、代码实现、结果分析和论文排版。仅在用户参加数学建模竞赛如华为杯、国赛、美赛并需要生成完整论文时使用。 ---注意仅在……时使用这种边界描述能有效减少误触发。我在实战中发现加不加边界描述误触发率能差出好几倍。4.2 编写 SKILL.md 与配套脚本SKILL.md 的正文是给 AI 看的操作说明书。它不需要像人看的文档那样讲究文采但一定要结构清晰、指令明确。我的习惯是分四段写技能目标一句话说明这个技能要达成的最终结果。执行流程用有序列表给出从开始到结束的步骤每步尽量具体。关键规则列出不可违反的硬性要求比如格式、命名、质量标准。完成检查给出一个自查清单AI 在结束时逐项核对。以前端页面还原技能为例关键规则可以写所有间距使用 8px 网格对齐颜色只能从主题色板中选取移动端优先断点取 768px 和 1200px。这些规则必须写得非常明确AI 才不会自由发挥。脚本部分我提供一个真实的例子。假设要做一个批量压缩图片的技能目录结构如下image-optimizer/ ├── SKILL.md └── scripts/ ├── optimize.py └── requirements.txtSKILL.md 里这样描述脚本用法当需要压缩图片时运行 python scripts/optimize.py --input 图片目录 --quality 80optimize.py 里用 Pillow 库做压缩AI 只需要调用脚本、传入参数、检查输出不需要自己去猜图片压缩参数。这样一来确定性操作压缩交给脚本逻辑判断哪些图片需要压缩、压缩到什么程度交给 AI各司其职。4.3 测试与迭代别指望一次写成功自己写 skills 一定要测试。我的测试流程是把技能包放到项目级目录开启一个新的对话务必新开旧会话可能已经加载了旧版本技能用设计阶段想好的典型请求去触发观察 AI 是否加载了技能、执行流程是否符合预期、输出质量是否达标不达标就改 SKILL.md再重复第 2 到第 4 步。这里有个隐藏坑很多 AI 编程助手在一个会话开始时会扫描系统提示但如果在会话中途修改了 SKILL.mdAI 并不会自动重新加载。所以改完必须新开会话不是强迫症而是保证测试结果可靠的硬性要求。另外一个提高迭代效率的小技巧在 SKILL.md 的完成检查清单里设计一些容易自动验证的项。比如检查输出文件是否存在、格式是否正确、是否包含指定字段。AI 执行完检查后会主动汇报结果省去你人工抽查的时间。5. 优质技能库推荐与选型经验场景化5.1 起底几个热度最高的技能仓库热词里反复出现 superpower skills、typesafe ai skills、codex nature skills 这些关键词我挨个说一下。superpower skillsGitHub 上的 obra/superpowers 仓库是目前社区热度很高的技能集合。它主打给 AI 超能力的概念把写作、编程、研究、沟通等场景拆成大量精细化技能包。我试过其中的写作类技能最直观的感受是它把写一篇技术博客拆成了选题、大纲、初稿、润色、SEO 检查等多个环节AI 在每个环节都能调用专门的技能来执行。如果你想把 AI 当成一个内容团队来用这个仓库值得研究。anthropics/skills是 Anthropic 官方仓库里面是官方维护的文档、PPT、表格、网页测试等技能。质量稳定和 Claude Code 的兼容性最好。适合新手用来学习标准写法——每个技能包的目录结构、SKILL.md 写作方式都堪称模板。codex-nature则是 Codex 社区里很受欢迎的技能集里面有不少面向竞赛、科研、文档处理的技能。你搜codex nature skills能找到直接用 Git clone 的方式安装到 Codex 的技能目录即可。typesafe ai skills这类仓库则是工程化风格的技能集特点是结构化程度高很多技能附带完善的数据校验和类型定义。如果你平时用 TypeScript 技术栈这类技能包的参考价值更大。仓库来源推荐理由适合场景anthropics/skills官方标准写法、稳定性高新手学习、通用办公obra/superpowers社区技能覆盖面广、细粒度内容创作、综合效率codex-nature社区竞赛与科研向数学建模、论文撰写typesafe ai skills社区工程化程度高开发者进阶、TS 项目5.2 按场景选技能前端开发、数学建模、AI 漫剧回到热词里的三类高频需求。前端开发场景我推荐优先装三类技能一是设计稿还原类指挥 AI 把图片转成响应式 HTML/CSS二是 Web 测试类让 AI 自动打开浏览器页面验证交互类似官方仓库里的 webapp-testing三是工程规范类按团队约定生成组件代码。搭配使用后AI 从前端切图到自测形成闭环效率提升非常明显。数学建模场景重点不是一个全能的建模技能而是组合几个小型技能数据清洗技能、模型选择技能、可视化绘图技能、论文排版技能。华为杯这类竞赛时间紧如果能让 AI 自动完成标准化流程比如数据预处理、画图、生成 LaTeX 表格你就能把时间省下来专注在模型思考和结果分析上。这也是数学建模 skills 推荐里最实用的思路——不建议找一个大而全的技能更推荐小技能组合。AI 漫剧场景比较特殊这个领域的 skills 更多是创作流程包比如生成分镜脚本、统一角色设定、生成配音提示词、保持画风一致。这些技能不一定需要脚本重点是把创作流程拆解成 AI 能按步骤执行的规范。我自己试过用技能包统一角色设定后连续生成多段内容时角色一致性明显提升比单纯靠记忆稳定得多。5.3 技能库的整理和版本管理技能装多了以后整理能力比收集能力更重要。我的做法是给每个技能目录维护一个语法化的命名领域-用途例如web-design-restore、math-modeling-paper、short-drama-script。同时在根目录放一个 README 风格的技能清单记录每个技能的路径、用途、依赖项和备注。版本管理方面项目级技能建议纳入 Git 仓库毕竟技能本身也是代码资产。用户级通用技能即使不放 Git也要定期备份。我见过有人辛辛苦苦调了好几个技能换电脑时全没了就是因为没有备份。6. 常见问题与避坑指南6.1 装了却不触发90% 是这几个原因这个问题问的人最多。我按经验排一下触发的常见原因路径放错。最常见。技能目录放到了不扫描的位置AI 根本看不到。解决方法是确认当前工具的用户级和项目级 skills 目录路径用ls查看目录是否真实存在。description 写得过宽或过窄。过宽会导致 AI 不确定什么时候用过窄会导致匹配不上。建议按适用范围解决问题触发条件的公式重写。新旧版本不一致。如果技能包是从 GitHub 上拉下来的最新版但你的 AI 编程助手版本较旧可能不支持最新的 SKILL.md 字段或目录约定。这种一般会伴随报错或日志提示升级工具版本即可。会话没有重开。前面说过改完技能或新装技能后必须新开一个会话AI 才会重新扫描并加载技能。仓库结构理解错误。聚合仓库里装了外层目录导致子技能没有被识别。解决方法是逐个检查每个子目录是否有独立的 SKILL.md有就拆开放。6.2 清理 skills 的正确姿势热词里有一条tibo 关于清理 skills 的方法推荐说明很多人已经意识到技能膨胀是个真问题。技能越来越多AI 每次扫描所有技能描述会占用上下文空间匹配效率也会下降。所以定期清理是必要的。我推荐的清理流程是先备份再禁用最后删除。具体来说把暂时不用但可能以后会用到的技能移动到备份目录把确定废弃的技能直接删除。删除前检查一下有没有其他技能依赖它——一个技能的脚本被另一个技能引用这种情况在组合型技能集里很常见。另外提一个建议不要把清理理解成简单的删除更好的方式是给技能做分级。我自己的分级标准是S 级技能每个项目必用A 级技能本周用过B 级技能偶尔用C 级技能装完没再用过。C 级直接清理或备份。这样做既能保持技能库精简又不会误删有用的东西。一个容易被忽略的细节清理技能包后如果发现某个技能不再触发不要急着重新安装。先检查一下是不是技能之间的同名文件冲突。两个技能包如果放在同一个目录下且子目录同名后复制的那个会覆盖先前的这种覆盖不报错也不会提示排查起来非常隐蔽。6.3 排查命令与日志最后分享几个排查用的命令。以 Claude Code 为例查看当前会话可用的技能列表直接在会话中输入你当前加载了哪些 skills请逐一列出名称和描述。如果 AI 列出的技能不包含你刚装的说明加载失败。查看技能目录是否被识别ls -la ~/.claude/skills/ ls -la .claude/skills/确认有效后还可以在会话里问你读取了某个技能的 SKILL.md 吗内容包括什么来验证 AI 是否真的获取了内容。Codex 用户可以在会话里用类似的自然语言询问同时检查~/.codex/skills/目录。OpenCode 一般会在启动时输出一些上下文加载信息如果没看到相关日志可以加调试参数启动或者在配置里打开 verbose 模式。每种工具的启动参数不同具体以官方文档为准。在实际排障过程中我发现一个高性价比的顺序先查路径再查描述然后新开会话九成问题都能解决。剩下的一成基本都出在工具版本兼容性和技能包本身的质量上——如果你从仓库装的技能连官方都标记为实验性那不稳定才是正常的。聊到最后我想说一个自己坚持了很久的习惯我把 skills 当代码来管理而不是当收藏夹来囤积。每个技能都有自己的 README 说明每次改动都会记录用途和变更原因。这样做的回报是——无论哪个项目需要什么能力我都能快速找到合适的技能并且确定它还能正常工作。如果你刚接触 skills我建议从官方仓库里挑一个最匹配日常工作的技能开始比如文档生成或网页测试。装上以后反复用、反复调试直到你彻底理解AI 因为读了 SKILL.md 所以行为发生了改变这件事。理解了这个你才算真正迈进了 agent 时代的门槛。
返回列表