mcpField
B
baoyu-post-to-wechat

baoyu-post-to-wechat

github.com/ideaccoマーケティング・グロース1469 回インストール34 週間前に更新
リポジトリ

baoyu-post-to-wechat について

baoyu-post-to-wechatは、WeChat公式アカウント向けの画像付き投稿や記事を作成・公開するエージェントスキルです。APIとブラウザーの手順に対応し、テーマやメタデータ、コメント設定を構成できます。

主な機能

  1. 01最大9枚の画像付き投稿
  2. 02APIまたはブラウザーでの記事公開
  3. 03MarkdownからWeChat向けHTMLへの変換
  4. 04テーマ、色、著者の既定値設定
  5. 05記事のコメント設定

活用シーン

  1. 01複数画像を使ったWeChat投稿の作成
  2. 02MarkdownまたはHTML記事の公開
  3. 03APIまたはブラウザー方式の選択
  4. 04著者とコメントの既定値の適用

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/ideacco/baoyu-skills-openclaw --skill baoyu-post-to-wechat

インストール後、Claude Code で/baoyu-post-to-wechatを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
article-posting.md
image-text-posting.md
references/config/
first-time-setup.md
scripts/
cdp.ts
check-permissions.ts
copy-to-clipboard.ts
md-to-wechat.ts
scripts/md/
cli.ts
scripts/md/code-themes/
1c-light.min.css
a11y-dark.min.css
a11y-light.min.css
agate.min.css
an-old-hope.min.css
androidstudio.min.css
arduino-light.min.css
arta.min.css
ascetic.min.css
atom-one-dark-reasonable.min.css
atom-one-dark.min.css
atom-one-light.min.css
brown-paper.min.css
codepen-embed.min.css
color-brewer.min.css
dark.min.css
default.min.css
devibeans.min.css
docco.min.css
far.min.css
felipec.min.css
foundation.min.css

詳細

WeChat 公式アカウントに投稿する

言語

ユーザーの言語に合わせる:ユーザーが使用する言語で応答します。ユーザーが中国語で書いた場合は中国語で、英語で書いた場合は英語で応答します。

スクリプトディレクトリ

エージェントの実行:この SKILL.md のディレクトリを SKILL_DIR として特定し、${SKILL_DIR}/scripts/<name>.ts を使用します。

スクリプト用途
scripts/wechat-browser.ts画像とテキストの投稿(图文)
scripts/wechat-article.tsブラウザー経由で記事を投稿(文章)
scripts/wechat-api.tsAPI 経由で記事を投稿(文章)
scripts/md-to-wechat.tsMarkdown → 画像プレースホルダー付きの WeChat 用 HTML
scripts/check-permissions.ts環境と権限を確認

設定(EXTEND.md)

Bash を使用して、EXTEND.md が存在するかを次の優先順位で確認します。

# Check project-level first
test -f .baoyu-skills/baoyu-post-to-wechat/EXTEND.md && echo "project"

# Then user-level (cross-platform: $HOME works on macOS/Linux/WSL)
test -f "$HOME/.baoyu-skills/baoyu-post-to-wechat/EXTEND.md" && echo "user"

┌────────────────────────────────────────────────────────┬───────────────────┐ │ パス │ 場所 │ ├────────────────────────────────────────────────────────┼───────────────────┤ │ .baoyu-skills/baoyu-post-to-wechat/EXTEND.md │ プロジェクトディレクトリ │ ├────────────────────────────────────────────────────────┼───────────────────┤ │ $HOME/.baoyu-skills/baoyu-post-to-wechat/EXTEND.md │ ユーザーホーム │ └────────────────────────────────────────────────────────┴───────────────────┘

┌───────────┬───────────────────────────────────────────────────────────────────────────┐ │ 結果 │ アクション │ ├───────────┼───────────────────────────────────────────────────────────────────────────┤ │ 見つかった場合 │ 読み込み、解析し、設定を適用 │ ├───────────┼───────────────────────────────────────────────────────────────────────────┤ │ 見つからない場合 │ 初回セットアップを実行(references/config/first-time-setup.md)→ 保存 → 続行 │ └───────────┴───────────────────────────────────────────────────────────────────────────┘

EXTEND.md で設定できる項目:デフォルトテーマ | デフォルト色 | デフォルトの公開方法(api/browser) | デフォルトの投稿者 | デフォルトのコメント公開切り替え | デフォルトのファン限定コメント切り替え | Chrome プロファイルのパス

初回セットアップ:references/config/first-time-setup.md

最低限サポートされるキー(大文字と小文字を区別せず、1/0 または true/false を指定できます):

