WeChat Article Compliance Reviewer
aiworkskills/wechat-article-skills
Local, offline pre-publish review for a WeChat official account article: sensitive words, typos and platform compliance, producing an actionable fix list.
Publishes Markdown or HTML articles as drafts to a WeChat Official Account through an API client, with a first-time user walkthrough.
$ npx skills add iamzifei/wechat-article-publisher-skill --skill wechat-article-publisher -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install iamzifei/wechat-article-publisher-skill wechat-article-publisher --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/iamzifei/wechat-article-publisher-skill.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/wechat-article-publisher .claude/skills/wechat-article-publisher && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "wechat-article-publisher" agent skill from https://github.com/iamzifei/wechat-article-publisher-skill/tree/main/skills/wechat-article-publisher into .claude/skills/wechat-article-publisher/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wechat-article-publisher", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/iamzifei/wechat-article-publisher-skill/tree/main/skills/wechat-article-publisherType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add iamzifei/wechat-article-publisher-skill --skill wechat-article-publisher -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install iamzifei/wechat-article-publisher-skill wechat-article-publisher --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/iamzifei/wechat-article-publisher-skill.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/wechat-article-publisher .agents/skills/wechat-article-publisher && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "wechat-article-publisher" agent skill from https://github.com/iamzifei/wechat-article-publisher-skill/tree/main/skills/wechat-article-publisher into .agents/skills/wechat-article-publisher/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wechat-article-publisher", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add iamzifei/wechat-article-publisher-skill --skill wechat-article-publisher -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install iamzifei/wechat-article-publisher-skill wechat-article-publisher --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/iamzifei/wechat-article-publisher-skill.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/wechat-article-publisher .cursor/skills/wechat-article-publisher && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "wechat-article-publisher" agent skill from https://github.com/iamzifei/wechat-article-publisher-skill/tree/main/skills/wechat-article-publisher into .cursor/skills/wechat-article-publisher/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wechat-article-publisher", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/iamzifei/wechat-article-publisher-skill.git --path skills/wechat-article-publisher--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add iamzifei/wechat-article-publisher-skill --skill wechat-article-publisher -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install iamzifei/wechat-article-publisher-skill wechat-article-publisher --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/iamzifei/wechat-article-publisher-skill.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/wechat-article-publisher .gemini/skills/wechat-article-publisher && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "wechat-article-publisher" agent skill from https://github.com/iamzifei/wechat-article-publisher-skill/tree/main/skills/wechat-article-publisher into .gemini/skills/wechat-article-publisher/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wechat-article-publisher", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install iamzifei/wechat-article-publisher-skill wechat-article-publisherInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add iamzifei/wechat-article-publisher-skill --skill wechat-article-publisher -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/iamzifei/wechat-article-publisher-skill.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/wechat-article-publisher .github/skills/wechat-article-publisher && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "wechat-article-publisher" agent skill from https://github.com/iamzifei/wechat-article-publisher-skill/tree/main/skills/wechat-article-publisher into .github/skills/wechat-article-publisher/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wechat-article-publisher", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add iamzifei/wechat-article-publisher-skill --skill wechat-article-publisher -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install iamzifei/wechat-article-publisher-skill wechat-article-publisher --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/iamzifei/wechat-article-publisher-skill.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/wechat-article-publisher .opencode/skills/wechat-article-publisher && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "wechat-article-publisher" agent skill from https://github.com/iamzifei/wechat-article-publisher-skill/tree/main/skills/wechat-article-publisher into .opencode/skills/wechat-article-publisher/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wechat-article-publisher", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
wechat-article-publisherPublishes Markdown or HTML articles as drafts to a WeChat Official Account through an API client, with a first-time user walkthrough.
The skill uses direct API calls, not browser automation, to create drafts in a WeChat Official Account. A Python client lists authorized accounts and publishes a file, and an optional parser extracts structured data from Markdown. Markdown files are converted by the WeChat API, HTML files are sent as they are to preserve formatting, and an image-text mode for short posts is also available.
The workflow checks that WECHAT_API_KEY is set from a .env file, lists accounts and uses the only one automatically or asks you to choose, notes the app ID, detects the format and calls publish, then reports the draft details. Prerequisites are Python 3.9 or later, an account authorized on wx.limyai.com, and the API key. Phrases like first time or how does this work trigger a beginner walkthrough instead of publishing straight away.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit d3508c4. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 2 files in scripts/ (Python), which the agent can run.
Shell commands in SKILL.md call:
pythonFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
wx.limyai.comFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
WECHAT_API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
WeChat Article Publisher loads about 2.6k tokens when it runs. Until then it costs about 44 tokens; SKILL.md has 836 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
T_API_KEY environment variable set (from .env file)# Check if .env file exists and contains WECHAT_API_KEYcat .env | grep WECHAT_API_KEY1. Copy `.env.example` to `.env`cat .env | grep WECHAT_API_KEYcat .env | grep WECHAT_API_KEY**Solution**: Ask user to set up `.env` file with their API key.1. Check .env → list accounts → confirm with user**关于前置条件**:这个技能需要 公众号的 API 凭据(写在 .env 里的 WECHAT_API_KEY)。Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from iamzifei/wechat-article-publisher-skill at commit d3508c4, republished under its MIT licence (© iamzifei). 836 words, ~2,569 tokens.
.claude/skills/wechat-article-publisher/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.Publish Markdown or HTML content to WeChat Official Account drafts via API, with automatic format conversion.
Located in ~/.claude/skills/wechat-article-publisher/scripts/:
WeChat API client for listing accounts and publishing articles:
# List authorized accounts
python wechat_api.py list-accounts
# Publish from markdown file
python wechat_api.py publish --appid <wechat_appid> --markdown /path/to/article.md
# Publish from HTML file (preserves formatting)
python wechat_api.py publish --appid <wechat_appid> --html /path/to/article.html
# Publish with custom options
python wechat_api.py publish --appid <appid> --markdown /path/to/article.md --type newspicParse Markdown and extract structured data (optional, for advanced use):
python parse_markdown.py <markdown_file> [--output json|html]Strategy: "API-First Publishing"
Unlike browser-based publishing, this skill uses direct API calls for reliable, fast publishing.
Supported File Formats:
.md files → Parsed as Markdown, converted by WeChat API.html files → Sent as HTML, formatting preservedBefore any operation, verify the API key is available:
# Check if .env file exists and contains WECHAT_API_KEY
cat .env | grep WECHAT_API_KEYIf not set, remind user to:
.env.example to .envWECHAT_API_KEY valueGet the list of authorized WeChat accounts:
python ~/.claude/skills/wechat-article-publisher/scripts/wechat_api.py list-accountsOutput example:
{
"success": true,
"data": {
"accounts": [
{
"name": "我的公众号",
"wechatAppid": "wx1234567890",
"username": "gh_abc123",
"type": "subscription",
"verified": true,
"status": "active"
}
],
"total": 1
}
}Important:
wechatAppid for publishingFor Markdown files:
python ~/.claude/skills/wechat-article-publisher/scripts/wechat_api.py publish \
--appid <wechatAppid> \
--markdown /path/to/article.mdFor HTML files (preserves formatting):
python ~/.claude/skills/wechat-article-publisher/scripts/wechat_api.py publish \
--appid <wechatAppid> \
--html /path/to/article.htmlFor 小绿书 (image-text mode):
python ~/.claude/skills/wechat-article-publisher/scripts/wechat_api.py publish \
--appid <wechatAppid> \
--markdown /path/to/article.md \
--type newspicSuccess response:
{
"success": true,
"data": {
"publicationId": "uuid-here",
"materialId": "uuid-here",
"mediaId": "wechat-media-id",
"status": "published",
"message": "文章已成功发布到公众号草稿箱"
}
}After successful publishing:
All API requests require the X-API-Key header:
X-API-Key: WECHAT_API_KEYPOST https://wx.limyai.com/api/openapi/wechat-accountsPOST https://wx.limyai.com/api/openapi/wechat-publishParameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| wechatAppid | string | Yes | WeChat AppID |
| title | string | Yes | Article title (max 64 chars) |
| content | string | Yes | Article content (Markdown/HTML) |
| summary | string | No | Article summary (max 120 chars) |
| coverImage | string | No | Cover image URL |
| author | string | No | Author name |
| contentFormat | string | No | 'markdown' (default) or 'html' |
| articleType | string | No | 'news' (default) or 'newspic' |
| Code | Description |
|---|---|
| API_KEY_MISSING | API key not provided |
| API_KEY_INVALID | API key invalid |
| ACCOUNT_NOT_FOUND | Account not found or unauthorized |
| ACCOUNT_TOKEN_EXPIRED | Account authorization expired |
| INVALID_PARAMETER | Invalid parameter |
| WECHAT_API_ERROR | WeChat API call failed |
| INTERNAL_ERROR | Server error |
...)<title> or <h1> → Article title<img> tags → Images auto-uploaded to WeChat<p> → Auto-extracted as summaryHTML Title Extraction Priority:
<title> tag content<h1> tag contentHTML Content Extraction:
<body> exists, uses body content<html>, <head>, <!DOCTYPE> and uses remaining contentUser: "把 ~/articles/ai-tools.md 发布到微信公众号"
# Step 1: Verify API key
cat .env | grep WECHAT_API_KEY
# Step 2: List accounts
python ~/.claude/skills/wechat-article-publisher/scripts/wechat_api.py list-accounts
# Step 3: Publish (assuming single account with appid wx1234567890)
python ~/.claude/skills/wechat-article-publisher/scripts/wechat_api.py publish \
--appid wx1234567890 \
--markdown ~/articles/ai-tools.md
# Step 4: Report
# "文章已成功发布到公众号草稿箱!请登录微信公众平台预览并发布。"User: "把这个HTML文章发布到公众号:~/articles/newsletter.html"
# Step 1: Verify API key
cat .env | grep WECHAT_API_KEY
# Step 2: List accounts
python ~/.claude/skills/wechat-article-publisher/scripts/wechat_api.py list-accounts
# Step 3: Publish HTML (auto-detects format)
python ~/.claude/skills/wechat-article-publisher/scripts/wechat_api.py publish \
--appid wx1234567890 \
--html ~/articles/newsletter.html
# Step 4: Report
# "文章已成功发布到公众号草稿箱!HTML格式已保留。请登录微信公众平台预览并发布。"Error: WECHAT_API_KEY environment variable not set.Solution: Ask user to set up .env file with their API key.
Error: ACCOUNT_NOT_FOUND - 公众号不存在或未授权Solution: Ask user to authorize their account on wx.limyai.com.
Error: ACCOUNT_TOKEN_EXPIRED - 公众号授权已过期Solution: Ask user to re-authorize on wx.limyai.com.
Error: WECHAT_API_ERROR - 微信接口调用失败Solution: May be temporary issue, retry or check WeChat service status.
Minimal workflow (1 command):
- list-accounts → get appid → publish → done
Full workflow (with verification):
1. Check .env → list accounts → confirm with user
2. Publish with options → report resultA: Register and authorize your WeChat account at wx.limyai.com to get your API key.
A: Yes, use list-accounts to see all authorized accounts, then specify the target --appid.
A: Ensure images are accessible URLs. Local images are auto-uploaded but may fail if path is incorrect.
A: WeChat limits titles to 64 characters. The script will use the first 64 chars of H1.
A: news is standard article format; newspic (小绿书) is image-focused with limited text.
触发:/公众号发布 新手、「这个怎么用」「第一次用」「能干嘛」「带我走一遍」,
以及用户输入了技能名却没有给任何任务的时候。
这个模式的铁律:不假设、不索取。用户可能什么都没准备, 不要一上来就问他要文件、要 API key、要具体需求。按下面四步走:
一、先说清楚这是什么(三句话以内)
一句话:把 Markdown 文章直接发进公众号草稿箱,图片自动上传。 走的是微信官方接口,不是模拟点击,所以稳定。 发的是草稿,最终点「发表」的还是你。
二、给编号选项,让他按回车就能继续
不要问开放式问题(「你想做什么?」对新手是负担)。给 3 个选项加一个默认:
想先看哪个?(直接回车 = 1)
1. 先看看发出去长什么样(示例)
2. 把我的 Markdown 发成草稿
3. 先讲讲要准备什么三、直接演示一遍,边做边解释
选完立刻做给他看,用示例数据,不需要他提供任何东西。 每做完一步,加一行「💡 刚才发生了什么」,一句话说明这步的意义。
四、毕业
演示完只问一个是非题:「要不要用你自己的文章真跑一遍?」
答是就进正常流程;答否就告诉他随时回来输 /公众号发布 新手。
关于前置条件:这个技能需要 公众号的 API 凭据(写在 .env 里的 WECHAT_API_KEY)。 新手模式下不要提前索取——先用示例数据演示完,到第四步真跑的时候再引导他配置, 并说清楚在哪配、怎么拿。新手最容易在这一步流失。
© iamzifei, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 2 other files (scripts) in skills/wechat-article-publisher of iamzifei/wechat-article-publisher-skill.
Open the folder on GitHubat commit d3508c4
WeChat Article Publisher next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| WeChat Article Publisher this skilliamzifei/wechat-article-publisher-skill | 157 | — | ~2.6k | Automated safety check: Notes | MIT | |
| WeChat Article Compliance Revieweraiworkskills/wechat-article-skills | 672 | — | ~1.5k | Automated safety check: Pass | Apache-2.0 | |
| WeChat Official Account Publisheraiworkskills/wechat-article-skills | 672 | — | ~1.5k | Automated safety check: Pass | Apache-2.0 | |
| Create Experkfly/ex-skill | 2.5k | — | ~3.7k | Automated safety check: Notes | MIT | |
| Wechat Publishersakuraoxo-clio/wechat-publisher | 115 | — | ~1.4k | Automated safety check: Notes | MIT | |
| Wechat AutomationLAVARONG/wechat-automation-api | 181 | — | ~1.2k | Automated safety check: Pass | None |
aiworkskills/wechat-article-skills
Local, offline pre-publish review for a WeChat official account article: sensitive words, typos and platform compliance, producing an actionable fix list.
aiworkskills/wechat-article-skills
Publishes a finished article and its images directly to a WeChat official account through its official API, as a draft or a live broadcast.
perkfly/ex-skill
Distill an ex-girlfriend into an AI Skill. An agent skill from perkfly/ex-skill.
sakuraoxo-clio/wechat-publisher
把文章排版成微信公众号合规 HTML、自动上传图片、可选自动生成封面图,并通过官方 API 一键写入公众号草稿箱,用户只需在后台预览后发布。优先用组件化手写 HTML 做精排版,也支持 Markdown 快速排版。当用户提到「发布公众号」「推送到草稿箱」「公众号排版」「post to wechat」「微信公众号文章」时使用。
LAVARONG/wechat-automation-api
微信发信能力:通过 Windows 桌面微信发送文本、图片URL或本地文件。适合各类 Agent 在本机直接发送一次性消息。触发词:给[某人]发微信、通知[某人]、把这个用微信发给[某人]、用微信发个图片、把本地文件发给[某人]
nexus-research-lab/nexus
搜索微信公众号文章,并整理标题、摘要、发布时间、来源公众号和链接。用户提到微信公众号、 公众号文章、微信文章、搜一批公众号资料、按关键词找公众号内容、查某公众号相关报道, 或需要为中文研究收集微信公众平台文章时使用;即使用户只说“搜微信里的文章”也应触发。
Publishes Markdown or HTML articles as drafts to a WeChat Official Account through an API client, with a first-time user walkthrough. The skill uses direct API calls, not browser automation, to create drafts in a WeChat Official Account. A Python client lists authorized accounts and publishes a file, and an optional parser extracts structured data from Markdown.
WeChat Article Publisher fits situations like: sending a Markdown article to a WeChat Official Account as a draft; publishing an HTML article while keeping its formatting; learning how to use the publisher for the first time.
Run `npx skills add iamzifei/wechat-article-publisher-skill --skill wechat-article-publisher -a claude-code`. Or copy the skill folder (skills/wechat-article-publisher in iamzifei/wechat-article-publisher-skill) into .claude/skills/wechat-article-publisher in your project. Claude Code loads it when a task matches its description.
Run `npx skills add iamzifei/wechat-article-publisher-skill --skill wechat-article-publisher -a codex`. Or copy the skill folder (skills/wechat-article-publisher in iamzifei/wechat-article-publisher-skill) into .agents/skills/wechat-article-publisher in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add iamzifei/wechat-article-publisher-skill --skill wechat-article-publisher -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/wechat-article-publisher, .gemini/skills/wechat-article-publisher, .github/skills/wechat-article-publisher and .opencode/skills/wechat-article-publisher in your project.
Going by SKILL.md and its folder, WeChat Article Publisher needs Python for the scripts in its folder, the command-line tools its instructions call (python) and credentials named WECHAT_API_KEY. Our summary lists: A WECHAT_API_KEY in a .env file; Python 3.9 or later; A WeChat Official Account authorized on wx.limyai.com.
SKILL.md names 1 domain. In commands or code: wx.limyai.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
WeChat Article Publisher is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.6k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with WeChat Article Publisher: WeChat Article Compliance Reviewer (aiworkskills/wechat-article-skills, 672 stars), WeChat Official Account Publisher (aiworkskills/wechat-article-skills, 672 stars), Create Ex (perkfly/ex-skill, 2.5k stars) and Wechat Publisher (sakuraoxo-clio/wechat-publisher, 115 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
iamzifei (a GitHub user) maintains it in iamzifei/wechat-article-publisher-skill, which has 157 GitHub stars. The repository was last updated on August 12, 2026.
Source: iamzifei/wechat-article-publisher-skill on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.