
1. 为什么Skills才是智能体能力的最后一公里1.1 从会聊天到会干活的临门一脚过去一年多我身边越来越多朋友从用Claude聊需求转向让Claude真正去执行一整套任务。但很多人卡在同一个地方Claude虽然聪明却像是一个刚毕业的高材生——知识面广、理解力强但没受过岗位训练。你跟它说帮我写个前端页面它能写但如果你想让它每次都按照团队规范、带上代码检查、补上单元测试、按固定目录结构输出你就得每次复制一大段岗位职责说明给它。这个体验不能说差但离智能体三个字还差得很远。Claude团队推出的Skills解决的就是这个最后一公里问题。它不是新的模型也不是另一个API接口而是一种让Claude获得专业技能的标准封装方式。你可以把一个Skill理解成给Claude的一份岗位说明书训练手册告诉它在什么场景下、按照什么流程、调用什么工具、产出什么格式的结果。一旦装好Claude能在遇到对应任务时主动调用这套技能不再需要你重复交代细节。在AI圈子最新的讨论里Skills已经被拿来和GitHub Copilot的prompt定制、ChatGPT的Custom Instructions做对比但Skills的粒度更细、复用性更强、也更接近真实工程里的单元化思维。Claude Code、Dify、Coze这些平台也都在围绕类似思路做智能体编排但Claude的原生Skills体系是我目前用过最顺手的一套。1.2 Skills与Prompt看起来像本质是两回事我在给团队做内部分享时最喜欢用一个比喻Prompt像是你现场口述的临时需求Skills则是沉淀下来的标准操作手册。Prompt是每次都要重新输入的指令它跟对话上下文绑定在一起换个会话就没了不同人写出来的质量也参差不齐。Skills则是一个标准化的独立文件单元包含特定格式的元数据name、description可以安装在固定的目录里Claude会在需要时根据场景描述自动判断该不该调用它、用哪一个。这是本质区别前者是人指挥机器后者是机器学会主动匹配能力。从工程视角看Skills真正值钱的地方在于三个特性可复用一个写好的Skill可以在任意项目、任意对话中反复调用不用重新写提示词。可分发技能是文件意味着能进Git仓库、能打包分享、能团队统一管理。这点对组织级AI落地非常重要。可迭代Skill可以像代码一样做版本管理今天发现某个步骤不好使改掉再发布同一团队所有人都能受益。我还试过自己搭建Dify智能体和Coze智能体来做类似的事那类平台更像搭积木——把节点拖来拖去连接成大模型应用。而Claude Skills走的是左手档路线一切用Markdown和脚本定义没有可视化画布但也因此更透明、更灵活适合真正做工程的人。1.3 谁适合现在上手Skills我个人的判断是以下三类人应该立刻动手试试第一类是每天高频使用Claude的开发者。如果你反复让Claude做代码审查、生成commit message、按规范重构代码那一定值得把流程固化成Skill。第二类是做智能体应用的技术负责人。不论你是用Dify、Coze还是LangChain LangGraph搭智能体Skills提供了一套给模型灌输岗位能力的标准化思路这套思路能直接借鉴到你的智能体设计里。特别是Harness架构LangChain调用工具链配合Skills的领域定义可以让intent识别精准度上一个台阶。第三类是有垂直领域经验但不太写代码的从业者。比如销售团队想把一套客户沟通SOP教给AI设计师想把特定的配图规范教给AI。Skills的核心载体是Markdown文档写起来门槛并不高关键是你要能把自己的领域经验拆成清晰步骤——这恰恰是很多人的优势。2. 拆解一个Skill的完整内部结构2.1 SKILL.md技能的大脑和五官一个标准的Claude Skill核心只有一个文件SKILL.md。这个文件的命名是固定的Claude在扫描技能目录时就是靠它来识别一个技能是否存在。SKILL.md由两部分组成YAML frontmatter和Markdown正文。--- name: frontend-code-review description: 用于对前端项目进行代码审查。当用户要求检查React/Vue项目代码质量、或提交了PR希望做review时使用。 --- # 前端代码审查技能 你是一名资深前端技术专家负责对项目代码进行全面审查... ## 审查步骤 1. 查看git diff确定本次变更范围 2. 检查组件拆分是否合理 3. 验证状态管理方案 4. 检查样式和可访问性 5. 输出审查报告YAML frontmatter里最关键的是name和description字段。name是技能的唯一标识description则决定了Claude什么时候想起来用这个技能。提示description的写法直接决定技能的触发率。写得过于笼统Claude会经常想不起来写得太狭窄则会在真正需要时错过。2.2 目录里还能装什么不只是MarkdownSKILL.md虽然只是文本文件但一个完整的Skill却可以像一个小型Git仓库一样拥有复杂结构my-skill/ ├── SKILL.md # 技能主文件 ├── scripts/ │ ├── fetch-data.ts # 辅助脚本 │ └── report-generator.py ├── assets/ │ ├── templates/ # 输出模板 │ └── references/ # 参考文档 └── config/ └── rules.json我见过有人把一整套业务方法论写成十几个Markdown文档挂在assets/references/下SKILL.md里只写流程骨架和触发条件Claude在执行任务过程中遇到具体环节时再去读对应参考文件。这种主文件定流程、辅助文件供知识的设计比把所有东西堆在一个SKILL.md里要优雅得多——既能避免一次喂给模型的上下文过长又能保证逻辑清晰。脚本目录更实用。比如我写过一个生成项目周报的SkillSKILL.md里定义了报告结构而统计数据的工作则交给了scripts/collect_git_stats.pyClaude会在执行过程中主动调用这个脚本读取Git提交记录然后按模板生成报告。这实际上是让Skill同时具备了知识和工具两种属性。2.3 存放位置与优先级个人、项目和插件Claude Skills的安装位置决定了它的作用范围官方设计了三层结构位置路径作用范围个人级~/.claude/skills/当前用户所有会话项目级项目根目录/.claude/skills/当前项目插件级插件包内携带随插件启用而生效优先级上项目级会覆盖个人级同名Skill插件级需通过Claude Code插件机制管理。这个分层结构非常接近我们做后端开发时的全局配置 vs 环境变量的概念。我的习惯是方法论类技能放个人级跟随我跨项目使用跟特定项目强相关的规范类技能放项目级避免污染其他工程。如果团队用Git管理项目仓库项目级Skills文件天然可以进版本控制这比我之前用文档站维护prompt库的方式先进太多了。3. 从零构建一个可用的Skills全套实操3.1 选型思路第一个Skill别太贪很多新手一上来就想做一个超级全能的技能包试图把前端、后端、数据库、DevOps全部塞进一个Skill里。这是最容易踩的坑。我建议第一个Skill选一个单点、重复、有明确规则的场景。我自己教团队时最常举的例子是为前端项目生成组件结构图。这个任务听起来小但它至少包含规则解析读目录结构、知识应用判断组件间依赖关系、格式化输出生成结构图文本三个能力层次练一遍下来你对Skill的理解就完整了。做之前先在纸上回答三个问题触发场景是什么用户在什么语境下会用到这个技能比如用户要求查看项目结构。执行步骤是什么把你拿到任务后依次做什么列成4到6个步骤。输出格式是什么期望的最终产物是什么样的表格树状图报告3.2 手把手编写一个结构图生成Skill我以一个实际的项目结构图生成Skill为例完整演示一下搭建过程。第一步创建目录mkdir -p ~/.claude/skills/project-structure-diagram/{scripts,assets}第二步编写SKILL.md--- name: project-structure-diagram description: 生成前端项目目录结构图。当用户想了解项目结构、要求输出目录树、或在阅读不熟悉的代码仓库时使用。 --- # 项目结构图生成技能 你是一个前端工程架构专家擅长用清晰的树状图展示项目结构并识别典型的前端工程模式。 ## 执行流程 1. 使用 find 或 tree 命令扫描项目根目录排除 node_modules、.git、dist、build 等目录。 2. 根据目录和文件命名规则分析项目的架构分层如基于Vue的 views/components/store/api/utils 分层或基于React的 pages/components/hooks/services 分层。 3. 生成结构树并在每个核心目录后标注其职责。 4. 如果发现异常结构如业务逻辑散落在组件内、缺少统一API管理在树下方列出架构建议。 ## 输出格式 - 结构树使用标准目录树语法 - 核心模块用 【】 标记 - 结构问题和建议独立成节第三步写一个辅助脚本让Claude能快速扫描目录#!/usr/bin/env python3 # scripts/scan_tree.py import os, sys def scan(path, prefix, ignoreNone): ignore ignore or {node_modules, .git, dist, build, .DS_Store} entries sorted([e for e in os.listdir(path) if e not in ignore]) for i, entry in enumerate(entries): is_last i len(entries) - 1 full os.path.join(path, entry) print(f{prefix}{└── if is_last else ├── }{entry}) if os.path.isdir(full): scan(full, prefix ( if is_last else │ ), ignore) if __name__ __main__: scan(sys.argv[1] if len(sys.argv) 1 else .)第四步把脚本路径写进SKILL.md的正文让Claude知道扫描工作交给脚本做自己专注分析。3.3 决定成败的description写法我调试Skills时花时间最多的不是正文内容而是description字段。写得太空会导致该触发时不触发写得太死又会误触发。总结几条实战经验用When用户想...句式描述用户意图比用于...更符合Claude对用户意图的匹配逻辑。给出2到3个具体场景变体。比如当用户想了解项目结构、要求输出目录树、或在阅读不熟悉的代码仓库时把三种说法都写进去召回率明显提升。描述里要包含领域关键词。做前端结构图技能就写前端项目Vue/React目录树这类词Claude的语义匹配会准得多。避免和已有技能描述重叠。如果两个技能都是分析代码Claude会随机选一个这是多技能管理中最需要规避的问题。我还试过给团队里负责销售的朋友写客户跟进Skilldescription里放了大量销售场景的行业术语。实测下来在Claude Desktop里直接说帮我看看这个客户还有哪些关键人没覆盖就能精准触发这比让AI自己理解上下文要可靠得多。3.4 迭代验证一次技能的试用装思维Skill写完只是第一步真正有价值的动作是持续验证和修订。我建议每次用完一个Skill后做一个简单复盘这次任务里Claude有没有正确触发技能有没有漏掉执行流程中的某一步输出格式是否符合预期把问题记在SKILL.md的已知问题章节里下次使用时Claude会自动对照修正。一个Skill至少要经历三轮迭代才能稳定第1轮验证触发是否精准描述是否需要调整。第2轮验证执行流程是否顺畅步骤之间的衔接、脚本调用是否稳定。第3轮验证输出质量把正文里的质量标准不断细化直到输出的东西达到你满意的水平。4. Skills的安装、分发与团队协作4.1 走进实战安装与作用范围管理在Claude Code里技能安装路径目前分三种我上面提过个人级、项目级和插件级。实操时最常用的是前两个。个人级安装# 把某个Skill目录拷贝到个人技能目录 cp -r ~/myskills/frontend-review ~/.claude/skills/ # 或者直接在个人技能目录里初始化 cd ~/.claude/skills/ git clone https://github.com/某团队/awesome-skills.git frontend-review项目级安装更简单——直接在你项目根目录下建.claude/skills目录把Skill放进去即可。好处是随项目走换台电脑克隆仓库就自带全部技能。对于做智能体应用开发的团队这套机制完全可以当企业级Prompt资产库来用。4.2 分发经验如何做出团队爱用的Skills包个人玩具和团队资产之间隔着一道可维护性的鸿沟。我在团队内部推Skills时做了几个约定一是约定命名规范。所有Skill名统一用领域-动作结构比如frontend-review、docs-translate、># 查看npm全局根路径 npm config get prefix # 得到路径后将 \bin 或 全局node_modules\.bin 加入系统PATHmacOS/Linux则检查~/.zshrc或~/.bashrc里是否包含export PATH$PATH:$(npm config get prefix)/bin加上后重新加载配置。问题二Windows提示virtual machine platform未启用Claude Code在Windows上依赖WSL2而WSL2需要虚拟机平台功能。按下WinR输入optionalfeatures在弹出的窗口里勾选虚拟机平台和适用于Linux的Windows子系统重启后执行wsl --set-version确保WSL2内核就绪。这个配置看起来跟Skills八竿子打不着但它卡了我整整一个下午值得提前排掉。4.4 多环境切换的坑我在一台主力开发机、一台笔记本和一台云服务器上都装了Claude Code最开始Skills版本经常不一致——本地调试好的技能到服务器上一跑就行为异常排查半天发现是两边技能库版本对不上。后来我把所有个人Skills统一建了Git仓库服务器上做一次git pull就同步完成。如果团队协作更建议直接用公司源管理私有Skills包避免公共源的版本漂移问题。Skills本质是代码资产就该用代码资产的严肃性去管理。5. 进阶玩法多Skill协同与复杂工作流5.1 把多个Skill串联成流水线单个Skill解决单点问题真正的价值增量在于让Claude在一个长任务里切换不同技能。我目前做内部工具站性能优化时就同时依赖四个Skillstructure-diagram先梳理项目结构frontend-review审查关键组件代码css-optimizer定位样式冗余weekly-report最终输出优化报告关键点是这四个技能的description要写得边界清晰不能互相覆盖。比如structure-diagram的触发条件是想看整体结构、项目陌生css-optimizer的触发条件是样式性能、CSS体积、渲染变慢。Claude会在对话推进过程中根据上下文自动调度像一位资深工程师在不同工具间切换。如果你用的是Dify或Coze这类智能体平台也可以借鉴这个思路把每个Skill当做一个子Agent在主Agent的意图识别节点上挂载不同的技能触发词实现多级编排。Claude Code原生的Skills让你先在小范围低成本试通流程再迁移到平台化架构时踩坑成本会小很多。5.2 用Skills封装领域方法论除了技术任务Skills更大的想象力在于沉淀非显性知识。我给一家做外贸的朋友写过一个客户询盘分析Skill把外贸行业判断询盘质量的几十条经验写了进去有没有明确产品规格、是否提及目标市场、采购量级词汇、决策链角色暗示……这套经验平时藏在他脑子里现在变成了可复用的AI能力。这种应用给我很大启发Skills的本质是把老师傅脑子里的方法论变成组织可复制的AI行为规范。不管你是销售、设计师、审计师还是猎头只要你有一套经常重复的思维框架就有机会做成Skill让AI替你执行。我甚至见过有律所把合同审查SOP封装成Skill的案例审核前置条件、重点条款标注方式、风险等级判断逻辑全写进去效率和一致性比纯人工高不少。5.3 拥抱社区生态别重复造轮子现在网上已经有大量现成的Skills资源热门的有superpower skills一套涵盖几十种能力的技能包、各类codex skills、前端开发skills、图片生成skills等。工具型Skill建议优先用社区成熟方案结合自己的场景做微调。但有两个提醒一是不要无脑装整合包。superpower skills这类大包很多能力是重叠甚至冲突的。装太多Skill会稀释Claude触发时的判断准确率因为候选变多了误选率也会上升。我建议一种能力只保留一个来源装完先删掉明显用不到的。二是注意脚本安全。Skill自带脚本会以你的用户权限运行安装来历不明的Skill前务必读一下scripts/里的代码别给恶意脚本留机会。这一点和安装第三方开源依赖同理。6. 踩坑清单与个人经验总结6.1 最常见的五个坑我把这两个月带团队用Skills踩过的坑集中梳理一遍第一个坑description写得太端着。很多人写description像写产品说明书——本技能提供前端代码审查能力。Claude不是通过读文档来理解功能而是通过语义匹配用户当前意图。改成当用户想检查前端代码质量、希望找出潜在Bug或结构问题时使用这种表述触发率高得多。第二个坑SKILL.md正文冗长无结构。有些同事把几十年的经验全塞进一个文件洋洋洒洒上万字。模型处理长文档时对中后段内容的注意力会下降。正确做法是把细节知识拆进assets/references/SKILL.md只保留步骤骨架和执行清单。第三个坑忽略脚本运行环境。Skill里的Python脚本可能在特定目录下跑不通因为工作目录不是脚本所在目录。我踩过一次后现在所有脚本都用os.path.dirname(__file__)来定位资源路径彻底解决换目录就崩的问题。第四个坑多Skill描述重叠导致误触发。当两个技能的description都包含代码质量时Claude可能随机选择一个执行。解法是给每个Skill划定清晰边界词甚至可以在描述里写上若用户只是泛泛提问XX优先考虑另一技能来主动让位。第五个坑Windows环境解不好。前面提过的PATH问题和虚拟机平台问题是新手从零接触Claude Code时最常卡住的地方。建议先按官方文档逐项检查WSL、Node环境、PATH三件套再装Skills否则装好技能也可能跑不起来。6.2 我实际使用中的几点体会到收尾这里不打算给什么万能结论就聊几句实操中的感受。Skills这套机制真正打动我的地方是它让AI能力建设从纯Prompt工程往工程化迈了一大步。以前我们维护prompt库本质是在文本仓库里维护一堆没有结构、没有版本、没有触发逻辑的字符串现在用Skills有了文件结构、元数据、脚本依赖、分层安装路径这跟组织代码库的体验越来越接近了。无论你是用Claude的原生态还是借鉴它的思想去改造Dify、Coze上的智能体应用这套技能即资产的思路都值得好好消化。如果你现在只打算做一件事我建议是把你本周重复做过三次以上的某个任务认认真真做成一个Skill。哪怕最开始只是把提示词搬进SKILL.md哪怕执行得还不完美——一旦迈出这一步你就不再是让AI帮忙干活而是为AI配置干活的能力。这两种角色体验完全不一样。