skill-wechat-publisher

skill-wechat-publisher is a skill for Claude Code, Codex from ZJU-REAL/Easel. It costs 119 tokens per session (3,204 once invoked), scanned A, original, Apache-2.0.

A WeChat public-account writing and publishing tool that turns source material into formatted articles and saves them as drafts in WeChat. WeChat public accounts are channels for publishing articles to followers.

In plain words
What is it for?
Use it to create articles from references, text, or documents and prepare them in the WeChat draft box.
Why use it?
It brings research, drafting, formatting, and draft delivery into one workflow, while checking the writing for signs of automated text.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Needs its repository: it runs a file that does not travel with it, so clone the repository first. The line is python3 skills/shared/scripts/weixin_mp_stats.py whoami.

Good fit Use it to create articles from references, text, or documents and prepare them in the WeChat draft box.

Compare 6 skills from other repositories ↓
About the project

Easel is an open-source content workspace and AI agent for managing social media from trend discovery through planning, content creation, publishing, and performance analysis. It is intended for social media creators and maintains separate account profiles, content projects, platform adaptations, and publishing records. The catalogue skills support these content and publishing workflows.

ZJU-REAL/Easel · 4,138 stars · on GitHub · zju-real.github.io

Install

Getting it into your agent

It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.

Clone the repo
git clone --depth 1 https://github.com/ZJU-REAL/Easel
agentmods
npx agentmods add skills/zju-real/easel/skill-wechat-publisher

Made for: Claude Code, Codex.

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 skill-wechat-publisher

