AGENT SKILL

weixin-mp

通过 Limb 体系操作微信公众号:发布文章、上传图片、管理草稿。 Use when: 需要发布内容到微信公众号、查看草稿、检查公众号连接状态。 Not for: 其他平台的发布、纯文本聊天、非公众号相关操作。 Output: 微信公众号操作结果(发布ID、草稿列表、图片URL等)。

License 许可
MIT
最近更新
2026-08-16
Stars
★ 0
Forks
0

01 前言 Front Matter

name
weixin-mp
triggers
[ "微信", "公众号", "发文", "weixin", "wechat", "publish article" ]
description
通过 Limb 体系操作微信公众号:发布文章、上传图片、管理草稿。 Use when: 需要发布内容到微信公众号、查看草稿、检查公众号连接状态。 Not for: 其他平台的发布、纯文本聊天、非公众号相关操作。 Output: 微信公众号操作结果(发布ID、草稿列表、图片URL等)。

03 SKILL.md 正文

微信公众号发文

通过 Limb 体系三步调用操作微信公众号:

  1. limb_list_available — 发现在线节点
  2. limb_list_tools — 查询工具 schema
  3. limb_invoke_tool — 调用具体工具

使用前检查

先调用 limb_list_available({ capability: "content_publish" }) 确认 weixin-mp 节点在线。 如果节点不在线或不存在,提示用户在 设置 → 插件集成 中启用并配置微信公众号插件。

接口发现

limb_list_available() 返回当前在线节点的 capability、command 和 authLevel;这是可调用命令白名单。 调用 limb_list_tools({ nodeId: "weixin-mp" }) 获取每个工具的参数 schema。 详细参数以本 skill 的"核心能力"说明为准。当前列表中没有的命令不要猜测调用;如果缺少预期命令,提示用户重新启用或同步微信公众号插件。

核心能力

  • 检查连接 — limb_invoke_tool({ nodeId: "weixin-mp", command: "weixin_mp.check_status" }) 确认公众号是否配置并可连接。

  • Markdown 转 HTML — limb_invoke_tool({ nodeId: "weixin-mp", command: "weixin_mp.convert_markdown", params: { markdown } }) 将 Markdown 转为微信兼容内联样式 HTML,写入系统临时目录并返回 { filePath }。发文前必须调用。支持 markdownFilePath 替代 markdown 读取本地文件(必须在系统临时目录下,上限 2 MB)。

  • 上传正文图片 — limb_invoke_tool({ nodeId: "weixin-mp", command: "weixin_mp.upload_image", params: { fileLocation } }) 上传图片到微信 CDN,返回可在文章正文中使用的 { url }。fileLocation 支持 HTTP/HTTPS URL 或 OS 临时目录下的本地路径(如 /tmp/photo.png)。本地文件必须在系统临时目录下,其他路径会被拒绝。格式:jpg/png/gif/bmp,上限 10 MB。

  • 上传封面素材 — limb_invoke_tool({ nodeId: "weixin-mp", command: "weixin_mp.upload_material", params: { fileLocation } }) 上传永久图片素材,返回 { mediaId, url }。用作封面图的 thumbMediaId。同 upload_image,本地路径限系统临时目录,上限 10 MB。

  • 创建草稿 — limb_invoke_tool({ nodeId: "weixin-mp", command: "weixin_mp.create_draft", params: { title, content, thumbMediaId, author?, digest? } }) 创建草稿箱文章。content 须是微信 HTML(先调 convert_markdown),thumbMediaId 是封面 media_id(先调 upload_material)。支持 contentFilePath 替代 content 传入大段内容(必须在系统临时目录下,上限 2 MB)。

  • 更新草稿 — limb_invoke_tool({ nodeId: "weixin-mp", command: "weixin_mp.update_draft", params: { mediaId, title?, content?, thumbMediaId?, author?, digest? } }) 更新草稿箱文章,仅传需要修改的字段。支持 contentFilePath 替代 content(同上,限系统临时目录)。

  • 删除草稿 — limb_invoke_tool({ nodeId: "weixin-mp", command: "weixin_mp.delete_draft", params: { mediaId } }) 删除草稿箱中的指定草稿。

  • 发布草稿 — limb_invoke_tool({ nodeId: "weixin-mp", command: "weixin_mp.submit_publish", params: { mediaId } }) 将草稿发布。mediaId 是 create_draft 返回的 media_id。

  • 查看草稿 — limb_invoke_tool({ nodeId: "weixin-mp", command: "weixin_mp.list_drafts", params: { offset?, count? } }) 列出草稿箱中的文章及其 media_id。

  • 发布状态 — limb_invoke_tool({ nodeId: "weixin-mp", command: "weixin_mp.publish_status", params: { publishId } }) 查询发布任务的处理状态和文章链接。

  • 素材管理 — list_material、get_material_count、delete_material 管理永久素材。

  • 已发布文章 — list_articles、delete_article 管理已发布文章。

