
1. 从“skills”这个标题说起它到底在指什么第一次看到“skills”这个标题很多人会以为是某个招聘网站上的技能标签或者是一份简历里的能力清单。但结合热搜词里反复出现的 Agent Skills、Google Cloud、npx、AI agents、claude agent skills、codex skills 这些词基本可以确定这里说的 skills 不是人类职场技能而是AI Agent 生态里的一种能力封装机制。简单讲skills 就是给 AI Agent 用的“技能包”。一个 Agent 本身只有基础的理解和推理能力它不知道怎么帮你做代码审查、怎么生成分镜脚本、怎么自动跑一遍网页测试、怎么按固定格式写论文。skills 就是把这些具体能力打包成可安装、可调用、可复用的模块让 Agent 在需要的时候加载进来像给手机装 App 一样扩展它的能力边界。这个标题背后真正值得聊的是Agent Skills 的设计思路、安装方式、开发方法、常见坑点以及它在实际工作流里到底能解决什么问题。热搜词里出现了 npx、playwright install 失败、国内安装 skills、skills 下载平台、skills 开发、自动挖洞 skills 这些非常具体的词说明大家关心的不是概念而是“怎么装、怎么用、怎么自己写、装不上怎么办”。这篇文章适合三类人看第一类是刚接触 AI Agent、想搞清楚 skills 到底是什么的开发者第二类是已经在用 Claude、Codex 这类工具想通过 skills 提升效率的实践者第三类是想自己开发 skills、把内部流程封装成 Agent 能力的技术人员。我会从整体设计思路讲到具体实操再到问题排查和开发要点尽量把踩过的坑和验证过的方案都写清楚。2. Agent Skills 的整体设计与核心思路拆解2.1 为什么需要 skillsAgent 的能力边界问题AI Agent 和普通聊天机器人最大的区别是它会“做事”。但一个通用 Agent 如果什么都能做往往什么都做不精。你让它写代码它可能给你一段能跑但不符合团队规范的代码你让它做测试它可能不知道你们用的是 Playwright 还是 Cypress你让它写论文它可能不清楚你们实验室的引用格式要求。这就是 skills 要解决的核心问题把通用能力变成专用能力把临时提示变成可复用资产。我打个比方。Agent 就像一个刚入职的聪明新人学习能力强但不懂你们公司的具体流程。skills 就像一份份标准作业程序SOP新人拿到 SOP 之后就能按照你们要求的方式完成特定任务。没有 SOP他也能做但每次做法可能都不一样有了 SOP输出就稳定了。从热搜词里能看到大家关注的 skills 类型非常多样有 codex 写论文的 skills、有分镜 skills、有自动挖洞 skills、有前端开发 skills。这说明 skills 的适用范围已经不局限于编程而是扩展到了内容创作、安全测试、设计辅助等多个领域。背后的逻辑是一样的把某个垂直场景下的最佳实践固化下来让 Agent 每次执行都能达到可预期的质量。2.2 skills 和普通提示词的区别在哪里很多人会问我直接写一段很长的提示词不就行了吗为什么要搞 skills区别在于三个层面。第一是结构化。普通提示词是一段文本skills 通常有明确的目录结构、元数据描述、输入输出定义。它更像一个函数而不是一段说明。你调用它的时候知道它会接收什么参数、返回什么结果。第二是可组合。一个 skills 可以调用另一个 skills形成能力链。比如一个“代码审查”skills 内部可能调用“静态分析”skills 和“规范检查”skills。普通提示词很难做到这种模块化组合。第三是可分发。skills 可以打包、上传、下载、安装。热搜词里出现“skills 下载平台有哪些”“skills 安装包下载”“github skills”说明已经有人在把 skills 当作一种可流通的资产来对待。你可以用别人写好的 skills也可以把自己写的分享出去。注意不要把 skills 理解成简单的提示词模板。它的价值在于封装和复用如果只是把一段提示词换个名字叫 skills那意义不大。2.3 当前主流 Agent Skills 生态的几种形态从热搜词和实际使用经验来看目前 skills 主要有几种存在形态。一种是平台内置型。比如 Google Cloud 相关的 Agent 能力平台自己提供一套 skills 体系你在它的框架里开发和调用。这种形态的好处是集成度高坏处是绑定平台。一种是命令行工具型。热搜词里的 npx、claude mcpservers npx、npx playwright install 失败都指向这种形态。通过 npx 可以快速拉取和运行某个 skills 包不需要全局安装。这种形态适合开发者灵活但需要一定的命令行基础。一种是本地安装型。把 skills 下载到本地目录Agent 在运行时从指定路径加载。热搜词里“claude 国内安装 skills 官方市场”“skills 安装包下载”反映的就是这种需求。本地安装的好处是可控坏处是更新和依赖管理需要自己处理。还有一种是市场分发型。有专门的平台或社区提供 skills 的浏览、搜索、下载、评价。热搜词里“skills 推荐”“skills 大全”“find skills”说明用户有发现优质 skills 的需求。这几种形态不是互斥的很多 skills 既可以本地安装也可以从市场获取。理解这些形态有助于你在遇到安装问题时快速定位是哪个环节出了状况。3. 核心细节解析与实操要点3.1 skills 的目录结构与关键文件说明一个标准的 skills 包通常包含以下几个部分。不同平台可能有细微差异但核心思路一致。my-skill/ ├── skill.json # 元数据名称、版本、描述、作者、依赖 ├── README.md # 使用说明 ├── prompts/ # 提示词模板 │ └── main.md ├── scripts/ # 可执行脚本 │ └── run.sh ├── resources/ # 静态资源 │ └── template.docx └── tests/ # 测试用例 └── test-basic.jsonskill.json是最关键的文件。它告诉 Agent 这个 skills 叫什么、能做什么、需要什么输入、会输出什么。没有这个文件Agent 就不知道该怎么加载和调用。prompts 目录存放提示词模板。注意这里的提示词不是随便写的通常会有变量占位符比如{{input_code}}、{{language}}Agent 调用时会替换成实际值。scripts 目录存放需要执行的脚本。比如一个“自动挖洞 skills”可能包含扫描脚本一个“分镜 skills”可能包含图像处理脚本。脚本语言可以是 Python、JavaScript、Shell 等取决于平台支持。resources 目录存放模板、配置文件、示例数据等静态资源。比如写论文的 skills 可能在这里放一个参考文献格式模板。tests 目录用于验证 skills 是否正常工作。热搜词里“agent skills 测试”说明大家已经意识到测试的重要性。一个没有测试的 skills很难保证在不同环境下都能稳定运行。3.2 安装 skills 的几种方式和选择逻辑安装 skills 的方式直接决定了你后续的使用体验。我按从简单到复杂的顺序说。方式一通过 npx 直接运行。这是最轻量的方式适合快速试用。命令大概长这样npx some-org/some-skill --input your inputnpx 会自动下载包并执行不需要你手动安装到全局。但这种方式每次都要联网拉取而且如果包比较大启动会慢。热搜词里“npx playwright install 失败”就是一个典型问题通常是网络原因或者版本不兼容导致的。方式二安装到本地目录。把 skills 包下载下来放到 Agent 指定的 skills 目录里。比如 Claude 的 skills 通常放在~/.claude/skills/下面。这种方式的好处是离线可用加载速度快。坏处是需要手动管理更新。方式三从市场安装。有些平台提供了 skills 市场你可以搜索、浏览、一键安装。热搜词里“claude 国内安装 skills 官方市场”说明用户对这个方式有需求但国内访问官方市场可能会有网络问题需要找镜像或者手动下载。方式四自己开发并本地加载。如果你有特殊需求可以自己写 skills然后放到本地目录让 Agent 加载。这种方式最灵活但需要了解 skills 的开发规范。选择哪种方式取决于你的使用频率和网络环境。如果只是偶尔用一下npx 最方便如果每天都要用本地安装更稳如果有定制需求自己开发是唯一选择。3.3 开发一个 skills 的最小可行步骤如果你想自己写一个 skills不用一开始就追求大而全。我建议按最小可行产品MVP的思路来。第一步明确这个 skills 要解决什么问题。比如“帮我按照指定格式写论文摘要”。问题越具体skills 越容易写好。第二步写清楚输入和输出。输入是什么一段论文正文一个主题输出是什么一段符合格式的摘要把这些定义清楚后面写提示词和脚本就有方向了。第三步创建 skill.json。填写名称、版本、描述、输入参数、输出格式。这个文件不需要很复杂但字段要准确。第四步写提示词模板。把你在实际工作中总结出来的最佳实践写进去。比如摘要要包含研究目的、方法、结果、结论四个部分每部分不超过两句话。第五步本地测试。用一个真实的输入跑一遍看输出是否符合预期。如果不符合调整提示词或者增加后处理脚本。第六步补充边界情况。比如输入为空怎么办输入语言不是中文怎么办输出格式不符合要求怎么办把这些情况处理好skills 才算可用。提示第一个 skills 不要写太复杂。一个能稳定完成单一任务的简单 skills比一个功能很多但经常出错的复杂 skills 有价值得多。4. 实操过程与核心环节实现4.1 环境准备从零开始搭建 skills 运行环境假设你现在什么都没有想在自己的机器上跑通一个 skills。我以最常见的命令行环境为例把步骤拆开说。首先确认基础环境。你需要 Node.js 和 npm因为很多 skills 工具链是基于 Node 的。打开终端输入node -v npm -v如果能看到版本号说明已经安装。如果没有去 Node.js 官网下载 LTS 版本安装。建议用 18 以上的版本兼容性更好。然后确认 npx 可用。npx 通常随 npm 一起安装输入npx -v如果提示找不到命令可以手动安装npm install -g npx接下来创建一个工作目录用来存放你下载或开发的 skillsmkdir -p ~/agent-skills cd ~/agent-skills这个目录就是你的 skills 仓库。后面所有操作都在这个目录下进行方便管理。如果你要用到 Playwright 相关的 skills还需要安装浏览器依赖。热搜词里“npx playwright install 失败”是高频问题这里提前说一下正确做法npx playwright install chromium只安装你需要的浏览器不要一次性装全部否则下载量很大失败概率也高。如果下载慢可以设置国内镜像源但具体镜像地址这里不展开你可以根据自己网络环境选择。4.2 安装一个现成 skills 并验证是否可用环境准备好之后我们装一个现成的 skills 来练手。假设我们要装一个“代码格式化检查”skills。第一步从 GitHub 或者 skills 市场找到这个 skills 的仓库地址。热搜词里“github skills”说明很多 skills 托管在 GitHub 上。第二步用 git clone 或者直接下载压缩包的方式获取git clone https://github.com/some-org/code-format-skill.git如果网络不通可以尝试用代理或者找镜像但这里不展开网络配置细节。第三步进入目录查看 README 和 skill.json了解它的依赖和用法cd code-format-skill cat skill.json cat README.md第四步安装依赖。如果 skill.json 里声明了依赖通常用 npm 安装npm install第五步运行测试用例验证 skills 是否正常工作npm test如果测试通过说明 skills 安装成功。如果失败看错误信息通常是依赖缺失或者版本不匹配。第六步把 skills 链接到 Agent 的 skills 目录。不同 Agent 的目录不一样Claude 通常是~/.claude/skills/Codex 可能是另一个路径。你可以用软链接的方式ln -s ~/agent-skills/code-format-skill ~/.claude/skills/code-format-skill这样 Agent 就能加载到这个 skills 了。4.3 自己动手写一个“论文摘要生成”skills为了让你更清楚 skills 的开发过程我带你写一个简单的“论文摘要生成”skills。热搜词里“codex 写论文的 skills”说明这个需求很真实。首先创建目录结构mkdir -p ~/agent-skills/paper-abstract/prompts cd ~/agent-skills/paper-abstract然后创建 skill.json{ name: paper-abstract, version: 1.0.0, description: 根据论文正文生成结构化摘要, author: your-name, inputs: { content: { type: string, description: 论文正文内容 }, language: { type: string, default: zh, description: 输出语言 } }, outputs: { abstract: { type: string, description: 生成的摘要 } } }接着写提示词模板prompts/main.md你是一个学术论文摘要生成助手。请根据以下论文正文生成一段结构化摘要。 要求 1. 摘要包含研究目的、研究方法、主要结果、结论四个部分。 2. 每部分用一句话概括总字数控制在 200 字以内。 3. 语言为 {{language}}。 4. 不要添加正文中没有的信息。 论文正文 {{content}} 请直接输出摘要不要添加额外说明。这个 skills 没有脚本纯靠提示词完成。对于很多场景来说这就够了。测试一下。你可以手动替换变量把一段论文正文放进去看输出是否符合要求。如果不符合调整提示词中的约束条件。4.4 把 skills 接入实际工作流的注意事项skills 写好之后怎么接入日常工作流有几个点要注意。第一明确触发条件。Agent 不会自动调用所有 skills你需要告诉它什么时候用哪个。比如你可以说“用 paper-abstract skills 帮我处理这段正文”或者在 Agent 配置里设置自动匹配规则。第二控制输入长度。很多 Agent 对输入长度有限制如果论文正文太长可能需要分段处理。你可以在 skills 里加一个预处理步骤把长文本切分成块。第三处理输出格式。Agent 的输出有时候会带一些额外说明如果你需要严格的格式可以在 skills 里加后处理脚本把多余内容去掉。第四版本管理。skills 会迭代建议用 git 管理每次修改都提交方便回滚。skill.json 里的版本号也要同步更新。第五权限控制。如果 skills 包含可执行脚本要注意脚本的权限。不要随便运行来源不明的 skills尤其是涉及文件操作和网络请求的。注意热搜词里“自动挖洞 skills”这类涉及安全测试的 skills使用时一定要在授权环境下进行不要对未授权的目标使用。5. 常见问题与排查技巧实录5.1 安装失败类问题速查安装 skills 时遇到的问题最多我整理了一个速查表覆盖大部分常见情况。问题现象可能原因排查方法解决思路npx 命令找不到npm 未安装或版本过低运行npm -v检查安装 Node.js LTS 版本npx playwright install 失败网络超时或磁盘空间不足查看错误日志检查磁盘换镜像源清理磁盘单独安装 chromiumskills 下载后无法加载目录结构不对或 skill.json 缺失检查目录下是否有 skill.json按规范补齐文件依赖安装报错版本冲突或缺少系统库看 npm 错误信息删除 node_modules 重装或指定版本Agent 找不到 skills路径配置错误确认 Agent 的 skills 目录用软链接或复制到正确目录运行时报权限错误脚本没有执行权限ls -l查看权限chmod x添加执行权限这个表里的问题我基本都遇到过。最麻烦的是网络问题导致的安装失败因为错误信息有时候很模糊。我的经验是先确认基础环境没问题再逐步排查依赖和网络。5.2 skills 运行结果不符合预期的排查思路装好了也能跑但结果不对这种情况更让人头疼。排查思路可以按这个顺序来。先看输入。你给 Agent 的输入是不是符合 skills 定义的格式比如 skills 要求 JSON 格式你给了纯文本那肯定不对。再看提示词。提示词里的约束是不是不够明确比如你要求“简洁”但没说什么叫简洁Agent 可能给你一段很长的输出。把要求量化比如“不超过 100 字”。然后看模型。不同模型对同一段提示词的理解可能不一样。如果你换了模型skills 的表现可能会变化。这时候需要针对新模型调整提示词。最后看后处理。如果 skills 有脚本检查脚本逻辑是否正确。有时候提示词输出没问题但脚本处理时出了错。我踩过的一个坑是提示词里用了中文引号导致变量替换失败。后来统一改成英文引号就好了。这种细节问题不看日志很难发现。5.3 国内使用 skills 的网络与镜像问题热搜词里“claude 国内安装 skills 官方市场”反映了一个现实问题很多 skills 托管在境外平台国内访问可能不稳定。我的建议是优先找国内可访问的镜像或者 GitHub 加速方式。如果 skills 本身是开源的可以找国内开发者维护的镜像仓库。如果找不到可以手动下载压缩包然后本地安装。对于依赖下载比如 npm 包和 Playwright 浏览器可以配置国内镜像源。具体配置方法因工具而异但思路是一样的把默认的境外源替换成国内可访问的源。提示不要使用任何违反当地法律法规的网络工具。如果官方渠道访问不了优先找合规的镜像或者手动下载方式。5.4 skills 开发和维护中的独家避坑技巧最后分享几个我在开发和维护 skills 过程中总结的技巧。技巧一提示词里加“不要做什么”。很多人只写“要做什么”但 Agent 有时候会过度发挥。加上“不要添加正文中没有的信息”“不要输出额外说明”这类约束输出会稳定很多。技巧二用测试用例驱动开发。先写几个典型的输入和期望输出然后写 skills跑测试调整直到通过。这样比凭感觉写要靠谱。技巧三版本号要严格。skill.json 里的版本号不是摆设。每次修改都升版本这样出问题的时候能快速定位是哪个版本引入的。技巧四日志要留够。skills 运行时的输入、输出、中间状态尽量记录下来。出问题的时候日志是唯一的线索。技巧五不要重复造轮子。热搜词里“skills 推荐”“skills 大全”说明已经有很多现成的 skills 可以用。先找现成的找不到再自己写。自己写的时候也可以参考别人的结构。技巧六注意 skills 的边界。一个 skills 只做一件事。如果你发现一个 skills 越来越复杂可能是时候拆成两个了。我在实际使用中发现skills 的价值不在于数量多而在于每个都稳定可靠。一个经常出错的 skills还不如没有。所以宁可少写几个也要保证每个都经过充分测试。后续如果要做团队协作可以把 skills 仓库私有化部署配合 CI 做自动化测试这样质量更有保障。