publisher-wechatsync

publisher-wechatsync is a skill for Claude Code from xiaomoBoy/claude-writing-skills. It costs 90 tokens per session (2,553 once invoked), scanned A, original, MIT.

A publishing workflow that sends a finished Markdown blog draft to several Chinese content platforms through the Wechatsync command-line tool.

In plain words
What is it for?
Use it to preview or sync an existing article to platforms such as Zhihu, Juejin, CSDN, and WeChat Official Accounts.
Why use it?
It checks the required login and browser connection before sending the draft, reducing failed publishing attempts.

Skill for Claude Code

Written for Claude Code: shipped in a Claude Code plugin. Also seen: mentions CLAUDE.md; mentions AGENTS.md.

Part of the claude-writing-skills plugin — 5 skills shipped together

Good fit Use it to preview or sync an existing article to platforms such as Zhihu, Juejin, CSDN, and WeChat Official Accounts.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/xiaomoboy/claude-writing-skills/publisher-wechatsync
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add xiaomoBoy/claude-writing-skills --skill publisher-wechatsync
Clone the repo
git clone --depth 1 https://github.com/xiaomoBoy/claude-writing-skills

Made for: Claude Code.

Or install claude-writing-skills, the plugin that ships this one along with the rest of its 5 skills.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for publisher-wechatsync

