探果 Tengo 自定义 Skill 开发实战:花了三个晚上,我把自己常用的工作流塞进了一个技能
探果 Tengo 除了 5000+ 预置 Skill,还支持自定义开发。本文从零拆解一个"竞品周报生成器"Skill 的完整开发过程,含 YAML 配置、提示词调试、变量绑定踩坑记录。看完你也能花半小时封装自己的专属工作流。
为什么还要自己写 Skill?
5000 个预置 Skill 确实覆盖了大多数场景——写周报、做竞品分析、整理会议纪要,开箱就能用。
但每个人干活都有自己的套路。
举个例子:我们团队每周五要出一份竞品周报,固定包括价格变动追踪、新功能汇总、社交媒体动态三块。预置的"竞品分析"Skill 只输出通用摘要,我每次都得手动补格式、加数据源、统一排版。烦了三个礼拜后,决定自己写一个。
这就是自定义 Skill 的价值——把你知道怎么干、但不想每次都手动干的活,固化成一次配置、终身复用的技能。
Skill 是怎么构成的
探果的 Skill 定义本质上是一个结构化的 Prompt 模板,配输入变量、输出格式、触发词。核心三个要素:
1. 角色定义(System Prompt)
告诉 AI 它在这个 Skill 里扮演什么角色、遵循什么规则。这是 Skill 的"人格"。
2. 输入变量
用户启动 Skill 时需要填的参数。比如竞品周报 Skill 需要"竞品名称"和"数据来源链接"两个变量。探果会在执行前让用户补全,然后注入 Prompt。
3. 输出模板
规定 AI 输出什么、按什么结构输出。你可以用 Markdown 模板定义表格、小节标题、固定字段,保证每次结果格式统一。
实战:从零写一个"竞品周报生成器"
Step 1:角色定义
写 Prompt 的时候,指令越具体,输出越稳定。别写"你是竞品分析专家",写了等于没写。
你是一个竞品追踪分析师,专门跟踪 {{competitor_name}} 的动态。
分析规则:
- 价格变动:提取页面中所有价格数字,对比历史数据,标注涨幅/跌幅百分比
- 新功能:识别所有新增或更新的功能点,按重要度排序
- 社交媒体:提取本周所有帖文标题和链接,判断互动趋势
输出时遵循以下约束:
- 价格数据用表格呈现(原价/现价/变动幅度/数据来源)
- 每项分析附具体链接
- 结论部分不超过3句话,直奔核心结论
踩坑来了——变量名不要用中文。
我初版写的 {{竞品名称}},保存不报错,跑的时候探果直接当字面字符串输出了,根本没触发变量替换。改成 {{competitor_name}} 秒好。这是探果目前的解析限制,变量名只认英文+下划线。
Step 2:设定输入变量
探果后台的 Skill 编辑器有两个关键字段:inputs 和 output_format。
inputs 定义启动时需要用户填的参数。字段不多,但类型别搞错了:
|
参数名 |
类型 |
说明 |
示例值 |
|
competitor_name |
string |
竞品名称 |
飞书 |
|
data_urls |
text(multiline) |
数据来源链接,每行一个 |
https://... |
|
report_period |
select |
报告周期(日/周/月) |
周 |
类型选 string 是单行输入,选 text 是多行输入,选 select 是下拉框——下拉选项在编辑器的单独配置页设置。别把 text 配成 string,多行链接会吞换行符。
Step 3:输出模板
我用了 Markdown 模板,探果能直接渲染:
# {{competitor_name}} 竞品周报({{report_date}})
## 一、价格变动追踪
| 产品线 | 原价 | 现价 | 变动幅度 | 数据来源 |
|--------|------|------|---------|---------|
| (AI 自动填充) |
## 二、新功能动态
| 功能名称 | 重要度 | 上线时间 | 来源链接 |
|----------|--------|---------|---------|
| (AI 自动填充) |
## 三、社交媒体动态
| 平台 | 帖文标题 | 互动量 | 链接 |
|------|---------|--------|------|
| (AI 自动填充) |
## 四、结论与建议
(AI 自动填充,3句话以内)
Step 4:调试阶段
写完保存后别急着用,先跑三组数据验证。
我的调试清单:
- 输入只有一个竞品的数据 → 看是否正常填充
- 输入两个竞品的数据 → 看表格是否混乱
- 输入一个没有价格数据的链接 → 看价格区块是报错还是显示"无"
第3个场景翻车了——当某竞品本周没调价时,AI 在价格表格里填了"暂无变动,建议持续关注",占满了一整行。修复方法是给 Prompt 加硬约束:
价格变动表格:如果本周无价格变动,直接输出"本周无价格变动",不生成表格行。
加完这句话,空数据场景的格式就干净了。
自定义 Skill 的边界在哪
不是所有活都适合封装成 Skill。这个判断直接影响你是在省时间还是在浪费时间。
适合做 Skill:
- 每周/每月固定要做的重复性工作(周报、月报、数据汇总)
- 格式要求严格但内容不同的场景(合同条款审查、简历筛选)
- 需要多个数据源汇聚后统一输出的场景(竞品跟踪、舆情监控)
不适合做 Skill:
- 一次性任务——花半小时写 Skill,不如直接用对话跑一次
- 流程经常变的场景——Skill 改了就得重新调试,维护成本高于收益
- 需要实时数据的——Skill 是 Prompt 模板,不是数据管道,不能自动拉取 API
我是怎么把 Skill 和 Agent 串起来的
写完竞品周报 Skill 后,我发现单 Skill 还是不够——每周五我还得手动打开 Skill、填参数、等结果、复制到飞书群。
于是把三个 Skill 串进了 Agent 工作流:
- 竞品周报 Skill → 产出分析内容
- 格式美化 Skill(预置)→ 把 Markdown 转成飞书富文本
- 消息推送 Skill(预置)→ 自动发送到指定飞书群
每周五只需要点一次触发,整个流程自动跑完。这是探果最有价值的地方——Skill 是零件,Agent 是产线,搭在一起才算生产力工具。
小结
自定义 Skill 的核心不是技术门槛,是你有没有把自己的工作流拆清楚。
拆得清楚,半小时封装一个 Skill,以后永远不用手动重复这个活。拆不清楚,写出来的 Skill 用两次就吃灰。
如果你是探果的重度用户,花一个下午把手里最烦的三个重复任务封装成 Skill——这笔时间投资的回报周期,可能比你以为的短得多。
探果 Tengo 官网:https://www.tengox.com
更多推荐



所有评论(0)