MD to WeChat Skill (AI Only)
Convert Markdown to WeChat Official Account HTML with inline CSS (AI mode) and optionally upload to the draft box.
Quick Commands
# Render AI-style HTML (theme) from Markdown python scripts/md_ai_render.py --md article.md --theme autumn-warm --out article.html # Then publish python scripts/wechat_publish.py --md article.md --html article.html --draft --cover cover.jpg
Workflow
- •Read the Markdown file and note title, images, and structure.
- •Pick AI theme (see
references/themes.md). - •Render themed HTML and save it to file.
- •If user wants one-click publish, upload images and create draft with the tool.
Render HTML
python scripts/md_ai_render.py --md article.md --theme autumn-warm --out article.html
Draft Upload (One-Click Publish)
python scripts/wechat_publish.py --md article.md --html article.html --draft --cover cover.jpg
Use the first image as cover if the user does not provide one.
Fetch WeChat-Sanitized HTML
python scripts/wechat_publish.py --md article.md --html article.html --draft --cover cover.jpg --fetch-draft article.wechat.html
Images
- •Local/remote images are uploaded to WeChat by the tool during publish.
- •For AI-generated images, insert
in Markdown or ask in natural language. - •For details, read
references/image-syntax.md.
Standalone Image
AI image generation is handled by Claude; no separate tool call.
Configuration (Env File)
Assume the user has an env file (e.g. .env) configured with:
- •
WECHAT_APPID - •
WECHAT_SECRET
Optional:
- •
IMAGE_API_KEY(AI images) - •
IMAGE_API_BASE
The publish tool loads .env by default; override with --env.
It also accepts AppID/AppSecret in the env file.
Draft title defaults to the Markdown filename (without .md). Override with --title.
Examples
Example 1: Basic Conversion
Input (article.md):
# Hello World This is a simple article. - Item 1 - Item 2
Command:
python scripts/md_ai_render.py --md article.md --theme autumn-warm --out article.html
Output (article.html): WeChat-compatible HTML with inline CSS and autumn-warm theme styling.
Example 2: Publish to Draft
Input: article.md + article.html + cover.jpg
Command:
python scripts/wechat_publish.py --md article.md --html article.html --draft --cover cover.jpg
Output:
{"success": true, "image_count": 2, "draft_media_id": "xxx"}
References
- •
references/themes.md(AI themes and prompts) - •
references/html-guide.md(WeChat HTML rules) - •
references/image-syntax.md(image syntax) - •
references/wechat-api.md(draft upload behavior)