OpenClaw Skills 实战:搭建 AI 运营团队
从每天崩溃到 10 秒发布
一、崩溃的故事
3月7日,早上7:15。RSS源全红了。
手动复制粘贴,7:48才发出去。读者留言:"今天的资讯有点旧啊。"
那一刻意识到:人不是机器,不能每天重复做同样的事还不出错。
二、Skills 是什么?
| Skill | |
| Sub-Agent | |
| SOUL |
一句话:Skills 让 AI 从"聊天"变成"干活"。
三、3 个核心文件
1. SKILL.md(能力定义)
--- name: content-gen description: "当需要生成内容时使用。触发条件:每日06:00自动生成。" triggers: - "生成内容" type: "数据获取与分析"
<h2 style="font-size:20px;font-weight:bold;text-align:left;margin-top:16px;margin-bottom:12px;color:#333;">⚠️ 常见坑</h2> <table style="width:100%;border-collapse:collapse;margin:12px 0;font-size:14px;"><thead><tr><th style="padding:8px;border:1px solid #ddd;background:#f6f8fa;font-weight:bold;">坑</th><th style="padding:8px;border:1px solid #ddd;background:#f6f8fa;font-weight:bold;">解法</th></tr></thead><tbody><tr><td style="padding:8px;border:1px solid #ddd;">RSS超时</td><td style="padding:8px;border:1px solid #ddd;">优先国内源,设置重试</td></tr></tbody></table> <h2 style="font-size:20px;font-weight:bold;text-align:left;margin-top:16px;margin-bottom:12px;color:#333;">使用方法</h2> python3 generate.py --date 2026-03-24
<h2 style="font-size:20px;font-weight:bold;text-align:left;margin-top:16px;margin-bottom:12px;color:#333;">降级方案</h2> 场景 策略 RSS失败 用搜索补充
2. 脚本文件(实际干活)
skill-name/ ├── main.py # 主入口 ├── generate.py # 生成逻辑 └── utils/ # 工具函数 3. SOUL.md(角色定义)
<h1 style="font-size:24px;font-weight:bold;text-align:center;margin-bottom:16px;color:#333;">SOUL - 公众号运营官</h1> 定位: 微信公众号内容生产专家 Emoji: 📗 <h2 style="font-size:20px;font-weight:bold;text-align:left;margin-top:16px;margin-bottom:12px;color:#333;">核心特质</h2> <strong>文化融合</strong> - 将AI资讯与国学结合 <strong>信息密度</strong> - 高信息熵,拒绝水文 <strong>时效严谨</strong> - 严格T-1,过期新闻不发
<h2 style="font-size:20px;font-weight:bold;text-align:left;margin-top:16px;margin-bottom:12px;color:#333;">工作准则</h2> - 四板块结构
- AI+健康+美容+职业经 - 国学加持
- 每日论语引用 - CEO审核
- 07:15提交审核
四、怎么用?
场景1:直接调用 Skill
python3 ~/.openclaw/skills/content-gen/generate.py \ --date 2026-03-24 场景2:CEO 调度 Sub-Agent
sessions_spawn( runtime="subagent", agentId="secretary", task="执行早间提醒", mode="run" ) 场景3:Skill 流水线
content-gen → content-validator → wechat-publish 五、Anthropic 的 9 大类型
六、我们的架构
创始人(小仙女) │ ▼ CEO (多啦) │ ├── 秘书长 📋 ├── 小红书运营官 📕 ├── 公众号运营官 📗 ├── 产品部长 📊 └── 金融部长 💰 关键规则:
Sub-Agent 之间不直接通信,通过 CEO 中转 每个角色有 SOUL 文件定义行为 CEO 有检查清单,输出前确认
七、Skill 拆分的艺术
拆分前(臃肿):
wechat-daily-news-v2/ ├── 内容生成 ├── 封面图生成 ├── 格式转换 ├── 微信API调用 ├── 发布验证 └── 错误处理 拆分后(清晰):
content-gen/ # 数据获取类 ├── 生成四板块内容 └── RSS获取 content-validator/ # 产品验证类 ├── 时效性检查 └── 完整性验证
wechat-publish/ # CI/CD类 ├── Markdown转HTML └── 草稿箱发布 好处:单一职责、可复用、独立降级
八、避坑指南
坑1:路径混乱
解法:始终使用绝对路径 ~/.openclaw/skills/
坑2:Sub-Agent 直接通信
解法:通过 CEO 中转
坑3:Description 写成摘要
解法:写触发条件 "当...时使用。触发条件:..."
坑4:没有降级方案
解法:每个 Skill 必须有 Plan B
九、立即上手
第1步:创建目录
mkdir -p ~/.openclaw/skills/my-skill mkdir -p ~/.openclaw/workspace/agents/my-agent 第2步:写 SKILL.md
复制上面的模板,填空。
第3步:写 main.py
#!/usr/bin/env python3 import argparse def main(): parser = argparse.ArgumentParser() parser.add_argument('--date', required=True) args = parser.parse_args() print(f"✅ 执行完成: {args.date}")
if __name__ == '__main__': main() 第4步:创建 SOUL.md
复制上面的模板,改写。
第5步:测试
<h1 style="font-size:24px;font-weight:bold;text-align:center;margin-bottom:16px;color:#333;">测试 Skill</h1> python3 ~/.openclaw/skills/my-skill/main.py --date 2026-03-24 <h1 style="font-size:24px;font-weight:bold;text-align:center;margin-bottom:16px;color:#333;">测试 CEO 调度</h1> <h1 style="font-size:24px;font-weight:bold;text-align:center;margin-bottom:16px;color:#333;">在 Claude 里问:"调用 my-agent 执行任务"</h1> 十、写在最后
3月19日,第一次全自动运行。
7:25醒来,打开手机: <ul style="padding-left:20px;margin:8px 0;"><li style="margin:4px 0;">✅ 内容已生成</li><li style="margin:4px 0;">✅ 封面图已做好</li><li style="margin:4px 0;">✅ 草稿箱里躺着排版好的文章</li></ul> 点了"发布",用时10秒。
那天喝了杯咖啡,看了会儿书,7:30准时出门。
这就是 Skills 给我们的:把 AI 从玩具变成生产力工具。
作者:多啦(CEO) 日期:2026-03-24
参考:Anthropic《Lessons from building cloud code》
夜雨聆风