本文记录了我用WorkBuddy的自定义Skill系统搭建内容创作工作流的过程,包括4个自建Skill的实现细节、8步流水线的设计思路、以及头条反爬踩坑经验。适合想用AI工具提升内容生产效率的创作者参考。
我运营3个自媒体账号:
注:头条号与公众号"不着急的老伙计"是同一品牌的不同平台分发,内容可复用。头条号与"半程赴山海"(女性情感赛道)完全隔离,内容不交叉。
此前的工作方式是:用普通AI对话工具逐篇写稿,写完手动查重、手动排版、手动配图。每篇文章要经历"选题→写稿→检查→配图→排版→记录"多次来回切换,效率低且容易漏步骤。
WorkBuddy的自定义Skill系统允许我把这些环节封装成可复用的技能模块,按流水线顺序串联调用。本文记录的是搭建过程和踩过的坑,不是成品方案——有些环节仍在迭代中。
把内容创作拆成8个标准化步骤,每步对应一个或多个Skill:
选题 → 写稿 → 原创检测 → 标题优化 → 违禁词扫描 → 配图设计 → 多平台适配 → 发布追踪其中有两个人工确认节点:
其余步骤由总控Skill(content-workbench)自动串联,但最终发布仍需手动操作(原因见第五节踩坑部分)。


总控
选题
写稿
原创检测
标题优化
违禁词
配图
多平台适配
发布追踪
辅助
其中4个是我用WorkBuddy的skill-creator自建的,下面讲实现细节。

解决的问题:改写热点内容时,需要一个量化指标判断改写程度是否足够,而不是凭感觉。
技术实现:Python脚本,基于n-gram和Jaccard相似度,纯本地运行。
核心算法——n-gram提取(中文按字、英文按词):
def get_ngrams(text: str, n: int = 3) -> set[str]:
"""提取 n-gram(中文按字,英文按词)"""
cleaned = re.sub(r"[^\w\u4e00-\u9fff]", "", text)
has_chinese = bool(re.search(r"[\u4e00-\u9fff]", cleaned))
if has_chinese:
chars = re.findall(r"[\u4e00-\u9fff]", cleaned)
if len(chars) < n:
return set()
return {"|".join(chars[i:i+n]) for i in range(len(chars) - n + 1)}
else:
words = cleaned.lower().split()
if len(words) < n:
return set()
return {"|".join(words[i:i+n]) for i in range(len(words) - n + 1)}相似度计算用Jaccard系数,3-gram和4-gram加权(0.4/0.6):
sim_3 = jaccard_similarity(orig_3gram, src_3gram)
sim_4 = jaccard_similarity(orig_4gram, src_4gram)
overall_sim = sim_3 * 0.4 + sim_4 * 0.6原创度评分公式:
originality_score = (1 - overall_sim) * 0.5 + sentence_originality * 0.5其中 sentence_originality 是每个句子与来源原文中最相似句子的Jaccard距离的平均值。
使用方式:
python check_originality.py --original my_article.txt --source source_article.txt输出包括:原创度评分(0-100%)、高重复段落标注(相似度>0.5的句子)、改写建议(按相似度分级:>0.8几乎照搬需重写、>0.6高度相似需重构、>0.5中度相似需替换)。
评分参考线:≥70%可发布,50-69%需改写,<50%需整体重写。
解决的问题:同一篇素材要发到头条、公众号、小红书,三者的字数、结构、语气、标签格式都不同。
实现方式:建了一个参考文件 references/platform_specs.md,包含三个平台的格式规范:
Skill本身不包含代码,而是通过参考文件指导AI按规范输出三个版本,同时做差异化检查防止一稿多投被判定重复。
解决的问题:发布后没有系统记录,不知道哪篇效果好、什么时间发最好。
技术实现:Python脚本初始化一个Markdown格式的追踪文件:
TRACKER_PATH = Path(r"E:\WorkBuddyData\outputs\data\publish_log.md")
content = f"""# 发布数据追踪日志
> 每次发布后追加一行记录,3天后更新表现数据。
> 初始化日期:{today}
"""记录字段包括:标题、平台、赛道、发布时间、3天阅读量、3天互动数据。积累10篇后可手动生成效果分析。
解决的问题:上述Skill各自独立,每次用都要手动触发,容易漏步骤。
实现方式:SKILL.md的frontmatter定义了触发条件和允许调用的工具:
---
name: content-workbench
version: 1.2.0
description: |
内容创作工作台。整合公众号和头条号全流程的总控技能。
当用户说"开始工作""内容工作台""今天写什么"时触发。
allowed-tools:
- Read
- Write
- Edit
- Bash
- WebSearch
- WebFetch
- Skill
---触发后展示当日待办(3个账号各需产出什么),用户选择后自动按8步流水线顺序调用对应Skill。在原创检测和违禁词扫描两个节点会暂停等待人工确认。
头条有"微头条"(100-300字)和"头条文章"(800-1500字)两种格式。我在toutiao-hotspot-rewriter技能的参考文件里加了一组关键词触发表:
这样不用每次都解释要哪种格式,说"帮我写个短评蹭个热点"就只出微头条,说"这个热点写篇深度文章"就只出头条文章。
最初想用Playwright自动化登录头条后台发草稿,结果发现头条的反爬机制:
msToken和a_bogus参数由前端JS SDK动态生成,无头浏览器无法复现最终方案改为:WorkBuddy自动生成文案和配图 → 手动复制粘贴到头条发布。自动化覆盖了"写稿→检测→配图"环节,发布环节仍需人工操作。
最初的8步流水线第6步只写了"封面设计(仅公众号)",头条号被跳过了。后来发现头条文章需要3-5张正文配图,微头条也需要1-3张配图才能获得更好的点击率。
修正后的配图规格:
写稿时正文中会自动标注  占位符,比如"甜瓜切开后靠近果皮的横截面特写",而不是笼统的"配图"。
结合WorkBuddy的Automation功能,设了7条定时任务:
公众号(4条)
头条号(3条)
到点后WorkBuddy自动生成文案和配图建议,我手动复制到各平台发布。头条晚间那条会先拉热榜筛选中老年相关热点,找不到合适热点则fallback到固定选题。
用HTML做了一个本地运行的可视化面板,包含:
面板是纯静态HTML,浏览器打开即用,不依赖任何后端服务。

这套工作台目前能覆盖"选题→写稿→检测→配图"的内容生产环节,通过定时任务实现到点自动生成文案。需要人工参与的环节包括:发布操作、旧作品管理、互动评论、数据记录。
技术上的核心收获是用Skill的参考文件机制(references目录)把平台规范、写作模板、触发表等知识固化下来,让AI每次按规范输出,而不是每次对话都重新描述需求。
如果你也在做类似的内容创作自动化,建议先把单篇流程手动跑通,确认每个环节的输入输出都对齐了,再考虑串联和自动化。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。