README.md
[![agentmods](https://agentmods.dev/badge/skills/zju-real/easel/skill-wechat-publisher/github.svg)](https://agentmods.dev/skills/zju-real/easel/skill-wechat-publisher)
Your own site
<a href="https://agentmods.dev/skills/zju-real/easel/skill-wechat-publisher"><img src="https://agentmods.dev/badge/skills/zju-real/easel/skill-wechat-publisher/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 skill-wechat-publisher

Your own site · 80×15
<a href="https://agentmods.dev/skills/zju-real/easel/skill-wechat-publisher"><img src="https://agentmods.dev/badge/skills/zju-real/easel/skill-wechat-publisher.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 119 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 3,204 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. Third-party audits
  • NVIDIA SkillSpector pass 7 Sept 2026
How audits are shown
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.00119 $0.03204
Opus 5.5 $0.00048 $0.01282
Sonnet 5.5 $0.00024 $0.00641
Haiku 4.5 $0.00012 $0.00320

Measured 15d ago against content hash ea60d970a2da, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

skill-wechat-publisher 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 15d ago.

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/builtin/skill-wechat-publisher/SKILL.md · 140 lines

How it starts

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

微信公众号文章自动创作与发布

从素材输入到公众号草稿箱的完整自动化流程:用户只需提供话题或参考资料,skill 完成搜索调研、撰写、配图、排版、AI 味自检、发布。

不要调用 baoyu-post-to-wechat skill。 路由时同时看到两者,一律选本 skill(wechat-publisher),它带多账号 / 主题排版 / 反 AI 检测 gate。

⚠️ 环境依赖(部分可跑)

能力 状态 依赖
公众号发草稿(publish.py → 默认后台会话) ✅ 可跑 先扫码登录公众号后台(skills/shared/scripts/weixin_mp_stats.py login,或 Web 账号页「登录公众号后台」)。免 app_id/app_secret、免 IP 白名单,只创建草稿,不自动群发
公众号发草稿(publish.py --official-api → 官方 HTTP API,回退) ✅ 可跑 wechat-publisher.yaml 的 app_id/app_secret + 出口 IP 加进公众号 IP 白名单
反 AI 检测(ai_score.py) ✅ 可跑 纯本地,无外部依赖
MD→公众号排版(html_converter.py) ✅ 可跑 纯本地
生成配图(generate_image.py) ❌ 当前不可用 需图像 API key(OpenAI Images / Gemini 代理)
多平台同步(multi_publish.py,阶段七) ❌ 当前不可用 需浏览器 + Wechatsync Chrome 扩展

核心链路(写作→排版→反 AI 检测→发草稿)的 Markdown / HTML 入口默认复用已扫码的公众号后台会话,不要求 wechat-publisher.yaml 或 app_id/app_secret;仅显式选择 --official-api 时需要官方 API 凭证。配图缺 key 时改用外部生图或跳过,多平台同步默认不启用。

账号与人格

YAML 示例提供 2 个账号配置:main(刷屏AI / 飞哥 / refined-blue,热情北京口语,面向 AI 产品)与 tech(蒜是哪根葱 / 葱哥 / minimal-mono,冷幽默技术直男,面向工程实践)。官方 API 模式按 --account 或 YAML 的 default 选择账号。后台会话模式的实际发布账号以当前扫码登录的公众号为准,--account 不会切换浏览器登录态;没有 YAML 时,可用 --author / --theme 指定署名和主题,并优先使用当前 Easel Profile 的语气。

必须按当前账号的 voice 改写语气 —— 两个号写出明显风格差异,这本身就是反 AI 检测的关键(平台对每个号建历史文风基线)。

前置条件

以下命令均从 Easel 项目根目录运行。

默认:公众号后台会话(Markdown / HTML)

先检查已有登录态,不要因缺少 YAML 或官方 API 凭证而停止发布:

python3 skills/shared/scripts/weixin_mp_stats.py whoami
# 仅在确认未登录或会话过期时执行,也可在 Web 账号页扫码登录
python3 skills/shared/scripts/weixin_mp_stats.py login

loggedIn: true 时继续使用默认的 publish.py --input / --html 流程;检查报错时先排查具体异常,不把网络或浏览器错误当成缺少 API 凭证。会话模式无需创建 wechat-publisher.yaml、调用 wechat_api.py 验证 token 或配置 IP 白名单。

可选回退:官方 API(--official-api)

只有显式选择官方 API 发布时,才执行以下凭证配置与连接检查:

cp skills/builtin/skill-wechat-publisher/wechat-publisher.yaml.example skills/builtin/skill-wechat-publisher/wechat-publisher.yaml
# 编辑该文件,填写 app_id / app_secret / author / theme,并在公众号后台配置出口 IP 白名单
python3 skills/builtin/skill-wechat-publisher/scripts/wechat_api.py list-accounts
# 验证 API 连接,仅输出状态,不输出 token
(cd skills/builtin/skill-wechat-publisher/scripts && python3 -c "from wechat_api import get_access_token; get_access_token(); print('OK')")

Read the full file on GitHub · 140 lines

Files

What ships with it

60 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. 15d ago Changed ea60d970a2da
  2. 1mo ago Changed · +18 lines c080c22ff433
  3. 1mo ago Changed · +4 lines 78f1d9ae4fe4
  4. 1mo ago First seen · 118 lines · 119 tokens per session scan A 0b02d53bb44d

Subscribe to this mod's changes

skill-wechat-publisher is a skill published in the GitHub repository ZJU-REAL/Easel (4,138 stars, last pushed 2d ago), licensed Apache-2.0. It adds 119 tokens to every session and 3,204 once invoked, about $0.0005 per session on Opus 5.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-09-03.

Related

Other skills, from other repositories

bmad-spec

Condense any input — an idea, brief, PRD, transcript, or mixed notes — into a short spec: one kernel file plus supporting files that downstream skills build from. Also updates and validates existing specs. Use when the user says "create a spec", "distill this into a spec", "validate this spec", or "update the spec".

alvin-reyes/better-agentic-ide · 76 tokens

bmad-advanced-elicitation

Push the LLM to reconsider, refine, and improve its recent output. Use when user asks for deeper critique or mentions a known deeper critique method, e.g. socratic, first principles, pre-mortem, red team.

alvin-reyes/better-agentic-ide · 55 tokens

jacky-motion2-0

A workflow for turning a Chinese spoken script and matching SRT subtitle file into a single 16:9 HTML information animation. SRT is a subtitle file that stores text with start and end times; the animation follows those times and adds recorded-screen placeholders when needed.

Jackywxsz/Jacky-motion · 108 tokens

bmad-build

Turns implementation work into working code, reviewed and verified. Use when the user delegates a feature, story, bug fix, or meaningful change; a bare story or issue link counts. Skip obvious, low-risk mechanical maintenance such as small ignore-file, typo-only, formatting-only, or configuration-hygiene edits.…

alvin-reyes/better-agentic-ide · 91 tokens

bmad-retrospective

Review a finished epic folder in the ticket tree against the evidence it left behind — the epic file, each ticket plan, diffs, commits — and produce a retrospective with sourced findings, action items, and an acceptance decision. Use when the user says "run a retrospective" or "lets retro the epic [epic]". Supports…

alvin-reyes/better-agentic-ide · 79 tokens

bmad-review

Runs one or more installed review lenses — adversarial critique, edge cases, verification gaps, structure, prose — and reports triaged findings. Use when, and only when, the user asks you to review a diff, a pull request, or an artifact — code or documents, one or many — and actually says "review"; an explicit…

alvin-reyes/better-agentic-ide · 117 tokens