1. 核心定义
Claude Skills 是 Anthropic 为 Claude 推出的「模块化、可复用、可落地的能力扩展工具」,本质是用「YAML配置+Markdown流程+可选脚本」,将复杂操作、系统调用、业务流程封装成“能力包”,导入Claude后,通过自然语言触发,无需重复输入指令,支持联动外部工具、存量业务系统,实现“一次封装、终身复用”。
2. 核心价值(为什么要用)
- 高效复用:避免重复写复杂Prompt,一次封装,所有对话可触发
- 降低门槛:无需懂代码开发,复制模板修改即可,新手也能上手
- 功能扩展:联动存量业务系统、外部工具,让Claude适配实际工作流
- 稳定可控:流程化配置,输出结果更规范,避免Prompt触发偏差
3. 适用人群
开发者、运营、产品、行政等所有使用Claude的职场人,尤其适合需要高频处理标准化任务、联动业务系统的人群。
很多人混淆Claude Skills、传统Prompt、MCP(工具调用),用表格清晰对比,重点看“实操差异”,快速选对工具:
对比维度
Claude Skills
传统Prompt
MCP(工具调用)
核心本质
可复用的能力包(流程+配置+脚本)
单次性自然语言指令
外部工具/系统的接口调用
复用性
一次封装,全局复用、跨对话可用
单次有效,需重复复制输入
一次配置,全局调用(仅工具本身)
落地难度
低(复制模板修改,无需开发)
极低(直接输入指令)
中(需配置API、工具权限)
适用场景
高频标准化任务、业务系统联动、复杂流程执行
临时、简单、一次性任务
需要实时数据、外部系统交互的任务
核心优势
高效、稳定、可扩展,适配实际工作流
便捷、无需准备,快速测试
突破Claude自身限制,联动外部资源
一句话总结:传统Prompt解决“临时需求”,MCP解决“工具调用需求”,Claude Skills解决“高频、规范、可复用的实操需求”,三者可协同使用(Skills可调用MCP,内部可嵌入Prompt)。
本质:以SKILL.md为核心的“可复用能力包”,用自然语言+简单脚本,封装操作流程/系统调用,导入Claude即可触发,无需重复输入指令,支持联动外部工具、存量业务系统。
标准文件结构:
my-skill/ # 技能目录(与name一致,小写横杠) ├── SKILL.md # 必需:核心配置+流程(YAML+Markdown) ├── scripts/ # 可选:辅助脚本(Python/Bash,复杂操作用) └── references/ # 可选:参考文档(非必需,简化版可省略)
核心逻辑:YAML配置(触发+权限)+ Markdown流程(执行步骤+示例),无需复杂开发,复制模板修改即可。
所有案例均为完整可导入版本,打包成zip上传Claude即可启用,重点标注修改点(替换成自己的信息即可)。
案例1:基础款 - Git Commit规范生成(新手首选)
文件结构(极简,无需脚本)
git-commit-generator/ └── SKILL.md
SKILL.md(直接复制,无需修改)
--- name: git-commit-generator description: 生成符合Conventional Commits规范的Git提交信息,触发词:git提交、commit、代码变更、提交信息 version: 1.0.0 allowed-tools: [Read] # 仅读取用户输入,无需其他权限 --- # Git Commit规范生成技能 核心规则(必遵守) 1. 格式:
(
):
(#issue) 2. type仅限:feat(新功能)、fix(修复bug)、docs(文档)、style(格式)、refactor(重构)、test(测试)、chore(构建) 3. subject≤50字,动词开头,无句号 4. scope(可选):修改模块(如auth、api);issue(可选):关联需求ID 执行步骤 1. 解析用户提供的代码变更描述 2. 判定type和scope(无则省略) 3. 生成符合规范的commit信息 4. 输出最终结果(加粗显示) 示例(直接参考) 输入:修复登录接口bug,关联#123 输出:`fix(auth): 修复登录接口bug (#123)` 输入:添加用户注册功能 输出:`feat(user): 添加用户注册功能`
使用步骤
- 创建上述文件夹和文件,复制代码粘贴
- 打包为zip(文件夹名必须是git-commit-generator)
- Claude → 设置 → Skills → 上传zip,启用技能
- 对话输入触发词,如“帮我写commit:修复文档排版错误”,自动输出规范内容
案例2:进阶款 - 会议纪要→行动项提取(带脚本,更稳定)
文件结构
meeting-notes-extractor/ ├── SKILL.md └── scripts/ └── extract_action.py
SKILL.md(复制即改,标注处可微调)
--- name: meeting-notes-extractor description: 从会议文本中提取行动项、责任人、截止时间,触发词:会议纪要、行动项、待办提取、会议总结 version: 1.0.0 allowed-tools: [Read, Write, Bash] # 允许读取文件、执行脚本 --- # 会议纪要行动项提取技能 工作流程 1. 读取用户上传的会议文本(txt/docx均可) 2. 调用scripts/extract_action.py脚本,解析文本并结构化 3. 按表格格式输出行动项,补充3条以内核心会议结论 4. 若未识别到责任人/截止时间,标注“待补充” 输出固定格式 会议核心结论 - 结论1 - 结论2(无则省略) 待执行行动项 | 行动项 | 责任人 | 截止时间 | | :--- | :--- | :--- | | | | | 示例 输入:(上传会议文本)“今天讨论用户留存方案,A负责优化注册流程,3天内完成;B负责整理用户反馈,周五前提交;结论:优先推进注册流程优化” 输出: 会议核心结论 - 优先推进注册流程优化 待执行行动项 | 行动项 | 责任人 | 截止时间 | | :--- | :--- | :--- | | 优化注册流程 | A | 3天内 | | 整理用户反馈 | B | 周五前 |
scripts/extract_action.py(复制即能用,无需修改)
def extract_action_items(meeting_text): """提取行动项、责任人、截止时间""" import re action_items = [] # 匹配“责任人+行动项+截止时间”格式(可根据自己的会议习惯微调正则) patterns = [ r'([A-Za-z0-9一-龥]+)负责([^,。;!?]+),([^,。;!?]+内|周[一二三四五六日]前)', r'([A-Za-z0-9一-龥]+)牵头([^,。;!?]+),([^,。;!?]+内|周[一二三四五六日]前)', r'([A-Za-z0-9一-龥]+)跟进([^,。;!?]+),([^,。;!?]+内|周[一二三四五六日]前)' ] for pattern in patterns: matches = re.findall(pattern, meeting_text, re.DOTALL) for match in matches: person = match[0].strip() action = match[1].strip() deadline = match[2].strip() action_items.append({"行动项": action, "责任人": person, "截止时间": deadline}) # 提取核心结论(匹配“结论:”“重点:”开头的内容) conclusions = [] conclusion_patterns = [r'结论:([^,。;!?]+)', r'重点:([^,。;!?]+)'] for cp in conclusion_patterns: conc_matches = re.findall(cp, meeting_text) conclusions.extend([c.strip() for c in conc_matches]) # 控制结论不超过3条 conclusions = conclusions[:3] return {"action_items": action_items, "conclusions": conclusions} # 测试代码(可删除,不影响Skill运行) if __name__ == "__main__": test_text = "今天讨论用户留存方案,A负责优化注册流程,3天内完成;B负责整理用户反馈,周五前提交;结论:优先推进注册流程优化" result = extract_action_items(test_text) print("核心结论:", result["conclusions"]) print("行动项:", result["action_items"])
使用步骤
- 创建上述文件夹和两个文件,复制对应代码粘贴
- 打包为zip(文件夹名必须是meeting-notes-extractor)
- Claude → 设置 → Skills → 上传zip,启用技能
- 对话上传会议文本,输入触发词(如“提取会议行动项”),自动输出结构化结果
案例3:实战款 - 调用存量业务系统(CRM)实现自然语言问答(重点)
核心:通过Claude Skills联动企业存量CRM系统(以常见的简道云CRM为例,其他CRM可替换API),实现“自然语言提问→Skill调用API→返回结构化结果”,无需手动登录CRM,无需写代码,非技术人员也能落地。
前置准备(必做)
- 获取CRM系统API密钥(简道云:登录后台→设置→API接口→获取API Key和Secret)
- 确认CRM接口地址(简道云客户查询接口:https://api.jiandaoyun.com/api/v1/form/data/list)
- 记录CRM表单ID(查询客户信息的表单ID,简道云后台可查)
文件结构
crm-query-skill/ ├── SKILL.md └── scripts/ └── crm_api_call.py
SKILL.md(复制后,替换标注的API信息即可)
--- name: crm-query-skill description: 调用存量CRM系统,通过自然语言查询客户信息(姓名/手机号/公司),触发词:CRM查询、客户查询、查客户信息、CRM客户查询 version: 1.0.0 allowed-tools: [Read, Bash, Write] # 允许读取输入、执行脚本、输出结果 --- # 存量CRM系统自然语言查询技能 核心目的 通过自然语言提问,自动调用CRM系统API,查询客户基础信息(姓名、手机号、公司、跟进状态),无需手动登录CRM,快速获取结果。 前置配置(替换为自己的CRM信息) 1. CRM_API_KEY: 你的CRM API Key(简道云为例) 2. CRM_API_SECRET: 你的CRM API Secret 3. CRM_FORM_ID: 你的CRM客户表单ID 4. API_URL: 你的CRM查询接口地址(简道云:https://api.jiandaoyun.com/api/v1/form/data/list) 工作流程 1. 解析用户自然语言提问,提取查询关键词(客户姓名/手机号/公司名称) 2. 调用scripts/crm_api_call.py脚本,传入关键词和CRM配置信息 3. 脚本调用CRM API,获取客户信息并结构化 4. 按固定格式输出查询结果,若未查询到客户,提示“未找到该客户,请核对关键词” 输出固定格式 CRM客户查询结果 | 客户姓名 | 手机号 | 公司名称 | 跟进状态 | 跟进人 | | :--- | :--- | :--- | :--- | :--- | | | | | | | 备注 - 若部分字段为空,标注“未填写” - 可输入“查询客户XXX(姓名/手机号)”触发查询 示例 输入:查询客户张三的信息 输出: CRM客户查询结果 | 客户姓名 | 手机号 | 公司名称 | 跟进状态 | 跟进人 | | :--- | :--- | :--- | :--- | :--- | | 张三 | 138XXXX1234 | XX科技有限公司 | 已跟进,待签约 | 李四 | 输入:查询手机号139XXXX5678的客户 输出: CRM客户查询结果 | 客户姓名 | 手机号 | 公司名称 | 跟进状态 | 跟进人 | | :--- | :--- | :--- | :--- | :--- | | 王五 | 139XXXX5678 | XX贸易公司 | 新客户,未跟进 | 赵六 |
scripts/crm_api_call.py(复制后,替换标注的CRM信息即可)
import requests import hashlib import time def query_crm_customer(query_keyword): """ 调用CRM API查询客户信息 query_keyword: 查询关键词(姓名/手机号/公司名称) 返回:结构化客户信息列表 """ # 替换为自己的CRM配置(必改!) CRM_API_KEY = "你的CRM API Key" CRM_API_SECRET = "你的CRM API Secret" CRM_FORM_ID = "你的CRM客户表单ID" API_URL = "https://api.jiandaoyun.com/api/v1/form/data/list" # 简道云API签名生成(其他CRM可替换签名逻辑) timestamp = str(int(time.time() * 1000)) signature = hashlib.md5((CRM_API_KEY + timestamp + CRM_API_SECRET).encode("utf-8")).hexdigest() # 请求头 headers = { "Content-Type": "application/json", "ApiKey": CRM_API_KEY, "Timestamp": timestamp, "Signature": signature } # 请求参数(根据自己的CRM字段调整,简道云为例) payload = { "form_id": CRM_FORM_ID, "fields": ["客户姓名", "手机号", "公司名称", "跟进状态", "跟进人"], # CRM表单字段名,需与后台一致 "filter": { "rel": "or", "conds": [ {"field": "客户姓名", "type": "contain", "value": query_keyword}, {"field": "手机号", "type": "contain", "value": query_keyword}, {"field": "公司名称", "type": "contain", "value": query_keyword} ] }, "page_size": 10, # 最多返回10条结果 "page_index": 1 } try: # 调用CRM API response = requests.post(API_URL, json=payload, headers=headers) response.raise_for_status() data = response.json() # 解析返回结果,结构化客户信息 customer_list = [] if data.get("data") and data["data"]["items"]: for item in data["data"]["items"]: customer = customer_list.append(customer) return customer_list except Exception as e: return f"CRM查询失败:{str(e)}" # 测试代码(可删除,不影响Skill运行) if __name__ == "__main__": # 测试查询 result = query_crm_customer("张三") print("CRM查询结果:", result)
使用步骤
- 创建上述文件夹和两个文件,复制代码后,替换crm_api_call.py和SKILL.md中“你的CRM信息”(API Key、Secret等)
- 确认CRM表单字段名与脚本中“fields”列表一致(不一致会导致查询失败)
- 打包为zip(文件夹名必须是crm-query-skill)
- Claude → 设置 → Skills → 上传zip,启用技能
- 对话输入触发词+查询关键词,如“查询客户张三”“查手机号138XXXX1234的客户”,自动调用CRM并返回结构化结果
备注:其他CRM(如Salesforce、企业自建CRM),只需替换脚本中的API地址、请求参数和签名逻辑,SKILL.md流程无需修改,适配所有存量业务系统。
- 1. 文件夹名必须与SKILL.md中“name”一致(小写横杠),否则上传失败
- 2. allowed-tools权限按需添加,无需多余权限(如仅读取输入,只写[Read])
- 3. 脚本中涉及API、密钥等敏感信息,可单独保存,避免泄露
- 4. 若Skill触发失败,优先检查:触发词是否匹配、文件夹结构是否正确、脚本无语法错误
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/254715.html