wechat-mp-smart-publish
WeChat公式アカウントへの記事投稿を効率化し、タイトル最適化、見やすいレイアウト調整、魅力的なカバー画像設定、下書き保存までを自動化するSkill。
📜 元の英語説明(参考)
微信公众号智能发布全流程:标题优化、排版、封面图、发布。支持 Markdown→微信HTML转换、UEditor排版(15px/#3f3f3f/1.75倍行高)、封面图上传、自动存草稿。基于 Playwright CDP 直连浏览器操作。
🇯🇵 日本人クリエイター向け解説
WeChat公式アカウントへの記事投稿を効率化し、タイトル最適化、見やすいレイアウト調整、魅力的なカバー画像設定、下書き保存までを自動化するSkill。
※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o wechat-mp-smart-publish.zip https://jpskill.com/download/15606.zip && unzip -o wechat-mp-smart-publish.zip && rm wechat-mp-smart-publish.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/15606.zip -OutFile "$d\wechat-mp-smart-publish.zip"; Expand-Archive "$d\wechat-mp-smart-publish.zip" -DestinationPath $d -Force; ri "$d\wechat-mp-smart-publish.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
wechat-mp-smart-publish.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
wechat-mp-smart-publishフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-18
- 取得日時
- 2026-05-18
- 同梱ファイル
- 3
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
WeChat MP Smart Publish — 公众号自动发布
Markdown 文章をワンクリックで WeChat 公式アカウントの草稿箱に公開します。
どのような時に使うか
- 作成済みの公式アカウント記事(markdown)を草稿箱にアップロードする必要がある場合
- 複数のコンテンツを WeChat 公式アカウントに一括で公開する場合
- 自動化されたコンテンツ配信パイプラインの一部として利用する場合
- その他の agent(小contentなど)が公式アカウントのコンテンツを公開する必要がある場合
適用できない場合
- ❌ 直接正式に公開する必要がある場合(草稿ではない)— 現在は草稿の保存のみをサポートしており、最終的な公開は手動で行う必要があります。
- ❌ 動画コンテンツ — 図文メッセージのみをサポートします。
- ❌ 公開済みの記事を編集する必要がある場合
事前条件
| 条件 | 説明 | 確認方法 |
|---|---|---|
| Playwright | Python playwright ライブラリ | pip show playwright |
| OpenClaw Browser | ブラウザサービスが実行中であること | openclaw browser status または 127.0.0.1:18800 を確認 |
| 微信 Cookie | Playwright state ファイルが有効であること | cat ~/.playwright-data/wechat/state-default.json \| python3 -c "import json,sys; d=json.load(sys.stdin); print(f'Cookies: {len(d.get(\"cookies\",[]))}')" |
| Cookie 未过期 | cookies に qname と uin が含まれていること | cookie 中の qname フィールドを確認 |
入力
入力パラメータ:
article_path: string # Markdown ファイルのパス
cover_path: string # カバー画像のパス (jpg/png, 推奨 2.35:1 の比率, ≥900x383)
decision: draft # 現在は draft のみをサポート
Markdown 形式の要件
# 标题(文章标题,≤64字)
正文内容,支持 **加粗**、*斜体*、`行内代码` 等常见 Markdown 语法。
## 子标题
段落文字...
出力
出力:
status: ok | error
draft_saved: true/false
draft_url: string # 草稿箱の URL
screenshot_path: string # スクリーンショットのパス
title: string # 実際に使用されたタイトル
content_length: number # 本文の文字数
使用方法
方式一:直接スクリプトを実行する
python3 ~/clawd/skills/wechat-mp-smart-publish/scripts/publish.py \
--article /path/to/article.md \
--cover /path/to/cover.jpg \
--decision draft
方式二:モジュールとして呼び出す
import asyncio
from scripts.publish import publish_to_wechat
result = asyncio.run(publish_to_wechat(
article_path="/path/to/article.md",
cover_path="/path/to/cover.jpg",
decision="draft",
))
print(result)
方式三:Agent から呼び出す(推奨)
他の agent が sessions_send を通じて小code を実行する:
请发布文章到微信公众号草稿箱:
- 文章: ~/clawd/docs/daily-content/2026-04-14/gzh/amd-gaia-article.md
- 封面: ~/clawd/docs/daily-content/2026-04-14/gzh/cover.jpg
コアフロー
Markdown 解析 → Markdown→HTML 変換 → ブラウザ起動 → Cookie ロード
→ 公式アカウントのホームページを開く → "新しい創作" をクリック → カバー画像をアップロード
→ タイトルを入力 → 図文メッセージに切り替え → 本文の HTML を貼り付け
→ スクリーンショット → 草稿を保存
レイアウトの仕様
| パラメータ | 値 |
|---|---|
| 本文のフォントサイズ | 15px |
| 本文の文字色 | #3f3f3f |
| 行の高さ | 1.75 倍 |
| 段落間隔 | 1em |
| タイトルのフォントサイズ | H2: 18px bold, H3: 16px bold |
| コードブロック | 背景 #f6f8fa,左边框 3px solid #fe6 |
主要な Selector(2026-04-14 検証)
| 要素 | CSS Selector | 説明 |
|---|---|---|
| ホームページのエントリー | "新的创作" (button/tab text) | 新しい図文を作成 |
| カバー画像のアップロード | input[type="file"] |
画像アップロード input |
| タイトル入力 | input[name="title"] |
記事のタイトル |
| 図文切り替え | "图文" (tab text) | リッチテキストエディタに切り替え |
| リッチテキストエディタ | #ueditor_0 iframe または .edit_area |
UEditor iframe |
| プレビューボタン | "预览" (button text) | 草稿をプレビュー |
| 草稿保存ボタン | "保存" (button text) | 草稿として保存 |
境界処理
1. タイトル 64 字制限
タイトルが 64 字を超えた場合は自動的に切り捨てられます。
2. Markdown→HTML 変換
基本的な変換ルールを使用します。
# H1→<h1>**bold**→<strong>bold</strong>*italic*→<em>italic</em>`code`→<code>code</code>- 空行 →
<br> ---→<hr>
3. UEditor 特殊な入力
UEditor はリッチテキスト iframe であり、コンテンツを直接操作できません。次の方法で行う必要があります。
# 切换到编辑模式
await page.evaluate('''() => {
const editor = document.querySelector('#ueditor_0');
if (editor && editor.contentWindow) {
editor.contentWindow.postMessage({type: 'setContent', content: html}, '*');
}
}''')
4. カバー画像の比率
WeChat カバー画像の推奨比率は 2.35:1 で、最小サイズは 900x383 です。
5. Cookie 管理
- Cookie ファイルの場所:
~/.playwright-data/wechat/state-default.json - 有効期限は約 7-30 日で、定期的にブラウザからログインして更新する必要があります。
- ロード方法:
await context.add_cookies(cookies_from_state) - ログインの確認:「新しい創作」ボタンがページに表示されていればログイン済みです。
よくある質問
Q: ページに「新しい創作」ボタンが見つかりません。
A: Cookie が期限切れになっているため、再度 QR コードをスキャンしてログインする必要があります。openclaw browser open --url https://mp.weixin.qq.com を実行します。
Q: リッチテキストエディタにコンテンツを入力できません。
A: UEditor は編集モードに切り替える必要があります。まずエディタ領域をクリックしてアクティブにし、次に JS インジェクションを実行します。
Q: ブラウザへの接続に失敗しました。
A: OpenClaw browser が実行されているか確認します:curl -s http://127.0.0.1:18800/json/version
Q: Cookie が期限切れになった場合はどうすればよいですか?
A: Daniel がブラウザから WeChat 公式アカウントプラットフォームにログインし、Playwright state を保存する必要があります。
openclaw browser open --url https://mp.weixin.qq.com
# 手動で QR コードをスキャンしてログインした後
# Cookie は自動的に保存されます
依存関係
playwright>=1.40.0
Pillow>=10.0.0 (画像検証)
markdown>=3.4.0 (オプション,markdown→html)
トリガーワード
- "发布到公众号"、"发布微信公众号"、"发微信"
- "公众号草稿"、"wechat publish"、"wechat mp"
- "公众号发布"、"mp.weixin publish"
更新履歴
- v1.0.0 (2026-04-14): 初期バージョン
- 基本的な Markdown→HTML 変換
- UEditor リッチテキスト入力
- カバー画像のアップロード
- 草稿箱への保存
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
WeChat MP Smart Publish — 公众号自动发布
将 Markdown 文章一键发布到微信公众号草稿箱。
什么时候用
- 有了写好的公众号文章(markdown),需要上传到草稿箱
- 批量发布内容到微信公众号
- 自动化内容分发 pipeline 中的一环
- 其他 agent(小content等)需要发布公众号内容时
不适用
- ❌ 需要直接正式发布(不是草稿)— 当前仅支持存草稿,由人工最终发布
- ❌ 视频内容 — 仅支持图文消息
- ❌ 需要编辑已发布文章
前置条件
| 条件 | 说明 | 检查方法 |
|---|---|---|
| Playwright | Python playwright 库 | pip show playwright |
| OpenClaw Browser | 浏览器服务运行中 | openclaw browser status 或检查 127.0.0.1:18800 |
| 微信 Cookie | Playwright state 文件有效 | cat ~/.playwright-data/wechat/state-default.json \| python3 -c "import json,sys; d=json.load(sys.stdin); print(f'Cookies: {len(d.get(\"cookies\",[]))}')" |
| Cookie 未过期 | cookies 包含 qname 和 uin | 检查 cookie 中 qname 字段 |
输入
输入参数:
article_path: string # Markdown 文件路径
cover_path: string # 封面图路径 (jpg/png, 推荐 2.35:1 比例, ≥900x383)
decision: draft # 当前仅支持 draft
Markdown 格式要求
# 标题(文章标题,≤64字)
正文内容,支持 **加粗**、*斜体*、`行内代码` 等常见 Markdown 语法。
## 子标题
段落文字...
输出
输出:
status: ok | error
draft_saved: true/false
draft_url: string # 草稿箱URL
screenshot_path: string # 截图路径
title: string # 实际使用的标题
content_length: number # 正文字数
使用方法
方式一:直接运行脚本
python3 ~/clawd/skills/wechat-mp-smart-publish/scripts/publish.py \
--article /path/to/article.md \
--cover /path/to/cover.jpg \
--decision draft
方式二:作为模块调用
import asyncio
from scripts.publish import publish_to_wechat
result = asyncio.run(publish_to_wechat(
article_path="/path/to/article.md",
cover_path="/path/to/cover.jpg",
decision="draft",
))
print(result)
方式三:Agent 调用(推荐)
其他 agent 通过 sessions_send 请小code 执行:
请发布文章到微信公众号草稿箱:
- 文章: ~/clawd/docs/daily-content/2026-04-14/gzh/amd-gaia-article.md
- 封面: ~/clawd/docs/daily-content/2026-04-14/gzh/cover.jpg
核心流程
解析 Markdown → Markdown→HTML 转换 → 启动浏览器 → 加载 Cookie
→ 打开公众号首页 → 点击"新的创作" → 上传封面图
→ 填充标题 → 切换到图文消息 → 粘贴正文HTML
→ 截图 → 存草稿
排版规范
| 参数 | 值 |
|---|---|
| 正文字号 | 15px |
| 正文字色 | #3f3f3f |
| 行高 | 1.75 倍 |
| 段落间距 | 1em |
| 标题字号 | H2: 18px bold, H3: 16px bold |
| 代码块 | 背景 #f6f8fa,左边框 3px solid #fe6 |
关键 Selector(2026-04-14 验证)
| 元素 | CSS Selector | 说明 |
|---|---|---|
| 首页入口 | "新的创作" (button/tab text) | 新建图文 |
| 封面图上传 | input[type="file"] |
图片上传 input |
| 标题输入 | input[name="title"] |
文章标题 |
| 图文切换 | "图文" (tab text) | 切换到富文本编辑器 |
| 富文本编辑器 | #ueditor_0 iframe 或 .edit_area |
UEditor iframe |
| 预览按钮 | "预览" (button text) | 预览草稿 |
| 存草稿按钮 | "保存" (button text) | 存为草稿 |
边界处理
1. 标题 64 字限制
标题超出 64 字时自动截断。
2. Markdown→HTML 转换
使用基础转换规则:
# H1→<h1>**bold**→<strong>bold</strong>*italic*→<em>italic</em>`code`→<code>code</code>- 空行 →
<br> ---→<hr>
3. UEditor 特殊填充
UEditor 是富文本 iframe,不能直接操作内容。需通过:
# 切换到编辑模式
await page.evaluate('''() => {
const editor = document.querySelector('#ueditor_0');
if (editor && editor.contentWindow) {
editor.contentWindow.postMessage({type: 'setContent', content: html}, '*');
}
}''')
4. 封面图比例
微信封面图推荐比例 2.35:1,最小尺寸 900x383。
5. Cookie 管理
- Cookie 文件位置:
~/.playwright-data/wechat/state-default.json - 有效期约 7-30 天,需要定期通过浏览器登录续期
- 加载方式:
await context.add_cookies(cookies_from_state) - 检查登录:页面出现"新的创作"按钮即为已登录
常见问题
Q: 页面找不到"新的创作"按钮?
A: Cookie 过期,需重新扫码登录。执行:openclaw browser open --url https://mp.weixin.qq.com
Q: 富文本编辑器无法填充内容?
A: UEditor 需要切换到编辑模式。先点击编辑器区域激活,再执行 JS 注入。
Q: 浏览器连接失败?
A: 检查 OpenClaw browser 是否运行:curl -s http://127.0.0.1:18800/json/version
Q: Cookie 过期怎么办?
A: 需要 Daniel 通过浏览器登录微信公众号平台,保存 Playwright state:
openclaw browser open --url https://mp.weixin.qq.com
# 手动扫码登录后
# Cookie 会自动保存
依赖
playwright>=1.40.0
Pillow>=10.0.0 (图片验证)
markdown>=3.4.0 (可选,markdown→html)
触发词
- "发布到公众号"、"发布微信公众号"、"发微信"
- "公众号草稿"、"wechat publish"、"wechat mp"
- "公众号发布"、"mp.weixin publish"
更新日志
- v1.0.0 (2026-04-14): 初始版本
- 基础 Markdown→HTML 转换
- UEditor 富文本填充
- 封面图上传
- 草稿箱保存
同梱ファイル
※ ZIPに含まれるファイル一覧。`SKILL.md` 本体に加え、参考資料・サンプル・スクリプトが入っている場合があります。
- 📄 SKILL.md (6,281 bytes)
- 📎 scripts/__pycache__/publish.cpython-312.pyc (19,628 bytes)
- 📎 scripts/publish.py (16,329 bytes)