☰
都别卷OpenClaw[特殊字符]龙虾了!我给老板写了个Skill,顺手赚了3万元
2026/9/26 18:50:56 网站建设 项目流程

1. 从一只龙虾说起:为什么我劝你别再卷 OpenClaw 了

OpenClaw 这只红色小龙虾在 2026 年春节后彻底出圈,一键部署、24 小时自动干活、大厂变异版满天飞,身边做后端、做运维、做产品的朋友几乎人手一个实例。但真上手折腾两周你会发现,大部分人卡在同一个地方:装是装上了,可它只会干些通用活儿,一旦遇到公司内部那套「查数仓、跑口径、出日报」的重复需求,还是得自己手动点。问题不在模型,而在你没有把业务经验沉淀成 Skill。

OpenClaw 的 Skill 不是简单的 MCP 工具调用,它是把原子化能力封装成场景化解决方案的关键。一个 Skill 就是一个文件夹,里面装着SKILL.md指令、references/参考文档、scripts/脚本和assets/资源。它的核心设计思想是渐进式披露:启动时只扫描元信息,模型按语义匹配到才加载完整内容,避免把全量 Skill 塞进 system prompt 把上下文撑爆。加载流程大致是读取元数据、注入环境变量、构建 system prompt、执行后恢复现场,缺环境变量的 Skill 会被静默跳过。

我接的这个活儿,就是帮老板把「企业数仓探查」这套每天重复的流程封装成一个可复用 Skill。需求很朴素:让大模型自动找出产品文档里提到的所有数据源表,探查源表是否可用、加工口径是否可用,最后生成可执行的探查 SQL。交付验收后老板直接按项目结了 3 万,因为这套东西在团队里一装,三个人一周的重复劳动直接归零。下面我把从需求拆解到本地验证的完整路径写清楚,你照着做就能复刻。

2. 前置准备:TaoToken 接入与 OpenClaw 环境对齐

Skill 本身只是指令和脚本,真正跑起来还得靠模型。我这边统一用 TaoToken 做模型接入层,好处是 API Key 和模型路由集中管理,OpenClaw 的openclaw.json里只要配好 base_url 和 key 就能直接调,不用在每个 Skill 里硬编码。如果你还没建 Key,先去控制台创建一个,再对照接入文档把 base_url 填对。

具体操作路径是这样:打开 https://taotoken.net/api-keys 生成一个 API Key,然后到 https://taotoken.net/doc 确认当前支持的模型名和请求格式。OpenClaw 侧只需要在openclaw.json的env字段里注入TAOTOKEN_API_KEY,Skill 声明需要这个变量后,系统会在加载时自动注入,缺了就会被跳过。这一步很关键,很多人 Skill 写对了但一直不触发,就是环境变量没对齐。

模型选择上,数仓探查这种需要读文档、写 SQL、判断口径的活儿,建议用推理能力强的模型。你可以先在 https://taotoken.net/models 里对比一下再定。我实测下来,探查类任务用中等偏上的模型就够,没必要上最贵的,因为 Skill 已经把 SOP 固化住了,模型主要负责按指令执行和生成 SQL。

3. 可复制配置:SKILL.md 骨架与 Agent 调用

3.1 目录结构与元信息

先在 OpenClaw 的 skills 目录下建文件夹,比如.claude/skills/dw-probe/,然后新建SKILL.md。元信息部分要写清楚名称、描述、触发条件和所需环境变量,这是模型判断「什么时候该用你」的唯一依据。

--- name: dw-probe description: 企业数仓数据探查,从产品文档提取数据源表,探查源表可用性与加工口径,生成探查SQL trigger: 当用户提到数仓探查、数据源表、口径验证、探查SQL时触发 env: - TAOTOKEN_API_KEY --- # 数仓探查 Skill ## 目标 从产品文档中提取所有数据源表,逐表探查可用性与加工口径,输出可执行SQL。 ## 步骤 1. 读取 references/doc-index.md 中的文档清单 2. 按表名逐条提取字段与口径描述 3. 调用 scripts/executeSql.py 执行探查SQL 4. 汇总结果,标注不可用项与原因

元信息写完后,第一版技能先把「探查什么」描述清楚,别急着堆细节。我第一版只写了目标和步骤,跑通后再迭代。

3.2 细化探查项与判断标准

第二版把日常探查的基本项和判断标准列进references/checklist.md,让模型按清单逐项打分。这一步是 Skill 从「能用」到「好用」的分水岭,因为判断标准一旦固化,输出就稳定了。

# 探查清单 ## 源表可用性 - 表是否存在:查询 information_schema.tables - 是否有数据:count(*) > 0 - 分区是否最新:max(dt) >= 昨日 ## 加工口径可用性 - 字段是否齐全:对照文档字段清单 - 口径是否一致:抽样比对文档描述与实际值 - 是否有空值异常:null 比例 > 30% 标记

3.3 增加 SQL 执行脚本

