我给AI助手装了一项技能Skill——自动写博客并发布到博客园
我给AI助手装了一项技能——自动写博客并发布到博客园
最近在用腾讯的 AI 编程助手「小龙虾」(WorkBuddy),发现它有一个叫「技能(Skills)」的功能,可以把一套固定流程封装成可复用的模块,让 AI 以后碰到同类任务时直接调用,不用每次重新解释。我正好有个高频需求——把对话内容整理成博客发到博客园——于是决定把这件事做成一个技能,顺便记录一下这个过程。
背景:重复操作触发自动化冲动
我的博客园账号断断续续写了好几年,内容主要是一些 Python 小工具、Arduino 项目记录,以及偶尔的技术心得。写博客本身不难,麻烦的是那套固定流程:整理内容、写成 Markdown、保存到本地、再调工具上传——每次都要手动来一遍,还得记路径、记命令。
有一次跟 AI 聊完一个话题,觉得内容不错想发出去,结果光是解释"保存到哪个目录、用哪个 Python 脚本上传、脚本怎么调用"就费了不少口舌。说了一次还好,但如果每次都要重复这些,就很没意思了。
技能这个功能的触发点就在这里:把「环境配置 + 操作流程」固化下来,让 AI 记住,以后直接用。
技能是什么,原理是什么
在动手之前,我先弄清楚了技能的工作原理。简单说,技能就是一个放在固定目录下的文件夹,里面有一个核心文件 SKILL.md,记录了这项技能的说明、适用场景、以及 AI 应该怎么操作。AI 在判断用户意图时,会自动检测有没有匹配的技能可以加载,加载后就等于获得了这份「说明书」,知道该怎么干。
除了说明书,技能目录里还可以放脚本(scripts)、参考文档(references)和资产文件(assets)。对于我这个需求,最关键的就是一个封装好的上传脚本,把每次都要重复处理的路径问题、编码问题、目录切换问题统一解决掉。
动手过程
第一步:初始化技能目录
WorkBuddy 提供了一个初始化脚本,可以一键生成技能的标准目录结构,包括 SKILL.md 模板和各个子目录。这一步本来应该很顺,但在 Windows 上遇到了第一个坑:PowerShell 对中文路径处理有问题,路径里包含中文字符就报错"文件名、目录名或卷标语法不正确"。
解决办法是绕过 PowerShell,改用 cmd /c 或者写一个临时 bat 文件来执行,这套思路贯穿了整个过程。
第二步:写 SKILL.md
这是技能的核心。我在里面写了:
- 用户环境的固定配置(Python 路径、工具目录、Markdown 保存目录)
- 标准的四步工作流:撰写文章 → 保存文件 → 执行上传脚本 → 反馈结果
- 博客写作规范(标题格式、语气要求、结尾处理等)
- 常见问题处理方式(比如缺包怎么装、标题重复怎么办)
把这些信息写进 SKILL.md,AI 下次接到"写篇博客发到博客园"这类请求时,就不需要我再解释一遍环境,直接按规范执行。
第三步:封装上传脚本
这里是整个过程里最需要动脑的地方。
用户的上传工具 pycnblog 本身是个 Python 脚本,正常用法是 cd 进工具目录再运行。但在 AI 直接调用时,路径问题、编码问题、工作目录问题都可能让它失败。
我写了一个包装脚本 upload_to_cnblog.py,核心逻辑是:用 Python 的 subprocess.run 调用原始上传脚本,同时显式指定 cwd(工作目录)为工具所在目录,这样就等价于手动 cd 进去再运行,彻底解决了工作目录的问题。
另外,Windows 下 Python 默认控制台编码是 GBK,打印中文路径时会报 UnicodeEncodeError。处理方式是在脚本开头把 sys.stdout 重定向为强制 UTF-8 输出。
第四步:遇到 pyyaml 缺失
第一次真正运行上传流程时,报了 ModuleNotFoundError: No module named 'yaml'。这是因为用户系统上装了多个 Python 环境,而 pycnblog 工具依赖的 pyyaml 只装在了其中一个。
用用户系统里的 Python 3.14 对应的 pip 装上 pyyaml,问题解决。这个步骤也被记录进了 SKILL.md 的"常见问题处理"里,方便以后遇到时直接参考。
验证
技能写完后,我用上一篇刚写好的文章(介绍小龙虾技能与插件原理的那篇)做了测试。
运行封装脚本,输出结果是:
markdown读取成功: ...腾讯小龙虾WorkBuddy技能与插件深度解析.md
无需上传图片
markdown上传成功, 博客标题为'腾讯小龙虾WorkBuddy技能与插件深度解析', 状态为'未发布', 请到博客园后台查看
上传成功,文章以草稿状态出现在博客园后台,标题和内容完全正确。
这篇文章本身就是一次测试
这篇博客,就是用刚装好的 cnblog-publisher 技能生成并上传的。从"开始写"到"上传完成",我只说了一句话:"把你学习这个技能的过程写篇博客发到博客园",剩下的事情——整理内容、组织结构、保存文件、调用脚本——全部由 AI 按技能里定义的流程自动完成。
技能封装的价值就在这里:把「我知道怎么做」变成「AI 也知道怎么做」,然后从此不用再说第二遍。
对于有类似重复流程需求的朋友,推荐试试这个功能。不需要会复杂的编程,把流程用文字写清楚,装进技能目录,就能让 AI 帮你记住并执行。
本文由 WorkBuddy cnblog-publisher 技能自动生成并发布。
过程截图
初次写SKILL





技能验证



浙公网安备 33010602011771号