即墨开展平台业务培训 推进教师管理数字化
2026-06-15
2026-06-19 0
大家好,我是伍肆。之前讲了Claude Code Skill的基础知识和案例,初步介绍了用Skill提高开发效率的方法。

今天继续讲Skill体系,从内容性质维度划分,Skill可分为两大类型:参考型和任务型,这两类定位互补,适配不同的AI开发落地场景。
而其中任务型Skill是提效幅度最大、最适配团队工程化的核心能力。
本文会讲到任务型Skill的基础知识,实操,以及如何将实际任务拆解为Skill,最后分享一些踩坑的经验。
任务型Skill是将一套可复用、标准化、步骤固定的开发工作流封装为结构化的文件,触发后驱动Claude Code严格按照预设步骤、约束、规范完成完整专项任务。
简单来说,任务型Skill负责教会AI“怎么做”。
它和一次性提示词、临时指令有着本质区别:提示词单次生效、对话结束即失效,而Skill是项目级持久化配置,支持长期复用、自动触发、迭代优化,是真正适配工程化落地的核心能力。
Claude Code的任务型能力分为两种官方载体,分别适配自动化场景和精准手动场景:
.claude/skills/技能名/SKILL.md,无需手动调用,由模型自动触发。.claude/commands/命令名.md,用户输入 /命令名 主动调用,触发完全可控。标准Skill文件分为固定两段结构:头部YAML元数据 + 正文执行流程。元数据决定触发规则,正文定义执行步骤。
标准Skill极简示例(数仓SQL生成场景):
---
name: gen-ads-sql
description: 生成数仓ADS层指标加工SQL,仅新建/修改ClickHouse指标脚本场景触发,普通查询不执行
---
# ADS指标SQL生成流程
1. 核对目标表结构、维度、指标字段,信息缺失主动询问
2. 所有金额字段强制转换为double类型
3. 套用统一注释模板,完成后自检输出规范
这是Skill区别于CLAUDE.md的关键,解决了上下文溢出、Token爆炸的问题。
CLAUDE.md的特点是全文永久常驻上下文,无论是否用到,每一轮对话都会完整加载全文,低频长规范会持续消耗大量Token,挤占模型推理空间。
而任务型Skill采用三层按需加载,闲置时几乎零开销:
SKILL.md完整步骤,仅触发时载入,执行结束自动释放。总结下来,Skill平时只有“目录”常驻上下文,当需要用到该Skill时,才会加载对应的“正文和资源”,这解决大篇幅规范的Token冗余问题,不需要将一大堆规范描述常驻到上下文。
Skill唯一常驻消耗:所有文件的name+description文本总和。正文、物料均按需加载,无闲置开销。
原则:
任务型Skill 和 参考型Skill的区别还是挺大的,二者是互补关系,绝非对立:
| 维度 | 任务型 skill | 参考型 skill |
|---|---|---|
| 本质 | 执行流程(动词) | 提供知识(名词) |
| 回答 | "怎么做 X" | "关于 X 要知道什么" |
| 触发后 | 驱动 Claude 走一套步骤 | 注入背景供 Claude 参考 |
| 典型内容 | 发版流程、生成脚本、代码评审清单 | 编码规范、指标口径、架构说明 |
| 结果 | 产出一个动作/交付物 | 影响判断/风格 |
| 类比 | 操作手册、施工流程、菜谱 | 字典、规范文档 |
可右滑
一般的配合流程是这样的,使用任务型Skill执行到某步时,引用参考型Skill的规范。例如生成 SQL(任务型)时,查阅字段类型规范(参考型)。
这种配合流程几乎可以应用各种实际业务中,当你要完成一件事时,将它拆成多个步骤,整个流程固化成一个任务Skill。
每个实际操作要符合的规范整合成参考型Skill,这样其他地方如果也需要用到这个参考型Skill,直接引用,从而实现单点维护,提高Skill的复用性。
如何判断Skill是哪种类型的?
如果有些Skill既能产出,又能提供参考知识,规范,那么就需要对这个Skill做拆分,流程做任务型,规范做参考型,任务内引用规范。
Skill的存放路径直接决定生效范围和共享属性,和CLAUDE.md权限规则完全统一,是团队落地的基础规范:
.claude/skills/、.claude/commands/,纳入Git版本管理,当前项目所有成员通用,用于团队标准化流程。~/.claude/skills/、~/.claude/commands/,不提交Git,仅本机所有项目生效,用于个人自定义操作习惯。Agent自动触发Skill
模型根据Skill的description描述自动匹配场景、主动触发,全程无感知自动化执行,适配高频通用场景。
自动触发的准确率100%由描述决定,有一定概率不触发,必须写明「使用场景+禁用场景」。
优质描述:生成数仓ADS层营收累计指标SQL,仅新建/修改指标脚本触发,普通查询、离线统计不触发。
劣质描述:生成SQL、处理数据、编写代码。(这种描述很模糊,极易乱触发或不触发)
手动自定义命令
用户输入 /命令名 主动调用,100%确定性触发,完全由人工掌控,无概率性问题,适合精准定向的核心任务。
传参机制主要适配手动自定义命令,就像我们平时执行python脚本也可以传参一样。
~/: python my_script.py --args1 1 --args2 2
这种解决在固定流程的同时使用动态变量的问题,配套完善容错逻辑,减少参数报错。
三大核心占位符:
$ARGUMENTS:接收用户传入的全部完整参数$1、$2...$9:按空格分割的第N个位置参数${2:-默认值}:参数缺失时的兜底默认值标准带参完整示例:
---
description: 生成指定数据表ADS层指标加工SQL
argument-hint: <目标表名> [统计起始日期]
---
为数据表 $1 生成指标加工SQL,统计起始日期默认取值 ${2:-2023-01-01}。
若未传入目标表名$1,停止执行并向用户询问,禁止自行虚构表名称。
参数会影响到实际操作的结果,因此需要非常重视传入参数的规范:
如果核心必填参数缺失,必须强制反问用户,禁止自动填充;
可选参数统一配置默认兜底值,保证缺参不报错;
头部添加argument-hint,标注参数格式,降低使用门槛;
含空格、中文的参数,支持英文双引号包裹解析。
在实际工作中,我们可以尝试将一些特定场景下的任务封装成Skill。
步骤1:筛选高频可固化任务
筛选标准:每周手动执行3次以上、流程固定、无大幅变动的重复性工作。例如建表、SQL生成、代码评审、Git提交、上线自检。一次性、多变的临时任务无需封装,自然语言指令效率更高。
步骤2:拆解线性标准化步骤
将隐性的实操经验,拆解为有顺序、具体的执行步骤。优先梳理主干流程,之后再看情况补充异常兜底分支。
错误写法:保证代码规范整洁、格式统一
标准写法:校验所有金额字段强制转为double类型、禁止直写分布式汇总表、必须携带标准注释头
步骤3:拆分规范,独立参考型Skill
将流程中的固定规则、业务口径、编码规范单独抽离为参考型Skill,任务型流程通过@引用调用,从而实现规范单点维护、全局同步更新,无需逐个修改Skill。
步骤4:设计参数与异常容错逻辑
梳理流程可变变量,定义动态入参,非核心参数配置默认兜底值。同时完善异常分支:参数缺失、校验失败、路径错误时,终止流程并输出问题清单,禁止盲目执行。
需要特别注意,任何可能发生意外的分支都要停止执行并向用户询问,避免模型自动联想。
步骤5:多轮场景迭代验证
新Skill上线前,至少实跑几次真实业务场景,主要验证触发是否精准、步骤是否完整、异常容错能否覆盖到,根据实际问题不断迭代优化Skill。
案例:标准化Git提交Skill
---
name: git-standard-commit
description: 代码修改完成后自动执行规范提交,统一Git注释格式,拦截明文密钥上传
allowed-tools: Read, Bash, Git
---
# 标准化Git提交执行流程
1. 入参$1为提交注释,遵循feat/fix/docs约定式提交,无注释则主动询问用户
2. 执行eslint全量代码规范校验,记录不规范代码清单
3. 全局扫描项目明文密钥、数据库密码,检测到立即终止流程并输出文件路径
4. 执行git add收录全部变更文件
5. 按传入注释完成git commit提交
6. 输出校验结果、变更清单、提交完成状态
结合实际的落地踩坑经验,整理了一些Skill避坑清单。
任务型Skill依托渐进式分层加载的底层机制,通过元数据常驻、流程与物料按需加载的模式,解决了上下文溢出、模型注意力稀释、规范失效等长期痛点,让Claude Code更加稳定、低消耗。
从个人角度上看,可以把代码评审、规范提交、脚本校验等高频重复工作尽数固化,从而解放研发精力。
这样我们就可以将关注点放在更重要的地方。
在工作中,任务型Skill更多强调的是“整合”,它可以调用一切能调用的东西,包括参考型Skill,尽全力做好一件事,一个事项,一件任务,最终交付业务。
而这一切的一切,都源于我们能够发现工作中那一个能够被具体拆解的工作流程。
如果本文对你有帮助的话,别忘记点赞、在看、转发!也欢迎在评论区交流~
关注【伍肆聊AI】,持续更新Claude Code教程、实战模板、避坑干货。