光生成 SQL 不够,还得能跑。在scripts/executeSql.py里封装一个执行入口,让模型通过脚本拿到查询结果。脚本从环境变量读连接信息,不要硬编码。

import os import sys import json def execute_sql(sql: str) -> dict: # 从环境变量读取连接配置,避免硬编码 host = os.environ.get("DW_HOST") user = os.environ.get("DW_USER") pwd = os.environ.get("DW_PWD") if not all([host, user, pwd]): return {"ok": False, "msg": "缺少数仓连接环境变量"} # 这里替换为实际数仓驱动调用 # result = driver.query(host, user, pwd, sql) result = {"ok": True, "rows": [], "sql": sql} return result if __name__ == "__main__": sql = sys.argv[1] if len(sys.argv) > 1 else "" print(json.dumps(execute_sql(sql), ensure_ascii=False))

脚本写完后,在SKILL.md的步骤里加上「调用 scripts/executeSql.py 执行探查SQL」,模型就会在需要时触发脚本。

3.4 Agent 调用配置

OpenClaw 侧在openclaw.json里把 Skill 目录和环境变量配好,模型通过 TaoToken 接入。配置示例如下:

{ "skills": { "dir": ".claude/skills", "enabled": ["dw-probe"] }, "env": { "TAOTOKEN_API_KEY": "你的Key", "DW_HOST": "数仓地址", "DW_USER": "账号", "DW_PWD": "密码" }, "model": { "base_url": "https://taotoken.net/api", "api_key_env": "TAOTOKEN_API_KEY", "name": "你的模型名" } }

配好后重启 OpenClaw,它会扫描 skills 目录、解析元信息、注入环境变量、把可用 Skill 描述写进 system prompt。如果 Skill 没被加载,先检查环境变量是否齐全,缺变量会被静默跳过,这是最常见的坑。

4. 验证请求与成功结果

配置完成后,直接在 OpenClaw 里发一条触发指令,比如「帮我探查一下产品文档里提到的订单表是否可用」。正常情况下,模型会匹配到 dw-probe Skill,加载SKILL.md和checklist.md,生成探查 SQL,调用executeSql.py执行,最后返回结构化结果。

验证时可以分三步看:第一步看 Skill 是否被触发,日志里会有加载记录;第二步看 SQL 是否生成,内容是否符合清单项;第三步看脚本是否执行,返回的 JSON 里ok为 true 且rows有数据。我实测下来,第一次跑通大概花了二十分钟,主要时间花在环境变量对齐和脚本调试上。

如果你想先单独验证模型侧是否通,可以到 https://taotoken.net/chat 发一条同样的指令,确认模型能理解探查意图并生成合理 SQL,再回到 OpenClaw 里跑完整链路。这样能把「模型问题」和「Skill 配置问题」分开定位。

5. 本篇常见错排查

Skill 不触发:九成是元信息里的trigger写得太窄,或者环境变量缺失被静默跳过。先把trigger放宽,再检查openclaw.json的env字段是否包含 Skill 声明的所有变量。

脚本执行报错:先确认scripts/目录路径和SKILL.md里写的一致,再确认脚本有执行权限。Python 脚本建议用绝对路径调用,避免工作目录变化导致找不到文件。

SQL 生成但跑不出结果:多半是数仓连接配置问题,检查DW_HOST、DW_USER、DW_PWD是否正确,以及网络是否可达。脚本里加个连接测试分支,能省很多排查时间。

模型不按清单走:说明references/checklist.md没有被加载,检查SKILL.md里是否明确写了「读取 references/checklist.md」。渐进式披露要求你显式引用,模型不会自动去翻目录。

返回结果不稳定:把判断标准写得更具体,比如「null 比例 > 30% 标记」比「有空值异常就标记」稳定得多。Skill 的价值就在于把模糊经验变成明确规则。

6. 从 Skill 到变现:把经验沉淀成可复用资产

这套数仓探查 Skill 交付后,老板直接按项目结了 3 万,原因很简单:它把三个人一周的重复劳动压缩成了一条指令。更重要的是,Skill 一旦写成,团队里谁都能装、谁都能用,经验不再锁在某个人的脑子里。OpenClaw 的 Skill 本质上是受信任代码,安装后拥有和实例相同的权限,所以写的时候要把连接信息放环境变量、把执行逻辑放脚本、把判断标准放参考文档,别把敏感信息硬编码进SKILL.md。

如果你手上也有那种「重复性高、随机性小」的活儿,比如日报生成、代码审查、文档结构化,都可以按这个路径封装成 Skill。模型侧统一走 TaoToken 接入,Key 在 https://taotoken.net/api-keys 管理,接入格式看 https://taotoken.net/doc ,需要长期跑编码或 Agent 任务的可以了解 https://taotoken.net/coding-plan 。先把一个 Skill 跑通,再复制到第二个、第三个,慢慢你就有了自己的技能库。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询