最近Skill火得一塌糊涂,从同事.skill到乔布斯.skill,大家都在讨论如何把自己的专业知识"蒸馏"成AI可用的技能包。今天我就来详细讲讲如何真正动手做一个Skill,手搓还是用工具?哪种方式更适合你?
无论用什么方法,Skill的核心都是一个名为SKILL.md的文件。这就像给AI写的一份"工作说明书",告诉它:你是谁、要做什么、怎么做。
1.1 标准目录结构
一个完整的Skill文件夹结构是这样的:
my-skill/
├── SKILL.md # 必需:技能定义文件
├── scripts/ # 可选:可执行脚本
│ └── main.py
├── references/ # 可选:参考文档
│ └── api-docs.md
└── assets/ # 可选:静态资源
└── template.html
1.2 SKILL.md的完整写法
--- name: "技能名称" description: "一句话描述这个技能做什么" trigger: "触发关键词" --- # 角色定义 你是一位[具体角色],擅长[具体领域],拥有[具体年限]经验。 # 核心能力 1. 能力一:详细描述 2. 能力二:详细描述 3. 能力三:详细描述 # 工作流程 1. 第一步:确认用户需求 2. 第二步:执行具体操作 3. 第三步:输出结果 4. 第四步:提供后续建议 # 输出规范 - 格式要求:[列表、段落、表格等] - 字数限制:[具体字数范围] - 语气风格:[专业、亲切、幽默等] - 必须包含:[关键要素] # 注意事项 - 不要做:[禁止事项] - 必须做:[强制要求] - 特殊情况处理:[异常处理方案]
如果你喜欢完全掌控,或者想深入理解Skill的工作原理,手搓是**选择。
2.1 手搓的五个步骤
第一步:明确技能边界
问自己三个问题:
- 这个Skill解决什么具体问题?
- 在什么场景下触发?
- 输出什么格式的结果?
比如"周报生成器":
- 问题:快速整理工作内容为周报
- 触发:用户输入"写周报"或"生成周报"
- 输出:三段式结构(已完成、计划中、需协调)
第二步:创建文件结构
在终端执行:
# 创建技能目录 mkdir -p .claude/skills/weekly-report-generator # 进入目录 cd .claude/skills/weekly-report-generator # 创建核心文件 touch SKILL.md
第三步:编写SKILL.md
这是最核心的部分。以周报生成器为例:
--- name: "weekly-report-generator" description: "专业周报生成助手,将零散工作内容整理为结构化周报" trigger: "周报|weekly report|本周总结" --- # 角色 你是一位专业的项目经理助理,擅长将碎片化信息整理为清晰的工作报告。 # 核心能力 1. 信息结构化:将零散的工作要点分类整理 2. 优先级排序:按重要性和紧急性排列任务 3. 问题识别:发现潜在风险和协调需求 4. 专业表达:使用职场标准用语 # 工作流程 1. 接收用户输入的工作要点(支持列表、段落、甚至语音转文字) 2. 自动分类:已完成事项、进行中事项、计划事项 3. 识别关键成果和量化指标 4. 发现需要协调的资源或问题 5. 生成三段式周报: - 本周工作总结(按项目分类) - 下周工作计划(含优先级) - 需要协调事项(具体说明) # 输出规范 - 标题:包含日期范围,如"2026年4月第3周工作周报" - 正文:800-1200字,段落清晰 - 格式:使用项目符号,重要内容加粗 - 语气:专业但不生硬,积极向上 - 结尾:必须有"下周目标"和"行动计划" # 注意事项 - 不要编造未提及的工作内容 - 必须保留用户原始信息的关键点 - 遇到模糊信息时主动询问澄清 - 时间敏感信息要标注具体日期
第四步:添加辅助资源(可选但推荐)
创建templates/目录,放入周报模板:
mkdir templates echo "# 周报模板 本周完成 下周计划 需协调事项" > templates/weekly-template.md
创建examples/目录,放入示例:
mkdir examples echo "输入:完成了A项目需求评审,B功能开发进度80%,需要协调测试资源 输出:[完整周报示例]" > examples/sample-1.md
第五步:测试与迭代
在Claude中测试:
请使用weekly-report-generator技能: 我本周完成了:1. 客户需求分析会议 2. 产品原型设计初稿 3. 技术方案评审 下周计划:1. 完善原型设计 2. 开始前端开发 3. 协调测试环境 需要协调:测试团队资源紧张,需要优先安排
根据测试结果调整SKILL.md,直到输出符合预期。
2.2 手搓的优势与挑战
优势:
- 完全自定义,满足特殊需求
- 深入理解Skill工作原理
- 文件结构清晰,易于维护
- 可以集成复杂脚本和资源
挑战:
- 需要学习SKILL.md编写规范
- 调试过程可能耗时
- 需要手动处理各种边界情况
如果你不想从零开始,或者想快速验证想法,工具辅助是更好的选择。
3.1 skill-creator:官方元技能
skill-creator是Anthropic官方提供的"技能造工厂",它能帮你自动生成Skill文件。
安装方法:
# 在Claude Code中安装 /plugin marketplace add anthropics/skills/ plugin install example-skills@anthropic-agent-skills
使用流程:
- 在Claude界面点击Customize → Skills
- 启动skill-creator
- 对话创建:
帮我创建一个技能包 技能名称:小红书爆款文案生成器 功能:根据产品特点生成小红书风格的文案 目标用户:电商运营、内容创作者 输出要求:带emoji、有互动话术、包含热门标签
skill-creator会引导你回答一系列问题,然后自动生成完整的SKILL.md文件,包括frontmatter、用例示例等。
3.2 扣子(Coze):国内用户首选
扣子是字节跳动的智能体开发平台,特点是零代码、生态丰富。
创建流程:
- 注册登录扣子平台
- 点击"创建智能体"
- 编写角色提示词
- 添加知识库/插件
- 测试发布
扣子的优势:
- 拖拽式组件,无需编程
- 支持国内主流大模型(豆包、Kimi、通义千问等)
- 内置丰富能力模块
- 国内网络环境友好
3.3 ChatGPT自定义GPTs:最简单入门
适合纯小白用户,完全不需要懂技术。
三步创建:
- 登录ChatGPT,点击"Explore GPTs" → "Create a GPT"
- 用自然语言描述需求:
你是我的周报助手,每次我把本周工作要点发给你, 你帮我整理成三段式周报:本周完成事项、下周计划、需要协调的事项, 语气专业但不过于正式。 - 上传参考文件(公司模板、风格指南等)
完成后保存,你的专属GPTs就建好了。
平台
适合人群
技术门槛
自定义程度
部署复杂度
推荐指数
手搓SKILL.md
技术爱好者、深度定制需求者
中高
极高
中
⭐⭐⭐⭐⭐
skill-creator
Claude用户、快速验证想法
低
中高
低
⭐⭐⭐⭐
扣子(Coze)
国内用户、零代码需求
极低
中
低
⭐⭐⭐⭐⭐
ChatGPT GPTs
纯小白、简单需求
极低
低
极低
⭐⭐⭐
OpenClaw Skills
进阶用户、复杂工作流
中
高
中高
⭐⭐⭐⭐
我的建议:
- 完全新手:从ChatGPT GPTs或扣子开始,快速体验
- 有一定基础:用skill-creator,平衡效率与自定义
- 深度用户:手搓SKILL.md,完全掌控
- 企业应用:考虑OpenClaw,支持复杂工作流
让我们通过一个完整案例,看看如何从零创建一个实用的天气查询Skill。
5.1 需求分析
- 功能:查询指定城市的天气情况
- 输入:城市名称
- 输出:温度、天气状况、湿度、风速、建议
- 扩展:支持未来3天预报
5.2 创建目录结构
mkdir -p weather-skill/ cd weather-skill
5.3 编写SKILL.md
--- name: "weather-query" description: "实时天气查询助手,提供精确的天气信息和穿衣建议" trigger: "天气|weather|天气预报" --- # 角色 你是一位专业的气象分析师,能够准确解读天气数据并提供实用建议。 # 核心能力 1. 实时天气查询:获取当前天气状况 2. 天气预报:提供未来3天天气趋势 3. 生活建议:根据天气给出穿衣、出行建议 4. 异常处理:城市不存在、网络错误等情况 # 工作流程 1. 识别用户输入的城市名称 2. 调用天气API获取数据(通过scripts/main.py) 3. 解析天气数据,提取关键信息 4. 生成结构化回复: - 当前天气概况 - 详细气象数据 - 未来3天预报 - 生活建议 5. 处理异常情况,给出友好提示 # 输出规范 - 格式:使用天气图标emoji,数据表格化 - 内容:必须包含温度、体感温度、天气、湿度、风速、能见度 - 建议:根据温度给出穿衣建议,根据天气给出出行建议 - 错误处理:城市不存在时建议相近城市 # 注意事项 - 温度单位统一使用摄氏度 - 风速单位使用km/h - 时间使用24小时制 - 数据来源要注明
5.4 编写Python脚本
创建scripts/main.py:
#!/usr/bin/env python3 import requests import json import sys def get_weather(city): """获取城市天气信息""" # 这里使用模拟数据,实际应调用天气API weather_data = { "北京": { "temp": 22, "feels_like": 24, "weather": "晴", "humidity": 45, "wind_speed": 12, "visibility": 10, "forecast": [ {"day": "明天", "temp": "20-25°C", "weather": "多云"}, {"day": "后天", "temp": "18-23°C", "weather": "小雨"}, {"day": "大后天", "temp": "19-26°C", "weather": "晴"} ] } } return weather_data.get(city, None) if __name__ == "__main__": if len(sys.argv) > 1: city = sys.argv[1] result = get_weather(city) print(json.dumps(result, ensure_ascii=False))
5.5 创建参考文档
references/api-docs.md:
# 天气API接口文档 可用API 1. 和风天气:https://dev.qweather.com/ 2. 心知天气:https://www.seniverse.com/ 3. OpenWeatherMap:https://openweathermap.org/api 返回字段说明 - temp: 温度(℃) - feels_like: 体感温度(℃) - weather: 天气状况 - humidity: 湿度(%) - wind_speed: 风速(km/h) - visibility: 能见度(km)
5.6 测试Skill
在Claude中测试:
请使用weather-query技能查询北京天气
预期输出:
🌤️ 北京当前天气 温度:22°C(体感24°C) 天气:晴 湿度:45% 风速:12 km/h 能见度:10 km 📅 未来3天预报 明天:多云,20-25°C 后天:小雨,18-23°C 大后天:晴,19-26°C 👕 穿衣建议 白天舒适,建议穿长袖T恤或薄外套 夜间稍凉,可加一件薄毛衣 🚗 出行建议 天气良好,适合户外活动 紫外线较强,注意防晒
6.1 常见问题排查
- Skill不触发
- 检查trigger设置是否正确
- 确认Skill已正确安装
- 查看日志文件
- 输出不符合预期
- 检查SKILL.md中的指令是否清晰
- 测试边界情况
- 查看AI的理解是否偏差
- 脚本执行失败
- 检查脚本权限:
chmod +x scripts/main.py - 确认依赖已安装
- 查看错误日志
- 检查脚本权限:
6.2 性能优化
- 减少token消耗
- 精简SKILL.md内容
- 使用更简洁的表达
- 避免重复描述
- 提高响应速度
- 优化脚本执行效率
- 使用缓存机制
- 异步处理耗时操作
- 增强稳定性
- 添加错误处理
- 设置超时机制
- 实现重试逻辑
6.3 A/B测试方法
创建两个版本的Skill,对比效果:
# 版本A my-skill-v1/ └── SKILL.md # 版本B my-skill-v2/ └── SKILL.md
用相同输入测试两个版本,选择效果更好的。
7.1 本地部署
对于个人使用,直接将Skill文件夹放到指定目录:
# Claude ~/.claude/skills/ # OpenClaw ~/.openclaw/skills/
7.2 发布到ClawHub
ClawHub是OpenClaw的官方技能商店,类似AI智能体的"应用商店"。
发布步骤:
- 注册ClawHub账号
- 创建Skill仓库
- 上传Skill文件
- 填写描述和标签
- 提交审核
7.3 团队共享
对于团队内部使用:
- 创建Git仓库存储Skill
- 设置访问权限
- 提供安装文档
- 建立更新机制
8.1 多Skill协作
创建一组相关Skill,让它们协同工作:
content-creation-system/ ├── topic-researcher/ # 话题研究 ├── outline-generator/ # 大纲生成 ├── content-writer/ # 内容撰写 └── seo-optimizer/ # SEO优化
8.2 动态配置
在SKILL.md中使用变量:
# 配置参数 {{temperature}}:控制创意程度(0.0-1.0) {{max_tokens}}:最大输出长度 {{style}}:输出风格(专业/亲切/幽默)
8.3 知识库集成
将Skill与外部知识库结合:
- 创建
knowledge/目录存放专业资料 - 在SKILL.md中引用相关知识
- 实现知识检索功能
8.4 版本管理
使用Git管理Skill版本:
# 初始化仓库 git init # 添加文件 git add . # 提交更改 git commit -m "v1.0: 基础天气查询功能" # 打标签 git tag v1.0
经过详细对比,我的建议是:
从工具开始,向手搓进阶
- 第一阶段(0-1个月):使用扣子或skill-creator
- 快速验证想法
- 理解Skill基本概念
- 积累实践经验
- 第二阶段(1-3个月):混合使用
- 用工具生成基础框架
- 手搓修改关键部分
- 学习SKILL.md规范
- 第三阶段(3个月+):完全手搓
- 创建复杂Skill
- 集成自定义脚本
- 优化性能体验
关键判断标准:
- 如果Skill很简单(如周报生成),用工具
- 如果需要特殊功能(如调用内部API),必须手搓
- 如果要分享给团队,考虑维护成本
- 如果要商业化,注重稳定性和扩展性
不要想太多,现在就动手:
5分钟快速启动:
# 1. 创建目录 mkdir -p ~/.claude/skills/my-first-skill # 2. 创建SKILL.md cat > ~/.claude/skills/my-first-skill/SKILL.md << 'EOF' --- name: "my-first-skill" description: "我的第一个Skill,用于测试和学习" trigger: "测试|test|第一个" --- # 角色 你是一个友好的测试助手。 # 功能 当用户说"测试"时,回复"Skill工作正常!" # 输出 简单确认信息即可。 EOF # 3. 测试 # 在Claude中输入"测试"
Skill制作没有想象中那么难。核心就是一份清晰的说明书,告诉AI该做什么、怎么做。从最简单的开始,逐步增加复杂度,你会发现创建Skill就像教一个新员工——越明确,越有效。
现在,去创建你的第一个Skill吧。无论是手搓还是用工具,重要的是开始行动。每个Skill都是你思维模式的数字延伸,是你在AI时代的独特印记。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/282816.html