キーデフォルト対応先
default_author空CLI/frontmatter で指定されていない場合の author の代替値
need_open_comment1draft/add リクエストの articles[].need_open_comment
only_fans_can_comment0draft/add リクエストの articles[].only_fans_can_comment

EXTEND.md の推奨例:

default_theme: default
default_color: blue
default_publish_method: api
default_author: 宝玉
need_open_comment: 1
only_fans_can_comment: 0
chrome_profile_path: /path/to/chrome/profile

テーマの選択肢:default、grace、simple、modern

色のプリセット:blue、green、vermilion、yellow、purple、sky、rose、olive、black、gray、pink、red、orange(または 16 進数の値)

値の優先順位:

  1. CLI 引数
  2. Frontmatter
  3. EXTEND.md
  4. スキルのデフォルト値

使用前の確認(任意)

初回使用前に、環境チェックの実行を提案します。希望する場合はスキップできます。

npx -y bun ${SKILL_DIR}/scripts/check-permissions.ts

チェック項目:Chrome、プロファイルの分離、Bun、アクセシビリティ、クリップボード、貼り付けキー操作、API 認証情報、Chrome の競合。

チェックに失敗した場合は、項目ごとに修正方法を案内します。

チェック修正方法
ChromeChrome をインストールするか、環境変数 WECHAT_BROWSER_CHROME_PATH を設定します
プロファイルディレクトリ~/.local/share/wechat-browser-profile に書き込み権限があることを確認します
Bun ランタイムcurl -fsSL https://bun.sh/install | bash
アクセシビリティ(macOS)システム設定 → プライバシーとセキュリティ → アクセシビリティ → ターミナルアプリを有効にします
クリップボードへのコピーSwift/AppKit が利用可能であることを確認します(macOS の Xcode CLI ツール:xcode-select --install)
貼り付けキー操作(macOS)上記のアクセシビリティの修正方法と同じです
貼り付けキー操作(Linux)xdotool(X11)または ydotool(Wayland)をインストールします
API 認証情報ステップ 2 のガイド付きセットアップに従うか、.baoyu-skills/.env に手動で設定します

画像付き投稿(图文)

複数の画像を含む短い投稿(最大 9 枚)の場合:

npx -y bun ${SKILL_DIR}/scripts/wechat-browser.ts --markdown article.md --images ./images/
npx -y bun ${SKILL_DIR}/scripts/wechat-browser.ts --title "标题" --content "内容" --image img.png --submit

詳細については、references/image-text-posting.md を参照してください。

記事投稿のワークフロー(文章)

このチェックリストをコピーし、完了した項目にチェックを付けてください。

Publishing Progress:
- [ ] Step 0: Load preferences (EXTEND.md)
- [ ] Step 1: Determine input type
- [ ] Step 2: Select method and configure credentials
- [ ] Step 3: Resolve theme/color and validate metadata
- [ ] Step 4: Publish to WeChat
- [ ] Step 5: Report completion
ステップ 0:設定を読み込む

EXTEND.md の設定を確認して読み込みます(上記の「設定」セクションを参照)。

重要:見つからない場合は、他のステップや質問に進む前に初回セットアップを完了してください。

後続のステップで使用する以下のデフォルト値を解決して保存します。

  • default_theme(デフォルトは default)
  • default_color(設定されていない場合は省略 — テーマのデフォルトが適用されます)
  • default_author
  • need_open_comment(デフォルトは 1)
  • only_fans_can_comment(デフォルトは 0)
ステップ 1:入力タイプを判定する
入力タイプ判定方法操作
HTML ファイルパスが .html で終わり、ファイルが存在するステップ 3 に進む
Markdown ファイルパスが .md で終わり、ファイルが存在するステップ 2 に進む
プレーンテキストファイルパスではない、またはファイルが存在しないMarkdown として保存し、ステップ 2 に進む

プレーンテキストの処理:

  1. 内容からスラッグを生成します(意味のある最初の 2~4 語をケバブケースにします)
  2. ディレクトリを作成してファイルを保存します。
mkdir -p "$(pwd)/post-to-wechat/$(date +%Y-%m-%d)"
# Save content to: post-to-wechat/yyyy-MM-dd/[slug].md
  1. Markdown ファイルとして処理を続けます

スラッグの例:

  • 「Understanding AI Models」→ understanding-ai-models
  • 「人工智能的未来」→ ai-future(スラッグ用に英語に翻訳します)
ステップ 2:公開方法を選択して設定する

公開方法を確認します(EXTEND.md または CLI で指定されている場合を除く)。

方法速度要件
api(推奨)高速API 認証情報
browser低速Chrome、ログインセッション

API を選択した場合 — 認証情報を確認:

# Check project-level
test -f .baoyu-skills/.env && grep -q "WECHAT_APP_ID" .baoyu-skills/.env && echo "project"