README.md
[![agentmods](https://agentmods.dev/badge/skills/xiaomoboy/claude-writing-skills/publisher-wechatsync/github.svg)](https://agentmods.dev/skills/xiaomoboy/claude-writing-skills/publisher-wechatsync)
Your own site
<a href="https://agentmods.dev/skills/xiaomoboy/claude-writing-skills/publisher-wechatsync"><img src="https://agentmods.dev/badge/skills/xiaomoboy/claude-writing-skills/publisher-wechatsync/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for publisher-wechatsync

Your own site · 80×15
<a href="https://agentmods.dev/skills/xiaomoboy/claude-writing-skills/publisher-wechatsync"><img src="https://agentmods.dev/badge/skills/xiaomoboy/claude-writing-skills/publisher-wechatsync.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 90 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,553 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00090 $0.02553
Opus 5 $0.00045 $0.01277
Sonnet 5 $0.00018 $0.00511
Haiku 4.5 $0.00009 $0.00255

Measured 12d ago against content hash 756a837d6f2a, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-11, from the pricing page.

Security

Grade A, and why

publisher-wechatsync scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 12d ago.

The scan reads SKILL.md. This mod also ships 1 executable file (scripts/normalize_image_paths.py), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/publisher-wechatsync/SKILL.md · 252 lines

How it starts

The opening of the file, as written. The whole thing — 252 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Publisher Wechatsync

这个 skill 只负责一件事:把已经写完的博客母稿通过 @wechatsync/cli 发到多个平台的草稿箱。

边界很明确:

  • 负责:预检、平台选择、dry-run、真正同步、结果汇报
  • 不负责:改写正文
  • 不负责:大陆合规脱敏
  • 不负责:生成平台版标题、摘要、封面图
  • 不负责:替换母稿里的外链
  • 不负责:删除或修改源文件

一句话原则:这一层只做"把现有 md 送到各家草稿箱"这一段,改写是另一个 skill 的事。

Working Scope

适用场景:

  • 用户说"把这篇发到知乎和掘金"
  • 用户说"同步到公众号草稿箱"
  • 用户说"这篇母稿写完了,帮我发出去"
  • 用户说"先 dry-run 一下看看能发到哪里"

不适用场景:

  • 用户说"帮我改成公众号风格"
  • 用户说"过一下合规"
  • 用户说"帮我补摘要/封面/标题"
  • 用户说"从 URL 抓取正文"

以上任意一种都不在这个 skill 的边界内。停住,告诉用户"发布 skill 不做改写,这是另一段流程"。

Required Inputs

每次执行前至少要拿到:

  1. 源文件路径:一个已写完的 .md 文件路径(例如 path/to/your-article.md)
  2. 目标平台列表:逗号分隔的平台名(例如 zhihu,juejin,csdn)

可选补充:

  • --title:显式覆盖标题(默认从 frontmatter 或首个 # 提取)
  • --cover:封面图 URL 或本地路径(知乎/公众号/小红书需要)

Preconditions

开始前必须先确认这 3 件事:

  1. CLI 已安装
    • 执行 which wechatsync 能拿到路径
    • 执行 wechatsync --version 不报错
    • 如果没装,告诉用户运行 npm install -g @wechatsync/cli 再回来
  2. Chrome 扩展已连通
    • 用户需要安装 Wechatsync Chrome 扩展,并开启「同步桥接 / MCP Connection」
    • 扩展里会显示一个 Token
    • 用户把 Token 写进环境变量:export WECHATSYNC_TOKEN="xxx"
    • 端口默认 9527,如果占用,用 SYNC_WS_PORT 覆盖
  3. 目标平台已登录
    • 用户需要先在 Chrome 里登录目标平台(知乎、掘金、CSDN 等)的网页版
    • 扩展用的是当前浏览器的 Cookie,没登录就发不了
    • wechatsync platforms -a 查各平台登录状态

如果上面任何一条没满足,停住报错,不要试图绕过。

Output Contract

这个 skill 的标准输出:

  1. 预检报告(CLI 版本、Token 是否配置、目标平台登录状态)
  2. dry-run 预览(将要发到哪几个平台、文件路径、标题)
  3. 用户确认后的真正同步结果(每个平台是否成功、草稿链接或 id)
  4. 一句总结,告诉用户下一步要去哪些平台后台审核

不生成任何中间文件。不修改源文件。不写入仓库任何位置。

Workflow

Step 1: 接收输入并自检

先做这几件事:

  1. CLAUDE.md / AGENTS.md,确认当前仓库流程允许发布
  2. 确认用户要发的文件确实存在
  3. 运行 which wechatsync,确认 CLI 可用
  4. 运行 echo $WECHATSYNC_TOKEN | wc -c,确认 Token 非空

任意一条失败就停住,别继续。

Step 1.5: 规整化图片路径(预处理)

Obsidian 写出的 markdown 默认会把图片路径 URL 编码(空格变 %20,中文字符也被编码),wechatsync CLI 不会自动 decode,直接发会导致图片全部跳过。

每次发布前必须先跑预处理:

python3 scripts/normalize_image_paths.py "<md 文件路径>" --dry-run

看预览:

  • 如果 找不到: 0,跑一次去掉 --dry-run 的版本,原地修正
  • 如果 找不到 大于 0,停住,先排查图片文件到底在哪。不要带着 broken 图去发
  • 如果 已修复: 0,说明这篇不需要预处理,直接进下一步

Read the full file on GitHub · 252 lines

Files

What ships with it

2 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 12d ago First seen · 252 lines · 90 tokens per session scan A 756a837d6f2a

Subscribe to this mod's changes

publisher-wechatsync is a skill published in the GitHub repository xiaomoBoy/claude-writing-skills (32 stars, last pushed 3mo ago), licensed MIT. It adds 90 tokens to every session and 2,553 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

story-import

A tool for turning an existing novel into a structured writing project. It analyzes the book and organizes its characters, settings, plot plans, chapters, and tracking data for later writing.

zenstory-ai/oh-story-claudecode · 98 tokens

story-long-analyze

A long-form fiction analysis workflow for breaking down a novel’s opening chapters, characters, pacing, turning points, relationships, and overall structure.

zenstory-ai/oh-story-claudecode · 173 tokens

story-deslop

A writing editor for Chinese web novels that detects writing patterns often associated with AI-generated text and makes the prose feel more natural.

zenstory-ai/oh-story-claudecode · 62 tokens

story-short-analyze

A Chinese-language guide for analysing short popular web fiction, such as stories published on 番茄, 故事会, or 知乎盐选. It examines the core premise, plot structure, emotional arc, twists, writing techniques, and reader appeal.

zenstory-ai/oh-story-claudecode · 226 tokens

story

A Chinese-language routing tool for fiction writers that directs requests to tools for outlining, writing, analysis, reviews, covers, importing novels, browser control, and project management.

zenstory-ai/oh-story-claudecode · 68 tokens

story-long-write

A Chinese-language coaching workflow for creating long online novels, from the initial idea and outline through characters, plot threads, and chapter drafts. It also supports continuing, revising, or rewriting specified chapters.

zenstory-ai/oh-story-claudecode · 81 tokens