很多开发者在用Claude Code时,都会陷入一个简单的认知误区:Skill只是打包整理后的Markdown提示词,把业务规则直接写进System Prompt和搭建Skill没有本质区别。
实际落地多套业务技能后就能发现,一次性把几十份领域手册全部灌入上下文,会快速消耗token额度,大量无关文本稀释有效信息,模型经常忽略关键业务规范。
Anthropic推出Skill体系真正的核心创新是渐进式分层加载,一套完整的上下文懒加载调度方案。
让我们抛开表层使用方法,拆解底层架构设计、分层机制、工程落地价值~
一、Skill基础结构:不只是纯文本,模块化业务资源包
Skill并不是一段简单文字,而是标准化目录资源包,所有配置、流程、工具脚本集中收纳,统一给Agent提供领域业务能力。
1. 标准目录模板
pdf-handle/
├── SKILL.md # 核心主配置文件(必填)
├── reference.md # 复杂业务补充说明
├── forms.md # 专项表单处理规范
└── scripts/ # 可执行业务脚本
└── fill_form.py
整个资源包无编译、无额外依赖,纯可读文本文件,开箱即用。
2. SKILL.md头部元数据(frontmatter)
文件最顶部用—包裹基础信息,是分层加载的核心索引,两个必填字段:
—
name: pdf-handle
description: 处理PDF读取、合并、表单填充,用户提及PDF相关操作时自动调用
—
# PDF处理完整流程
…
- name:对应斜杠命令/pdf-handle,唯一标识技能;
- description:技能用途描述,是模型匹配任务的核心依据;
配套可选控制字段:allowed-tools限制可用工具、disable-model-invocation禁止AI自主调用。
通俗类比
Skill就像给新员工发放专属业务操作手册,不会修改员工本身的认知能力,只是把行业流程、操作规范整理成册。而直接塞入System Prompt,等同于把公司所有规章制度一次性全塞给员工,信息繁杂很难精准找到对应规则。
3. 5分钟搭建极简Skill示例
以代码评审规范为例,快速构建团队统一检查技能:
—
name: code-lint
description: 代码规范评审,用户要求检查代码质量、规范时启用
—
# 代码检查清单
1. 变量必须具备业务语义,禁止a、tmp等无意义命名
2. 魔法数字统一提取为常量
3. 捕获异常必须打印日志,禁止静默吞异常
保存后无需重启、编译,可直接通过/code-lint手动调用,AI识别代码评审需求也会自动启用。
二、核心底层:渐进式披露三层懒加载机制
这是Skill和普通提示词最本质的分界线,整套设计只为解决「多技能同时常驻,上下文超限」的痛点。
第一层:常驻轻量化索引(全程占用上下文)
Agent启动扫描全部Skill目录,仅提取每个技能的name+精简描述,生成极简清单存入系统上下文。
源码硬性约束
- 整套技能索引总token仅分配窗口1%额度;
- 单条描述最大字符限制250,超出自动截断;
- 官方内置Skill描述永久完整,第三方技能描述额度不足时优先删减。
示例常驻清单:
– code-lint:代码规范评审,用户要求检查代码质量、规范时启用
– pdf-handle:处理PDF读取、合并、表单填充
– commit-gen:根据代码变更生成规范提交注释
全程只保留索引,几千字的业务手册正文完全不占用常驻空间。
第二层:任务匹配后载入完整SKILL.md
当AI识别当前任务和某条Skill描述匹配,会自动读取完整主文件内容,以元用户消息的形式插入本轮对话,不会修改全局System Prompt。
关键工程优势:不改动系统提示词,不会破坏缓存机制,避免每轮重新计费。
这条消息在终端界面不会展示给使用者,但模型能完整读取全部业务流程。
第三层:按需调取附属资源
SKILL.md正文只会写指引语句,复杂补充文档、脚本不会同步载入。只有流程走到对应环节,Agent才会读取reference.md、脚本文件,用完不会长期驻留上下文。
收益直观对比
假设项目内置50套业务技能,每套手册平均3000token:
- 全量塞入System Prompt:总计150000token,直接占满200K窗口大部分空间;
- 分层渐进加载:常驻索引仅2000token,仅当前用到的单套手册临时载入,token占用降低98%。
#mermaid-svg-ucuSAtJQtFPCahOQ{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-ucuSAtJQtFPCahOQ .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-ucuSAtJQtFPCahOQ .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-ucuSAtJQtFPCahOQ .error-icon{fill:#552222;}#mermaid-svg-ucuSAtJQtFPCahOQ .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-ucuSAtJQtFPCahOQ .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-ucuSAtJQtFPCahOQ .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-ucuSAtJQtFPCahOQ .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-ucuSAtJQtFPCahOQ .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-ucuSAtJQtFPCahOQ .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-ucuSAtJQtFPCahOQ .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-ucuSAtJQtFPCahOQ .marker{fill:#333333;stroke:#333333;}#mermaid-svg-ucuSAtJQtFPCahOQ .marker.cross{stroke:#333333;}#mermaid-svg-ucuSAtJQtFPCahOQ svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-ucuSAtJQtFPCahOQ p{margin:0;}#mermaid-svg-ucuSAtJQtFPCahOQ .label{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-ucuSAtJQtFPCahOQ .cluster-label text{fill:#333;}#mermaid-svg-ucuSAtJQtFPCahOQ .cluster-label span{color:#333;}#mermaid-svg-ucuSAtJQtFPCahOQ .cluster-label span p{background-color:transparent;}#mermaid-svg-ucuSAtJQtFPCahOQ .label text,#mermaid-svg-ucuSAtJQtFPCahOQ span{fill:#333;color:#333;}#mermaid-svg-ucuSAtJQtFPCahOQ .node rect,#mermaid-svg-ucuSAtJQtFPCahOQ .node circle,#mermaid-svg-ucuSAtJQtFPCahOQ .node ellipse,#mermaid-svg-ucuSAtJQtFPCahOQ .node polygon,#mermaid-svg-ucuSAtJQtFPCahOQ .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-ucuSAtJQtFPCahOQ .rough-node .label text,#mermaid-svg-ucuSAtJQtFPCahOQ .node .label text,#mermaid-svg-ucuSAtJQtFPCahOQ .image-shape .label,#mermaid-svg-ucuSAtJQtFPCahOQ .icon-shape .label{text-anchor:middle;}#mermaid-svg-ucuSAtJQtFPCahOQ .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-ucuSAtJQtFPCahOQ .rough-node .label,#mermaid-svg-ucuSAtJQtFPCahOQ .node .label,#mermaid-svg-ucuSAtJQtFPCahOQ .image-shape .label,#mermaid-svg-ucuSAtJQtFPCahOQ .icon-shape .label{text-align:center;}#mermaid-svg-ucuSAtJQtFPCahOQ .node.clickable{cursor:pointer;}#mermaid-svg-ucuSAtJQtFPCahOQ .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-ucuSAtJQtFPCahOQ .arrowheadPath{fill:#333333;}#mermaid-svg-ucuSAtJQtFPCahOQ .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-ucuSAtJQtFPCahOQ .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-ucuSAtJQtFPCahOQ .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-ucuSAtJQtFPCahOQ .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-ucuSAtJQtFPCahOQ .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-ucuSAtJQtFPCahOQ .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-ucuSAtJQtFPCahOQ .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-ucuSAtJQtFPCahOQ .cluster text{fill:#333;}#mermaid-svg-ucuSAtJQtFPCahOQ .cluster span{color:#333;}#mermaid-svg-ucuSAtJQtFPCahOQ div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-ucuSAtJQtFPCahOQ .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-ucuSAtJQtFPCahOQ rect.text{fill:none;stroke-width:0;}#mermaid-svg-ucuSAtJQtFPCahOQ .icon-shape,#mermaid-svg-ucuSAtJQtFPCahOQ .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-ucuSAtJQtFPCahOQ .icon-shape p,#mermaid-svg-ucuSAtJQtFPCahOQ .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-ucuSAtJQtFPCahOQ .icon-shape .label rect,#mermaid-svg-ucuSAtJQtFPCahOQ .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-ucuSAtJQtFPCahOQ .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-ucuSAtJQtFPCahOQ .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-ucuSAtJQtFPCahOQ :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}
是
否
Agent 启动扫描所有 Skill 目录
提取每个 Skill 的 name + 精简描述
生成常驻轻量索引(第一层)
用户输入任务需求
模型依据索引描述判断匹配
匹配成功?
以元用户消息载入完整 SKILL.md(第二层)
业务执行中按需调取 reference.md / 脚本(第三层)
结束
三、技能自动匹配:不靠向量检索,依托原生文本理解
很多人会猜测,系统会用Embedding做相似度检索匹配技能,实际Claude Code底层完全没有这套逻辑。
完整匹配流程
#mermaid-svg-xPDlLwBH5P4q1kKQ{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-xPDlLwBH5P4q1kKQ .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-xPDlLwBH5P4q1kKQ .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-xPDlLwBH5P4q1kKQ .error-icon{fill:#552222;}#mermaid-svg-xPDlLwBH5P4q1kKQ .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-xPDlLwBH5P4q1kKQ .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-xPDlLwBH5P4q1kKQ .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-xPDlLwBH5P4q1kKQ .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-xPDlLwBH5P4q1kKQ .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-xPDlLwBH5P4q1kKQ .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-xPDlLwBH5P4q1kKQ .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-xPDlLwBH5P4q1kKQ .marker{fill:#333333;stroke:#333333;}#mermaid-svg-xPDlLwBH5P4q1kKQ .marker.cross{stroke:#333333;}#mermaid-svg-xPDlLwBH5P4q1kKQ svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-xPDlLwBH5P4q1kKQ p{margin:0;}#mermaid-svg-xPDlLwBH5P4q1kKQ .label{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-xPDlLwBH5P4q1kKQ .cluster-label text{fill:#333;}#mermaid-svg-xPDlLwBH5P4q1kKQ .cluster-label span{color:#333;}#mermaid-svg-xPDlLwBH5P4q1kKQ .cluster-label span p{background-color:transparent;}#mermaid-svg-xPDlLwBH5P4q1kKQ .label text,#mermaid-svg-xPDlLwBH5P4q1kKQ span{fill:#333;color:#333;}#mermaid-svg-xPDlLwBH5P4q1kKQ .node rect,#mermaid-svg-xPDlLwBH5P4q1kKQ .node circle,#mermaid-svg-xPDlLwBH5P4q1kKQ .node ellipse,#mermaid-svg-xPDlLwBH5P4q1kKQ .node polygon,#mermaid-svg-xPDlLwBH5P4q1kKQ .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-xPDlLwBH5P4q1kKQ .rough-node .label text,#mermaid-svg-xPDlLwBH5P4q1kKQ .node .label text,#mermaid-svg-xPDlLwBH5P4q1kKQ .image-shape .label,#mermaid-svg-xPDlLwBH5P4q1kKQ .icon-shape .label{text-anchor:middle;}#mermaid-svg-xPDlLwBH5P4q1kKQ .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-xPDlLwBH5P4q1kKQ .rough-node .label,#mermaid-svg-xPDlLwBH5P4q1kKQ .node .label,#mermaid-svg-xPDlLwBH5P4q1kKQ .image-shape .label,#mermaid-svg-xPDlLwBH5P4q1kKQ .icon-shape .label{text-align:center;}#mermaid-svg-xPDlLwBH5P4q1kKQ .node.clickable{cursor:pointer;}#mermaid-svg-xPDlLwBH5P4q1kKQ .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-xPDlLwBH5P4q1kKQ .arrowheadPath{fill:#333333;}#mermaid-svg-xPDlLwBH5P4q1kKQ .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-xPDlLwBH5P4q1kKQ .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-xPDlLwBH5P4q1kKQ .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-xPDlLwBH5P4q1kKQ .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-xPDlLwBH5P4q1kKQ .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-xPDlLwBH5P4q1kKQ .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-xPDlLwBH5P4q1kKQ .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-xPDlLwBH5P4q1kKQ .cluster text{fill:#333;}#mermaid-svg-xPDlLwBH5P4q1kKQ .cluster span{color:#333;}#mermaid-svg-xPDlLwBH5P4q1kKQ div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-xPDlLwBH5P4q1kKQ .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-xPDlLwBH5P4q1kKQ rect.text{fill:none;stroke-width:0;}#mermaid-svg-xPDlLwBH5P4q1kKQ .icon-shape,#mermaid-svg-xPDlLwBH5P4q1kKQ .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-xPDlLwBH5P4q1kKQ .icon-shape p,#mermaid-svg-xPDlLwBH5P4q1kKQ .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-xPDlLwBH5P4q1kKQ .icon-shape .label rect,#mermaid-svg-xPDlLwBH5P4q1kKQ .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-xPDlLwBH5P4q1kKQ .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-xPDlLwBH5P4q1kKQ .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-xPDlLwBH5P4q1kKQ :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}
是
否
每一轮对话携带完整技能索引清单
读取用户当前需求与所有技能描述
依靠原生文本理解进行匹配判断
匹配成功?
必须调用对应 Skill,禁止跳过直接生成答案
返回通用回答
优缺点
✅ 优势:无需额外向量库、检索服务,降低系统维护复杂度,适配中小型技能库;
❌ 短板:项目内置上百套技能时,清单描述被大幅截断,匹配准确率会明显下滑。
四、斜杠命令和Skill底层为同一套体系
日常使用的/commit、/code-lint斜杠命令,并不是独立功能,和Skill共用同一套Command底层数据结构。
双调用入口设计
两大权限控制开关(写在SKILL头部元数据)
禁止AI自动调用,仅支持人工斜杠触发,适合上线发布、数据删除等高风险操作,避免模型自主执行高危动作。
隐藏斜杠调用入口,使用者无法手动输入,仅作为后台知识库供AI读取,适合项目底层数据表、配置说明类技能。
五、两大动态扩展能力:参数插值+本地脚本执行
Skill不只是静态文字,支持动态内容注入,适配多变业务场景。
1. 参数占位符 $ARGUMENTS
斜杠调用时追加的参数,会自动填充进文档内$ARGUMENTS占位位置。
示例调用:/code-lint UserService.java
文档内待检测文件:$ARGUMENTS会自动替换为目标文件路径,省去手动复制文件的操作。
2. 内嵌Shell脚本执行
本地存放的Skill目录,文档中可嵌入`cat xxx.py`这类脚本指令,调用时自动执行脚本,拉取实时数据再传入上下文。
安全隔离设计
来自MCP远程服务的Skill,会直接禁用脚本执行逻辑,防止第三方恶意资源读取本地文件、执行危险指令,仅本地项目、用户目录内技能开放脚本能力。
六、多渠道Skill加载与团队协作价值
Agent启动会扫描五大来源的Skill目录,按固定顺序加载,同名技能后加载版本不会覆盖前者:
#mermaid-svg-C4mabgEM45NnF1Nx{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-C4mabgEM45NnF1Nx .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-C4mabgEM45NnF1Nx .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-C4mabgEM45NnF1Nx .error-icon{fill:#552222;}#mermaid-svg-C4mabgEM45NnF1Nx .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-C4mabgEM45NnF1Nx .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-C4mabgEM45NnF1Nx .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-C4mabgEM45NnF1Nx .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-C4mabgEM45NnF1Nx .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-C4mabgEM45NnF1Nx .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-C4mabgEM45NnF1Nx .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-C4mabgEM45NnF1Nx .marker{fill:#333333;stroke:#333333;}#mermaid-svg-C4mabgEM45NnF1Nx .marker.cross{stroke:#333333;}#mermaid-svg-C4mabgEM45NnF1Nx svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-C4mabgEM45NnF1Nx p{margin:0;}#mermaid-svg-C4mabgEM45NnF1Nx .label{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-C4mabgEM45NnF1Nx .cluster-label text{fill:#333;}#mermaid-svg-C4mabgEM45NnF1Nx .cluster-label span{color:#333;}#mermaid-svg-C4mabgEM45NnF1Nx .cluster-label span p{background-color:transparent;}#mermaid-svg-C4mabgEM45NnF1Nx .label text,#mermaid-svg-C4mabgEM45NnF1Nx span{fill:#333;color:#333;}#mermaid-svg-C4mabgEM45NnF1Nx .node rect,#mermaid-svg-C4mabgEM45NnF1Nx .node circle,#mermaid-svg-C4mabgEM45NnF1Nx .node ellipse,#mermaid-svg-C4mabgEM45NnF1Nx .node polygon,#mermaid-svg-C4mabgEM45NnF1Nx .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-C4mabgEM45NnF1Nx .rough-node .label text,#mermaid-svg-C4mabgEM45NnF1Nx .node .label text,#mermaid-svg-C4mabgEM45NnF1Nx .image-shape .label,#mermaid-svg-C4mabgEM45NnF1Nx .icon-shape .label{text-anchor:middle;}#mermaid-svg-C4mabgEM45NnF1Nx .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-C4mabgEM45NnF1Nx .rough-node .label,#mermaid-svg-C4mabgEM45NnF1Nx .node .label,#mermaid-svg-C4mabgEM45NnF1Nx .image-shape .label,#mermaid-svg-C4mabgEM45NnF1Nx .icon-shape .label{text-align:center;}#mermaid-svg-C4mabgEM45NnF1Nx .node.clickable{cursor:pointer;}#mermaid-svg-C4mabgEM45NnF1Nx .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-C4mabgEM45NnF1Nx .arrowheadPath{fill:#333333;}#mermaid-svg-C4mabgEM45NnF1Nx .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-C4mabgEM45NnF1Nx .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-C4mabgEM45NnF1Nx .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-C4mabgEM45NnF1Nx .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-C4mabgEM45NnF1Nx .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-C4mabgEM45NnF1Nx .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-C4mabgEM45NnF1Nx .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-C4mabgEM45NnF1Nx .cluster text{fill:#333;}#mermaid-svg-C4mabgEM45NnF1Nx .cluster span{color:#333;}#mermaid-svg-C4mabgEM45NnF1Nx div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-C4mabgEM45NnF1Nx .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-C4mabgEM45NnF1Nx rect.text{fill:none;stroke-width:0;}#mermaid-svg-C4mabgEM45NnF1Nx .icon-shape,#mermaid-svg-C4mabgEM45NnF1Nx .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-C4mabgEM45NnF1Nx .icon-shape p,#mermaid-svg-C4mabgEM45NnF1Nx .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-C4mabgEM45NnF1Nx .icon-shape .label rect,#mermaid-svg-C4mabgEM45NnF1Nx .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-C4mabgEM45NnF1Nx .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-C4mabgEM45NnF1Nx .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-C4mabgEM45NnF1Nx :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}
Agent 启动
1. 官方内置
2. 用户全局目录 ~/.claude/skills/
3. 项目目录 .claude/skills/
4. 插件配套
5. MCP 远程服务
同名技能后加载不覆盖前者
团队工程优势
项目目录内Skill跟随Git仓库同步,新同事克隆代码后,自动获取全套评审、部署、报表生成规范,不用人工传递文档、反复复制提示词,沉淀可复用团队业务资产。
七、落地最优实践,三条写Skill核心准则
描述聚焦使用场景,严格控制250字符以内
不要堆砌功能介绍,优先写「用户什么场景会用到本技能」,提升AI自动匹配的准确率。
差示例:本工具支持多种代码检查功能;
优示例:用户要求评审代码、检查变量命名/异常处理规范时自动启用。
主文档轻量化,复杂细节拆分附属文件
SKILL.md只保留主干执行流程,表单、复杂计算、历史规则等长内容拆分到reference.md,减少第二层载入的token体积。
重复固定操作封装脚本
重复性文件读取、数据统计、格式转换直接写成脚本嵌入Skill,不用让AI每次重新推演步骤,大幅降低模型输出不稳定、逻辑出错概率。
八、高频认知误区澄清
误区1:Skill和System Prompt只是载体不同,效果一致
错误。全量提示词常驻会持续占用大量上下文,分层Skill仅临时载入所需内容,长期会话token成本、模型识别准确率差距极大。
误区2:内置技能数量越多,处理业务越精准
错误,技能清单描述会被强制截断,技能过多会导致匹配逻辑失效,无关技能还会干扰模型判断。
误区3:斜杠命令是独立功能,和Skill无关
错误,两者底层共用Command架构,斜杠只是面向使用者的手动调用入口,核心逻辑完全依托Skill资源包。
误区4:MCP远程Skill支持内嵌脚本执行
错误,出于安全隔离设计,所有远程加载的技能会屏蔽Shell执行能力,仅本地目录文件可运行脚本。
结尾总结
Skill的核心竞争力从来不是把提示词分文件夹存放,而是渐进式分层加载这套上下文懒加载调度体系。
它把常驻上下文占用压缩到极低水平,按需载入业务手册,解决多领域Agent长期会话上下文膨胀、信息稀释的核心痛点。
对于团队开发场景,项目目录托管Skill还能把零散业务规范沉淀进代码仓库,替代反复复制、版本散乱的长提示词。





