探果 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 编辑器有两个关键字段:inputsoutput_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:调试阶段

写完保存后别急着用,先跑三组数据验证。

我的调试清单

  1. 输入只有一个竞品的数据 → 看是否正常填充
  1. 输入两个竞品的数据 → 看表格是否混乱
  1. 输入一个没有价格数据的链接 → 看价格区块是报错还是显示"无"

第3个场景翻车了——当某竞品本周没调价时,AI 在价格表格里填了"暂无变动,建议持续关注",占满了一整行。修复方法是给 Prompt 加硬约束:

价格变动表格:如果本周无价格变动,直接输出"本周无价格变动",不生成表格行。

加完这句话,空数据场景的格式就干净了。

自定义 Skill 的边界在哪

不是所有活都适合封装成 Skill。这个判断直接影响你是在省时间还是在浪费时间。

适合做 Skill

  • 每周/每月固定要做的重复性工作(周报、月报、数据汇总)
  • 格式要求严格但内容不同的场景(合同条款审查、简历筛选)
  • 需要多个数据源汇聚后统一输出的场景(竞品跟踪、舆情监控)

不适合做 Skill

  • 一次性任务——花半小时写 Skill,不如直接用对话跑一次
  • 流程经常变的场景——Skill 改了就得重新调试,维护成本高于收益
  • 需要实时数据的——Skill 是 Prompt 模板,不是数据管道,不能自动拉取 API

我是怎么把 Skill 和 Agent 串起来的

写完竞品周报 Skill 后,我发现单 Skill 还是不够——每周五我还得手动打开 Skill、填参数、等结果、复制到飞书群。

于是把三个 Skill 串进了 Agent 工作流:

  1. 竞品周报 Skill → 产出分析内容
  1. 格式美化 Skill(预置)→ 把 Markdown 转成飞书富文本
  1. 消息推送 Skill(预置)→ 自动发送到指定飞书群

每周五只需要点一次触发,整个流程自动跑完。这是探果最有价值的地方——Skill 是零件,Agent 是产线,搭在一起才算生产力工具


小结

自定义 Skill 的核心不是技术门槛,是你有没有把自己的工作流拆清楚

拆得清楚,半小时封装一个 Skill,以后永远不用手动重复这个活。拆不清楚,写出来的 Skill 用两次就吃灰。

如果你是探果的重度用户,花一个下午把手里最烦的三个重复任务封装成 Skill——这笔时间投资的回报周期,可能比你以为的短得多。

探果 Tengo 官网:https://www.tengox.com

Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