发文流程(编排示例)

发布一篇 Markdown 文章的标准步骤:

  1. convert_markdown — Markdown → 微信 HTML(返回 filePath)
  2. 正文中的外部图片 → 逐个 upload_image → 替换为微信 CDN URL
  3. upload_material — 上传封面图 → 得到 thumbMediaId
  4. create_draft — 创建草稿(传入 contentFilePath + thumbMediaId)
  5. 可选:submit_publish — 发布草稿

常见错误

  • 忘记先调 convert_markdown 就直接传 Markdown 给 create_draft
  • 文章正文中使用外部图片链接(必须先 upload_image 到微信 CDN)
  • 混淆草稿 media_id 和发布 publishId
  • 使用旧工具名 limb_invoke(已更名为 limb_invoke_tool,需配合 limb_list_tools 查 schema)

限制

  • 微信 HTML 不支持外部 CSS/JS,所有样式内联处理
  • access_token 2h 过期,系统自动刷新,无需手动管理
  • 本地文件限制:所有本地文件路径(fileLocation、markdownFilePath、contentFilePath)必须在 OS 系统临时目录下(如 /tmp/)。文本文件上限 2 MB,图片文件上限 10 MB。需要上传工作区文件时,先复制到临时目录再传入路径

04 同仓库更多 Skills

peps1666
peps1666/BuildCrew-AI

plugin-reconcile-skill

暂无简介

★ 0
peps1666
peps1666/BuildCrew-AI

writing-skills

创建或修改 Clowder AI skill / MCP tool description 的元技能(含质量标准、范本、发布)。 Use when: 写新 skill、修改现有 skill、写/改 MCP tool description、验证 skill 质量; 或者功能实现中产出了 SKILL.md / cat-cafe-skills/ 新目录 / manifest.yaml skill 条目。 Not for: 使用 skill(直接触发对应 skill)。 Output: 新/更新的 SKILL.md + manifest 条目 + symlinks。 GOTCHA: 软硬同重——skill/MCP 质量 = 代码质量;不要写模型已知的通用教程,先过价值门禁。

★ 0
peps1666
peps1666/BuildCrew-AI

writing-plans

将 spec/需求拆分为可执行的分步实施计划。 Use when: 有 spec 或需求,准备动手前需要拆分步骤。 Not for: trivial 改动(≤5 行)、已有详细计划。 Output: 分步实施计划(含 TDD 步骤和检查点)。

★ 0
peps1666
peps1666/BuildCrew-AI

worktree

为代码、脚本、API 与第一方执行面创建隔离 Git worktree,并配置 Redis 6398;classifier 放行的 co-creation docs direct push 不进入本流程。

★ 0
peps1666
peps1666/BuildCrew-AI

workspace-navigator

猫猫把“打开文档、代码或日志”等模糊意图解析成本地绝对路径或 worktree 相对路径,并返回 applied、queued、blocked 或 unconfirmed 的真实 Workspace 投递状态。

★ 0
peps1666
peps1666/BuildCrew-AI

vision-rescue

绝境反转方法论:当任务似乎没有希望、反复摆动、准备放弃愿景时的五步突破框架。 Use when: 任务看起来无解、多次尝试失败后想放弃、输出投降修辞("现状最优"/"没救了"/"接受现实")、连续 3+ 轮在希望与绝望间摆动。 Not for: 未出现绝境信号的常规 debugging(用 debugging)、常规探索/调研(用 deep-research)、operator 已签字降级的目标、trivial 任务。 Output: Desperation Packet(六问证据评估)+ 新方向行动计划 / operator 升级请求。

★ 0