三、Skills—— 模型能力的模块化专家技能,实现专业能力复用与扩展

张开发
2026/4/10 9:39:53 15 分钟阅读

分享文章

三、Skills—— 模型能力的模块化专家技能,实现专业能力复用与扩展
一、Claude Skills 介绍1. 核心定义Claude Skills 是 Anthropic 为 Claude 推出的「模块化、可复用、可落地的能力扩展工具」本质是用「YAML配置Markdown流程可选脚本」将复杂操作、系统调用、业务流程封装成“能力包”导入Claude后通过自然语言触发无需重复输入指令支持联动外部工具、存量业务系统实现“一次封装、终身复用”。2. 核心价值为什么要用高效复用避免重复写复杂Prompt一次封装所有对话可触发降低门槛无需懂代码开发复制模板修改即可新手也能上手功能扩展联动存量业务系统、外部工具让Claude适配实际工作流稳定可控流程化配置输出结果更规范避免Prompt触发偏差3. 适用人群开发者、运营、产品、行政等所有使用Claude的职场人尤其适合需要高频处理标准化任务、联动业务系统的人群。二、核心对比分析一眼看懂优势很多人混淆Claude Skills、传统Prompt、MCP工具调用用表格清晰对比重点看“实操差异”快速选对工具对比维度Claude Skills传统PromptMCP工具调用核心本质可复用的能力包流程配置脚本单次性自然语言指令外部工具/系统的接口调用复用性一次封装全局复用、跨对话可用单次有效需重复复制输入一次配置全局调用仅工具本身落地难度低复制模板修改无需开发极低直接输入指令中需配置API、工具权限适用场景高频标准化任务、业务系统联动、复杂流程执行临时、简单、一次性任务需要实时数据、外部系统交互的任务核心优势高效、稳定、可扩展适配实际工作流便捷、无需准备快速测试突破Claude自身限制联动外部资源一句话总结传统Prompt解决“临时需求”MCP解决“工具调用需求”Claude Skills解决“高频、规范、可复用的实操需求”三者可协同使用Skills可调用MCP内部可嵌入Prompt。三、Claude Skills 核心本质以SKILL.md为核心的“可复用能力包”用自然语言简单脚本封装操作流程/系统调用导入Claude即可触发无需重复输入指令支持联动外部工具、存量业务系统。标准文件结构my-skill/ # 技能目录与name一致小写横杠 ├── SKILL.md # 必需核心配置流程YAMLMarkdown ├── scripts/ # 可选辅助脚本Python/Bash复杂操作用 └── references/ # 可选参考文档非必需简化版可省略核心逻辑YAML配置触发权限 Markdown流程执行步骤示例无需复杂开发复制模板修改即可。四、4个可直接落地案例所有案例均为完整可导入版本打包成zip上传Claude即可启用重点标注修改点替换成自己的信息即可。案例1基础款 - Git Commit规范生成新手首选文件结构极简无需脚本git-commit-generator/ └── SKILL.mdSKILL.md直接复制无需修改--- name: git-commit-generator description: 生成符合Conventional Commits规范的Git提交信息触发词git提交、commit、代码变更、提交信息 version: 1.0.0 allowed-tools: [Read] # 仅读取用户输入无需其他权限 --- # Git Commit规范生成技能 ## 核心规则必遵守 1. 格式type(scope): subject (#issue) 2. type仅限feat(新功能)、fix(修复bug)、docs(文档)、style(格式)、refactor(重构)、test(测试)、chore(构建) 3. subject≤50字动词开头无句号 4. scope可选修改模块如auth、apiissue可选关联需求ID ## 执行步骤 1. 解析用户提供的代码变更描述 2. 判定type和scope无则省略 3. 生成符合规范的commit信息 4. 输出最终结果加粗显示 ## 示例直接参考 输入修复登录接口bug关联#123 输出fix(auth): 修复登录接口bug (#123) 输入添加用户注册功能 输出feat(user): 添加用户注册功能使用步骤创建上述文件夹和文件复制代码粘贴打包为zip文件夹名必须是git-commit-generatorClaude → 设置 → Skills → 上传zip启用技能对话输入触发词如“帮我写commit修复文档排版错误”自动输出规范内容案例2进阶款 - 会议纪要→行动项提取带脚本更稳定文件结构meeting-notes-extractor/ ├── SKILL.md └── scripts/ └── extract_action.pySKILL.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\u4e00-\u9fa5])负责([^。])([^。]内|周[一二三四五六日]前), r([A-Za-z0-9\u4e00-\u9fa5])牵头([^。])([^。]内|周[一二三四五六日]前), r([A-Za-z0-9\u4e00-\u9fa5])跟进([^。])([^。]内|周[一二三四五六日]前) ] 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-extractorClaude → 设置 → 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.pySKILL.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, jsonpayload, headersheaders) response.raise_for_status() data response.json() # 解析返回结果结构化客户信息 customer_list [] if data.get(data) and data[data][items]: for item in data[data][items]: customer { 客户姓名: item[fields].get(客户姓名, 未填写), 手机号: item[fields].get(手机号, 未填写), 公司名称: item[fields].get(公司名称, 未填写), 跟进状态: item[fields].get(跟进状态, 未填写), 跟进人: item[fields].get(跟进人, 未填写) } customer_list.append(customer) return customer_list except Exception as e: return fCRM查询失败{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-skillClaude → 设置 → Skills → 上传zip启用技能对话输入触发词查询关键词如“查询客户张三”“查手机号138XXXX1234的客户”自动调用CRM并返回结构化结果备注其他CRM如Salesforce、企业自建CRM只需替换脚本中的API地址、请求参数和签名逻辑SKILL.md流程无需修改适配所有存量业务系统。五、实操避坑小结1. 文件夹名必须与SKILL.md中“name”一致小写横杠否则上传失败2. allowed-tools权限按需添加无需多余权限如仅读取输入只写[Read]3. 脚本中涉及API、密钥等敏感信息可单独保存避免泄露4. 若Skill触发失败优先检查触发词是否匹配、文件夹结构是否正确、脚本无语法错误

更多文章