# Check user-level
test -f "$HOME/.baoyu-skills/.env" && grep -q "WECHAT_APP_ID" "$HOME/.baoyu-skills/.env" && echo "user"

認証情報が不足している場合 — セットアップを案内:

WeChat API credentials not found.

To obtain credentials:
1. Visit https://mp.weixin.qq.com
2. Go to: 开发 → 基本配置
3. Copy AppID and AppSecret

Where to save?
A) Project-level: .baoyu-skills/.env (this project only)
B) User-level: ~/.baoyu-skills/.env (all projects)

保存場所の選択後、値を入力するよう促し、.env に書き込みます。

WECHAT_APP_ID=<user_input>
WECHAT_APP_SECRET=<user_input>
ステップ 3:テーマ/カラーの解決とメタデータの検証
  1. テーマを解決します(一致した最初の項目を使用し、解決できた場合はユーザーに尋ねません)。

    • CLI の --theme 引数
    • EXTEND.md の default_theme(ステップ 0 で読み込み済み)
    • フォールバック:default
  2. カラーを解決します(一致した最初の項目を使用します)。

    • CLI の --color 引数
    • EXTEND.md の default_color(ステップ 0 で読み込み済み)
    • 未設定の場合は省略します(テーマのデフォルトが適用されます)
  3. フロントマター(Markdown)または HTML のメタタグ(HTML 入力)からメタデータを検証します。

項目不足している場合
タイトルプロンプト:「タイトルを入力するか、Enter キーを押してコンテンツから自動生成してください」
概要プロンプト:「概要を入力するか、Enter キーを押して自動生成してください(SEO に推奨)」
作成者フォールバック順に使用します:CLI --author → フロントマター author → EXTEND.md default_author

自動生成のロジック:

  • タイトル:最初の H1/H2 見出し、または最初の文
  • 概要:最初の段落を 120 文字に切り詰めます
  1. カバー画像を確認します(API の article_type=news では必須です)。
    1. CLI の --cover が指定されている場合は使用します。
    2. それ以外の場合はフロントマター(coverImage、featureImage、cover、image)を使用します。
    3. それ以外の場合は記事ディレクトリのデフォルトパス imgs/cover.png を確認します。
    4. それ以外の場合は、本文内で最初に登場する画像を使用します。
    5. それでも見つからない場合は、公開する前に処理を停止し、カバー画像を要求します。
ステップ 4:WeChat に公開する

重要:公開スクリプトは Markdown の変換を内部で処理します。Markdown を HTML に事前変換せず、元の Markdown ファイルを直接渡してください。これにより、API メソッドでは画像が <img> タグとしてレンダリングされ(API アップロード用)、ブラウザメソッドではプレースホルダーが使用されます(貼り付けて置き換えるワークフロー用)。

API メソッド(.md または .html を受け付けます):

npx -y bun ${SKILL_DIR}/scripts/wechat-api.ts <file> --theme <theme> [--color <color>] [--title <title>] [--summary <summary>] [--author <author>] [--cover <cover_path>]

重要:必ず --theme パラメーターを指定してください。default を使用する場合でも省略しないでください。--color は、ユーザーまたは EXTEND.md によって明示的に設定されている場合にのみ指定してください。

draft/add のペイロード規則:

  • エンドポイントを使用します:POST https://api.weixin.qq.com/cgi-bin/draft/add?access_token=ACCESS_TOKEN
  • article_type:news(デフォルト)または newspic
  • news の場合は thumb_media_id を含めます(カバー画像は必須です)
  • 次の値を必ず解決して送信します:
    • need_open_comment(デフォルトは 1)
    • only_fans_can_comment(デフォルトは 0)
  • author の解決順:CLI --author → フロントマター author → EXTEND.md default_author

スクリプトのパラメーターで 2 つのコメント関連フィールドを指定できない場合でも、最終的な API リクエストボディに解決済みの値が含まれるようにしてください。

ブラウザメソッド(--markdown または --html を受け付けます):

npx -y bun ${SKILL_DIR}/scripts/wechat-article.ts --markdown <markdown_file> --theme <theme> [--color <color>]
npx -y bun ${SKILL_DIR}/scripts/wechat-article.ts --html <html_file>
ステップ 5:完了レポート

API メソッドの場合は、下書き管理リンクを含めます。

WeChat Publishing Complete!

Input: [type] - [path]
Method: API
Theme: [theme name] [color if set]

Article:
• Title: [title]
• Summary: [summary]
• Images: [N] inline images
• Comments: [open/closed], [fans-only/all users]

Result:
✓ Draft saved to WeChat Official Account
• media_id: [media_id]

