Install any skill in seconds. Free to start, no credit card required.
Get Started Free →把已确认的公众号终稿 Markdown 排版并写入微信公众号草稿箱。用于用户说"发布到公众号、写入草稿箱、公众号排版、换个排版主题、发小绿书图片消息"等场景。自动上传封面与文内图片,支持多主题与自定义 CSS、多账号和 server 模式。只创建草稿不群发,凭据只通过环境变量提供,未安装适配工具时交付手动发布包。
.claude/skills/yanhua1010-self-media-wechat-publisher/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-03 | ✗→✓ | ▲ Improved | 55% | 0% |
| case-12 | ✗→✓ | ▲ Improved | -15% | 0% |
| case-14 | ✗→✓ | ▲ Improved | 14% | 0% |
| case-17 | ✗→✓ | ▲ Improved | -39% | 0% |
| case-19 | ✗→✓ | ▲ Improved | 11% | 0% |
把确认过的公众号终稿 Markdown 排版成平台原生富文本,连同封面和文内图片写入公众号草稿箱。只创建草稿,从不群发。
本模块是公众号渠道的发布适配层,基于开源工具 wenyan CLI(Apache-2.0)。wenyan 不可用时不阻塞创作流程,按 self-media-content-delivery 交付手动发布包。
wenyan --version 确认安装。未安装时提示 npm install -g @wenyan-md/cli,用户不想安装则直接交付手动发布包。WECHAT_APP_ID 和 WECHAT_APP_SECRET 环境变量存在。只判断存在性,不读取、不回显、不写入任何文件。文章顶部必须有 frontmatter:title 必填;cover 为本地或网络路径,缺省时自动取正文第一张图;author 和 source_url 可选。文内图片支持本地绝对路径、相对路径和网络地址,发布时自动上传公众号素材库。模板见 wechat-article-template.md。
小绿书图片消息:frontmatter 设 type: image 自动提取正文全部图片,或手动列出 image_list。最多 20 张,首图即封面。
wenyan render -f 文章.md -t 主题),让用户对比选择。-c 加载自定义 CSS 主题。两层授权缺一不可:终稿确认,加上草稿箱写入授权。
wenyan render 本地渲染,确认无乱码、代码块和表格可读。wenyan publish -f 文章.md -t 主题 -h 高亮主题 写入草稿箱。发布失败时按 wenyan-setup.md 排查。同一错误不盲目重试超过一次,凭据类问题交给用户处理。
发布到多个公众号时,改用 wenyan 的凭据配置管理多账号,publish 时加 --app-id 指定。每个账号都需要独立配置 IP 白名单。
返回:草稿标题、使用主题、封面来源、图片数量、草稿创建时间和需要人工核对的清单。
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-03 | fail→pass | 12,322 | 16,234 | +32% | 1 | 1 | 0% | 1,751 | 2,706 | +55% | 0 | 0 | — |
case-01 | fail→fail | 12,835 | 11,927 | -7% | 1 | 1 | 0% | 2,063 | 2,861 | +39% | 0 | 0 | — |
case-02 | fail→fail | 8,086 | 9,973 | +23% | 1 | 1 | 0% | 538 | 2,480 | +361% | 0 | 0 | — |
case-04 | pass→pass | 11,362 | 4,693 | -59% | 1 | 1 | 0% | 1,954 | 1,409 | -28% | 0 | 0 | — |
case-05 | pass→pass | 5,529 | 6,268 | +13% | 1 | 1 | 0% | 808 | 1,732 | +114% | 0 | 0 | — |
case-06 | fail→fail | 18,929 | 14,680 | -22% | 1 | 1 | 0% | 3,074 | 3,158 | +3% | 0 | 0 | — |
case-07 | fail→fail | 13,730 | 6,956 | -49% | 1 | 1 | 0% | 2,245 | 1,904 | -15% | 0 | 0 | — |
case-08 | pass→pass | 8,301 | 4,619 | -44% | 1 | 1 | 0% | 1,239 | 1,576 | +27% | 0 | 0 | — |
case-09 | pass→pass | 4,913 | 2,667 | -46% | 1 | 1 | 0% | 747 | 1,338 | +79% | 0 | 0 | — |
case-10 | pass→pass | 6,511 | 2,678 | -59% | 1 | 1 | 0% | 980 | 1,292 | +32% | 0 | 0 | — |
case-11 | pass→pass | 9,491 | 2,737 | -71% | 1 | 1 | 0% | 1,479 | 1,296 | -12% | 0 | 0 | — |
case-12 | fail→pass | 9,640 | 3,143 | -67% | 1 | 1 | 0% | 1,603 | 1,360 | -15% | 0 | 0 | — |
case-13 | pass→pass | 10,196 | 5,500 | -46% | 1 | 1 | 0% | 1,410 | 1,651 | +17% | 0 | 0 | — |
case-14 | fail→pass | 8,961 | 4,445 | -50% | 1 | 1 | 0% | 1,351 | 1,541 | +14% | 0 | 0 | — |
case-15 | pass→pass | 16,235 | 9,056 | -44% | 1 | 1 | 0% | 2,489 | 2,218 | -11% | 0 | 0 | — |
case-16 | fail→fail | 17,750 | 7,861 | -56% | 1 | 1 | 0% | 2,709 | 1,975 | -27% | 0 | 0 | — |
case-17 | fail→pass | 13,232 | 2,337 | -82% | 1 | 1 | 0% | 2,030 | 1,246 | -39% | 0 | 0 | — |
case-18 | pass→pass | 7,942 | 3,935 | -50% | 1 | 1 | 0% | 1,247 | 1,408 | +13% | 0 | 0 | — |
case-19 | fail→pass | 11,517 | 6,862 | -40% | 1 | 1 | 0% | 1,797 | 1,986 | +11% | 0 | 0 | — |
case-20 | pass→pass | 11,536 | 3,176 | -72% | 1 | 1 | 0% | 1,742 | 1,315 | -25% | 0 | 0 | — |
case-21 | fail→pass | 11,472 | 8,664 | -24% | 1 | 1 | 0% | 1,977 | 2,230 | +13% | 0 | 0 | — |
case-22 | pass→pass | 9,794 | 3,261 | -67% | 1 | 1 | 0% | 1,479 | 1,324 | -10% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 21 counted toward the lift figure. The other 1 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +27 percentage points is the difference between those two pass rates over the 21 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.