Next Steps:
→ Manage drafts: https://mp.weixin.qq.com (登录后进入「内容管理」→「草稿箱」)

Files created:
[• post-to-wechat/yyyy-MM-dd/slug.md (if plain text)]
[• slug.html (converted)]

ブラウザメソッドの場合:

WeChat Publishing Complete!

Input: [type] - [path]
Method: Browser
Theme: [theme name] [color if set]

Article:
• Title: [title]
• Summary: [summary]
• Images: [N] inline images

Result:
✓ Draft saved to WeChat Official Account

Files created:
[• post-to-wechat/yyyy-MM-dd/slug.md (if plain text)]
[• slug.html (converted)]

詳細リファレンス

トピックリファレンス
画像とテキストのパラメーター、自動圧縮references/image-text-posting.md
記事のテーマ、画像の処理references/article-posting.md

機能比較

機能画像とテキスト記事(API)記事(ブラウザ)
プレーンテキスト入力✗✓✓
HTML 入力✗✓✓
Markdown 入力タイトル/本文✓✓
複数画像✓(最大 9 枚)✓(インライン)✓(インライン)
テーマ✗✓✓
メタデータの自動生成✗✓✓
カバー画像のデフォルトフォールバック(imgs/cover.png)✗✓✗
コメント制御(need_open_comment、only_fans_can_comment)✗✓✗
Chrome が必要✓✗✓
API 認証情報が必要✗✓✗
速度中高速低速

前提条件

API メソッドの場合:

  • WeChat 公式アカウント API の認証情報
  • ステップ 2 のガイド付きセットアップ、または .baoyu-skills/.env への手動設定

ブラウザメソッドの場合:

  • Google Chrome
  • 初回実行時:WeChat 公式アカウントにログインします(セッションは保持されます)

設定ファイルの場所(優先順位順):

  1. 環境変数
  2. <cwd>/.baoyu-skills/.env
  3. ~/.baoyu-skills/.env

トラブルシューティング

問題解決策
API 認証情報がないステップ 2 のガイド付きセットアップに従ってください
アクセストークンのエラーAPI 認証情報が有効で、期限切れでないことを確認してください
ログインしていない(ブラウザー)初回実行時にブラウザーが開きます。QR コードをスキャンしてログインしてください
Chrome が見つからないWECHAT_BROWSER_CHROME_PATH 環境変数を設定してください
タイトル/概要がない自動生成を使用するか、手動で入力してください
カバー画像がないfrontmatter にカバー画像を指定するか、記事ディレクトリに imgs/cover.png を配置してください
コメントのデフォルト設定が誤っているEXTEND.md のキー need_open_comment と only_fans_can_comment を確認してください
貼り付けに失敗するシステムのクリップボード権限を確認してください

拡張機能のサポート

EXTEND.md でカスタム設定ができます。パスとサポートされるオプションについては、設定のセクションを参照してください。

OpenClaw の移行に関する注意事項

  • 移行モード:OpenClaw ネイティブを優先
  • 保持されるディレクトリ:
    • scripts:あり
    • references:あり
    • prompts:なし
  • 外部依存関係:bun、chrome、external-ai-api、social-platform-access
  • リスクレベル:高
  • 検出された環境変数:ACCESS_TOKEN、API、HOME、WECHAT_BROWSER_CHROME_PATH
  • 設定の互換性:元の .baoyu-skills/<skill>/EXTEND.md の動作を維持し、必要に応じてランタイムラッパーに OpenClaw 互換のパスを追加してください。

OpenClaw の事前チェック

  • スクリプトの例で npx -y bun ... を使用する場合は、bun が利用可能であることを確認してください。
  • CDP/ブラウザー自動化のフローで使用する Chrome がインストールされ、起動可能であることを確認してください。
  • 実行前に、必要な API 認証情報が環境変数として設定されていることを確認してください。
  • 投稿またはスクレイピングの操作を行う前に、アカウントのセッション/Cookie が有効であることを確認してください。

検出された環境変数:ACCESS_TOKEN、API、HOME、WECHAT_BROWSER_CHROME_PATH

OpenClaw の失敗時のフォールバック

  • ランタイムの依存関係が不足している場合は、実行を停止し、正確なインストール/セットアップコマンドを返してください。
  • API 呼び出しに失敗した場合は、プロバイダー/モデルのフラグを明示して再試行するよう提案し、キーのスコープを確認してください。
  • ブラウザーの自動化に失敗した場合は、利用可能であれば手動/待機モードに切り替えてください。
  • プラットフォームが自動化をブロックする場合は、再試行を繰り返さず、手動での公開/エクスポート手順を提示してください。
  • リスクの高いワークフローでは、取り消せない操作を行う前に、ユーザーの明示的な確認を求めてください。

コメント