{"id":"fc0b9d0f-32d8-4e08-b8ea-a7a51ff0b4ae","shortId":"wAnykz","kind":"skill","title":"baoyu-post-to-wechat","tagline":"Posts content to WeChat Official Account (微信公众号) via API or Chrome CDP. Supports article posting (文章) with HTML, markdown, or plain text input, and image-text posting (贴图, formerly 图文) with multiple images. Markdown article workflows default to converting ordinary external links ","description":"# Post to WeChat Official Account\n\n## User Input Tools\n\nWhen this skill prompts the user, follow this tool-selection rule (priority order):\n\n1. **Prefer built-in user-input tools** exposed by the current agent runtime — e.g., `AskUserQuestion`, `request_user_input`, `clarify`, `ask_user`, or any equivalent.\n2. **Fallback**: if no such tool exists, emit a numbered plain-text message and ask the user to reply with the chosen number/answer for each question.\n3. **Batching**: if the tool supports multiple questions per call, combine all applicable questions into a single call; if only single-question, ask them one at a time in priority order.\n\nConcrete `AskUserQuestion` references below are examples — substitute the local equivalent in other runtimes.\n\n## Language\n\nRespond in the user's language. If they write in Chinese, reply in Chinese; if English, English. Keep technical tokens (paths, flags, field names) in English.\n\n## Script Directory\n\n`{baseDir}` = this SKILL.md's directory. Resolve `${BUN_X}`: prefer `bun`; else `npx -y bun`; else suggest `brew install oven-sh/bun/bun`.\n\n| Script | Purpose |\n|--------|---------|\n| `scripts/wechat-browser.ts` | Image-text posts (图文) |\n| `scripts/wechat-article.ts` | Article posting via browser (文章) |\n| `scripts/wechat-api.ts` | Article posting via API (文章) |\n| `scripts/md-to-wechat.ts` | Markdown → WeChat-ready HTML with image placeholders |\n| `scripts/check-permissions.ts` | Verify environment & permissions |\n\n## Preferences (EXTEND.md)\n\nCheck these paths in order; first hit wins:\n\n| Path | Scope |\n|------|-------|\n| `.baoyu-skills/baoyu-post-to-wechat/EXTEND.md` | Project |\n| `${XDG_CONFIG_HOME:-$HOME/.config}/baoyu-skills/baoyu-post-to-wechat/EXTEND.md` | XDG |\n| `$HOME/.baoyu-skills/baoyu-post-to-wechat/EXTEND.md` | User home |\n\nFound → read, parse, apply. Not found → run first-time setup (`references/config/first-time-setup.md`) before anything else.\n\n**Minimum keys** (case-insensitive, accept `1/0` or `true/false`):\n\n| Key | Default | Mapping |\n|-----|---------|---------|\n| `default_author` | empty | Fallback for `author` when CLI/frontmatter not provided |\n| `need_open_comment` | `1` | `articles[].need_open_comment` in `draft/add` |\n| `only_fans_can_comment` | `0` | `articles[].only_fans_can_comment` in `draft/add` |\n\n**Recommended EXTEND.md**:\n\n```md\ndefault_theme: default\ndefault_color: blue\ndefault_publish_method: api\ndefault_author: 宝玉\nneed_open_comment: 1\nonly_fans_can_comment: 0\nchrome_profile_path: /path/to/chrome/profile\n```\n\n**Theme options**: default, grace, simple, modern. **Color presets**: blue, green, vermilion, yellow, purple, sky, rose, olive, black, gray, pink, red, orange (or hex).\n\n**Value priority**: CLI args → frontmatter → EXTEND.md (account-level → global) → skill defaults.\n\n## Multi-Account Support\n\nEXTEND.md supports an `accounts:` block for managing multiple Official Accounts. With 2+ entries, the workflow inserts a Step 0.5 to prompt for account selection (or auto-selects based on `default: true` or `--account <alias>`).\n\nFull details — compatibility rules, per-account keys, credential resolution, per-account Chrome profiles, CLI usage — in `references/multi-account.md`.\n\n## Pre-flight Check (Optional)\n\nBefore first use, suggest the environment check (user can skip):\n\n```bash\n${BUN_X} {baseDir}/scripts/check-permissions.ts\n```\n\nChecks: Chrome, profile isolation, Bun, Accessibility, clipboard, paste keystroke, API credentials, Chrome conflicts.\n\n| Check fails | Fix |\n|-------------|-----|\n| Chrome | Install Chrome or set `WECHAT_BROWSER_CHROME_PATH` |\n| Profile dir | Shared profile at `baoyu-skills/chrome-profile` |\n| Bun runtime | `brew install oven-sh/bun/bun` or `npm install -g bun` |\n| Accessibility (macOS) | System Settings → Privacy & Security → Accessibility → enable terminal app |\n| Clipboard copy | Ensure Swift/AppKit (macOS: `xcode-select --install`) |\n| Paste keystroke (Linux) | Install `xdotool` (X11) or `ydotool` (Wayland) |\n| API credentials | Follow guided setup in Step 2, or set in `.baoyu-skills/.env` |\n\n## Image-Text Posting (图文)\n\nShort posts with multiple images (up to 9):\n\n```bash\n${BUN_X} {baseDir}/scripts/wechat-browser.ts --markdown article.md --images ./images/\n${BUN_X} {baseDir}/scripts/wechat-browser.ts --title \"标题\" --content \"内容\" --image img.png --submit\n```\n\nDetails: `references/image-text-posting.md`.\n\n## Article Posting Workflow (文章)\n\n```\n- [ ] Step 0: Load preferences (EXTEND.md)\n- [ ] Step 0.5: Resolve account (multi-account only — see references/multi-account.md)\n- [ ] Step 1: Determine input type\n- [ ] Step 2: Select method and configure credentials\n- [ ] Step 3: Resolve theme/color and validate metadata\n- [ ] Step 4: Publish to WeChat\n- [ ] Step 5: Report completion\n```\n\n### Step 0: Load Preferences\n\nCheck and load EXTEND.md (see \"Preferences\" above). If not found, complete first-time setup before any other questions. Resolve and cache for later steps: `default_theme`, `default_color`, `default_author`, `need_open_comment`, `only_fans_can_comment`.\n\n### Step 1: Determine Input Type\n\n| Input | Detection | Next |\n|-------|-----------|------|\n| HTML file | Path ends `.html`, file exists | Skip to Step 3 |\n| Markdown file | Path ends `.md`, file exists | Step 2 |\n| Plain text | Not a file path, or file doesn't exist | Save to markdown, then Step 2 |\n\n**Plain-text handling**:\n\n1. Generate slug (first 2-4 meaningful words, kebab-case; translate Chinese to English for the slug).\n2. Save to `post-to-wechat/YYYY-MM-DD/<slug>.md` (create directory if needed).\n3. Continue as a markdown file.\n\n### Step 2: Select Publishing Method and Configure\n\nAsk method unless specified in EXTEND.md or CLI:\n\n| Method | Speed | Requires |\n|--------|-------|----------|\n| `api` (Recommended) | Fast | API credentials |\n| `browser` | Slow | Chrome + logged-in session |\n\n**API selected + missing credentials** → run guided setup per `references/api-setup.md` (writes to `.baoyu-skills/.env`).\n\n### Step 3: Resolve Theme/Color and Validate Metadata\n\n1. **Theme**: CLI `--theme` → EXTEND.md `default_theme` → `default` (first match wins; do NOT ask if resolved).\n2. **Color**: CLI `--color` → EXTEND.md `default_color` → omit (theme default applies).\n3. **Validate metadata** (frontmatter for markdown, meta tags for HTML):\n\n| Field | Missing → |\n|-------|-----------|\n| Title | Ask, or press Enter to auto-generate from content |\n| Summary | Frontmatter `description` → `summary` → ask or auto-generate |\n| Author | CLI `--author` → frontmatter `author` → EXTEND.md `default_author` |\n\nAuto-generation: title = first H1/H2 or first sentence; summary = first paragraph, truncated to 120 chars.\n\n4. **Cover image** (required for API `article_type=news`): CLI `--cover` → frontmatter (`coverImage` / `featureImage` / `cover` / `image`) → `imgs/cover.png` → first inline image → stop and request one if still missing.\n\n### Step 4: Publish\n\n**Important — never pre-convert markdown to HTML.** Publishing scripts handle the conversion internally and the two methods render images differently: API renders `<img>` tags for upload, browser uses placeholders for paste-and-replace. Passing a pre-converted HTML breaks one or the other.\n\n**Markdown citation default**: for markdown input, ordinary external links are converted to bottom citations by default. Use `--no-cite` only if the user explicitly wants to keep inline links. Existing HTML input is left as-is.\n\n**API method** (accepts `.md` or `.html`):\n\n```bash\n${BUN_X} {baseDir}/scripts/wechat-api.ts <file> --theme <theme> [--color <color>] [--title <title>] [--summary <summary>] [--author <author>] [--cover <cover_path>] [--no-cite]\n```\n\nAlways pass `--theme` even if it's `default`. Only pass `--color` when explicitly set by the user or EXTEND.md.\n\n**`draft/add` payload rules**:\n- Endpoint: `POST https://api.weixin.qq.com/cgi-bin/draft/add?access_token=ACCESS_TOKEN`\n- `article_type`: `news` (default) or `newspic`\n- For `news`, include `thumb_media_id` (cover required)\n- Always include `need_open_comment` (default `1`) and `only_fans_can_comment` (default `0`) in the request body, even if the CLI doesn't expose them\n\n**Browser method** (accepts `--markdown` or `--html`):\n\n```bash\n${BUN_X} {baseDir}/scripts/wechat-article.ts --markdown <markdown_file> --theme <theme> [--color <color>] [--no-cite]\n${BUN_X} {baseDir}/scripts/wechat-article.ts --html <html_file>\n```\n\n### Step 5: Completion Report\n\n```\nWeChat Publishing Complete!\n\nInput: [type] - [path]\nMethod: [API | Browser]\nTheme: [theme] [color if set]\n\nArticle:\n• Title: [title]\n• Summary: [summary]\n• Images: [N] inline\n• Comments: [open/closed], [fans-only/all]    ← API method only\n\nResult:\n✓ Draft saved to WeChat Official Account\n• media_id: [media_id]                         ← API method only\n\nNext Steps (API):\n→ Manage drafts: https://mp.weixin.qq.com (登录后进入「内容管理」→「草稿箱」)\n\nFiles created:\n[• post-to-wechat/YYYY-MM-DD/slug.md (if plain text input)]\n[• slug.html (converted)]\n```\n\n## Feature Comparison\n\n| Feature | Image-Text | Article (API) | Article (Browser) |\n|---------|:---:|:---:|:---:|\n| Plain text input | ✗ | ✓ | ✓ |\n| HTML input | ✗ | ✓ | ✓ |\n| Markdown input | Title/content | ✓ | ✓ |\n| Multiple images | ✓ (up to 9) | ✓ (inline) | ✓ (inline) |\n| Themes | ✗ | ✓ | ✓ |\n| Auto-generate metadata | ✗ | ✓ | ✓ |\n| Default cover fallback (`imgs/cover.png`) | ✗ | ✓ | ✗ |\n| Comment control | ✗ | ✓ | ✗ |\n| Requires Chrome | ✓ | ✗ | ✓ |\n| Requires API credentials | ✗ | ✓ | ✗ |\n| Speed | Medium | Fast | Slow |\n\n## Troubleshooting\n\n| Issue | Fix |\n|-------|-----|\n| Missing API credentials | Follow guided setup in Step 2 |\n| Access token error | Verify credentials valid and not expired |\n| Not logged in (browser) | First run opens browser — scan QR to log in |\n| Chrome not found | Set `WECHAT_BROWSER_CHROME_PATH` |\n| Title/summary missing | Use auto-generation or provide manually |\n| No cover image | Add frontmatter cover or place `imgs/cover.png` in article directory |\n| Wrong comment defaults | Check `need_open_comment` / `only_fans_can_comment` in EXTEND.md |\n| Paste fails | Check system clipboard permissions |\n\n## References\n\n| File | Content |\n|------|---------|\n| `references/image-text-posting.md` | Image-text parameters, auto-compression |\n| `references/article-posting.md` | Article themes, image handling |\n| `references/multi-account.md` | Multi-account compatibility, credentials, Chrome profiles, CLI |\n| `references/api-setup.md` | Guided credential setup |\n| `references/config/first-time-setup.md` | First-time EXTEND.md setup |\n\n## Extension Support\n\nCustom configurations via EXTEND.md. See \"Preferences\" for paths and supported options.","tags":["baoyu","post","wechat","skills","jimliu","agent-skills","claude-skills","codex-skills","openclaw-skills"],"capabilities":["skill","source-jimliu","skill-baoyu-post-to-wechat","topic-agent-skills","topic-claude-skills","topic-codex-skills","topic-openclaw-skills"],"categories":["baoyu-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/JimLiu/baoyu-skills/baoyu-post-to-wechat","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add JimLiu/baoyu-skills","source_repo":"https://github.com/JimLiu/baoyu-skills","install_from":"skills.sh"}},"qualityScore":"0.700","qualityRationale":"deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 16958 github stars · SKILL.md body (10,679 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-03T00:52:27.636Z","embedding":null,"createdAt":"2026-04-18T21:53:34.233Z","updatedAt":"2026-05-03T00:52:27.636Z","lastSeenAt":"2026-05-03T00:52:27.636Z","tsv":"'-4':747 '/.env':568,823 '/all':1167 '/baoyu-post-to-wechat/extend.md':268 '/baoyu-skills/baoyu-post-to-wechat/extend.md':274 '/bun/bun':219,520 '/cgi-bin/draft/add?access_token=access_token':1073 '/chrome-profile':512 '/images':590 '/path/to/chrome/profile':366 '/scripts/check-permissions.ts':478 '/scripts/wechat-api.ts':1037 '/scripts/wechat-article.ts':1124,1134 '/scripts/wechat-browser.ts':586,594 '/yyyy-mm-dd':767 '/yyyy-mm-dd/slug.md':1200 '0':330,362,609,652,1101 '0.5':424,614 '1':71,319,357,624,694,742,831,1094 '1/0':300 '120':912 '2':97,417,561,629,720,737,746,760,780,847,1263 '3':124,636,711,773,825,858 '4':643,914,942 '5':648,1137 '9':581,1229 'accept':299,1029,1116 'access':484,526,532,1264 'account':11,53,397,404,409,415,428,439,446,452,616,619,1177,1353 'account-level':396 'add':1306 'agent':84 'alway':1047,1088 'anyth':292 'api':14,238,350,488,554,797,800,809,919,965,1027,1147,1168,1182,1187,1214,1246,1256 'api.weixin.qq.com':1072 'api.weixin.qq.com/cgi-bin/draft/add?access_token=access_token':1071 'app':535 'appli':282,857 'applic':136 'arg':393 'articl':19,41,229,235,320,331,604,920,1074,1154,1213,1215,1313,1346 'article.md':588 'as-i':1024 'ask':92,112,147,786,844,871,885 'askuserquest':87,157 'author':307,311,352,685,890,892,894,897,1042 'auto':432,877,888,899,1234,1298,1343 'auto-compress':1342 'auto-gener':876,887,898,1233,1297 'auto-select':431 'baoyu':2,266,510,566,821 'baoyu-post-to-wechat':1 'baoyu-skil':265,509,565,820 'base':434 'basedir':198,477,585,593,1036,1123,1133 'bash':474,582,1033,1120 'batch':125 'black':383 'block':410 'blue':346,375 'bodi':1105 'bottom':1001 'break':984 'brew':214,515 'browser':232,501,802,970,1114,1148,1216,1276,1280,1291 'built':74 'built-in':73 'bun':204,207,211,475,483,513,525,583,591,1034,1121,1131 'cach':676 'call':133,141 'case':297,752 'case-insensit':296 'cdp':17 'char':913 'check':255,462,470,479,492,655,1318,1330 'chines':180,183,754 'chosen':119 'chrome':16,363,453,480,490,495,497,502,804,1244,1286,1292,1356 'citat':990,1002 'cite':1008,1046,1130 'clarifi':91 'cli':392,455,793,833,849,891,923,1109,1358 'cli/frontmatter':313 'clipboard':485,536,1332 'color':345,373,683,848,850,853,1039,1057,1127,1151 'combin':134 'comment':318,323,329,335,356,361,688,692,1092,1099,1162,1241,1316,1321,1325 'comparison':1208 'compat':442,1354 'complet':650,665,1138,1142 'compress':1344 'concret':156 'config':271 'configur':633,785,1372 'conflict':491 'content':7,597,880,1336 'continu':774 'control':1242 'convers':956 'convert':45,948,982,999,1206 'copi':537 'cover':915,924,928,1043,1086,1238,1304,1308 'coverimag':926 'creat':769,1195 'credenti':448,489,555,634,801,812,1247,1257,1268,1355,1361 'current':83 'custom':1371 'default':43,304,306,341,343,344,347,351,369,401,436,680,682,684,836,838,852,856,896,991,1004,1054,1077,1093,1100,1237,1317 'descript':883 'detail':441,602 'detect':699 'determin':625,695 'differ':964 'dir':505 'directori':197,202,770,1314 'doesn':729,1110 'draft':1172,1189 'draft/add':325,337,1066 'e.g':86 'els':208,212,293 'emit':104 'empti':308 'enabl':533 'end':704,715 'endpoint':1069 'english':185,186,195,756 'ensur':538 'enter':874 'entri':418 'environ':251,469 'equival':96,165 'error':1266 'even':1050,1106 'exampl':161 'exist':103,707,718,731,1019 'expir':1272 'explicit':1013,1059 'expos':80,1112 'extend.md':254,339,395,406,612,658,791,835,851,895,1065,1327,1367,1374 'extens':1369 'extern':47,996 'fail':493,1329 'fallback':98,309,1239 'fan':327,333,359,690,1097,1165,1323 'fans-on':1164 'fast':799,1250 'featur':1207,1209 'featureimag':927 'field':192,868 'file':702,706,713,717,725,728,778,1194,1335 'first':260,287,465,667,745,839,902,905,908,931,1277,1365 'first-tim':286,666,1364 'fix':494,1254 'flag':191 'flight':461 'follow':63,556,1258 'former':35 'found':279,284,664,1288 'frontmatt':394,861,882,893,925,1307 'full':440 'g':524 'generat':743,878,889,900,1235,1299 'global':399 'grace':370 'gray':384 'green':376 'guid':557,814,1259,1360 'h1/h2':903 'handl':741,954,1349 'hex':389 'hit':261 'home':272,278 'home/.baoyu-skills/baoyu-post-to-wechat/extend.md':276 'home/.config':273 'html':23,245,701,705,867,951,983,1020,1032,1119,1135,1220 'id':1085,1179,1181 'imag':31,39,224,247,570,578,589,599,916,929,933,963,1159,1211,1226,1305,1339,1348 'image-text':30,223,569,1210,1338 'img.png':600 'imgs/cover.png':930,1240,1311 'import':944 'includ':1082,1089 'inlin':932,1017,1161,1230,1231 'input':28,55,78,90,626,696,698,994,1021,1143,1204,1219,1221,1223 'insensit':298 'insert':421 'instal':215,496,516,523,544,548 'intern':957 'isol':482 'issu':1253 'kebab':751 'kebab-cas':750 'keep':187,1016 'key':295,303,447 'keystrok':487,546 'languag':169,175 'later':678 'left':1023 'level':398 'link':48,997,1018 'linux':547 'load':610,653,657 'local':164 'log':806,1274,1284 'logged-in':805 'maco':527,540 'manag':412,1188 'manual':1302 'map':305 'markdown':24,40,241,587,712,734,777,863,949,989,993,1117,1125,1222 'match':840 'md':340,716,768,1030 'meaning':748 'media':1084,1178,1180 'medium':1249 'messag':110 'meta':864 'metadata':641,830,860,1236 'method':349,631,783,787,794,961,1028,1115,1146,1169,1183 'minimum':294 'miss':811,869,940,1255,1295 'modern':372 'mp.weixin.qq.com':1190 'multi':403,618,1352 'multi-account':402,617,1351 'multipl':38,130,413,577,1225 'n':1160 'name':193 'need':316,321,354,686,772,1090,1319 'never':945 'news':922,1076,1081 'newspic':1079 'next':700,1185 'no-cit':1006,1044,1128 'npm':522 'npx':209 'number':106 'number/answer':120 'offici':10,52,414,1176 'oliv':382 'omit':854 'one':149,937,985 'open':317,322,355,687,1091,1279,1320 'open/closed':1163 'option':368,463,1381 'orang':387 'order':70,155,259 'ordinari':46,995 'oven':217,518 'oven-sh':216,517 'paragraph':909 'paramet':1341 'pars':281 'pass':978,1048,1056 'past':486,545,975,1328 'paste-and-replac':974 'path':190,257,263,365,503,703,714,726,1145,1293,1378 'payload':1067 'per':132,445,451,816 'per-account':444,450 'permiss':252,1333 'pink':385 'place':1310 'placehold':248,972 'plain':26,108,721,739,1202,1217 'plain-text':107,738 'post':3,6,20,33,49,226,230,236,572,575,605,764,1070,1197 'post-to-wechat':763,1196 'pre':460,947,981 'pre-convert':946,980 'pre-flight':459 'prefer':72,206,253,611,654,660,1376 'preset':374 'press':873 'prioriti':69,154,391 'privaci':530 'profil':364,454,481,504,507,1357 'project':269 'prompt':60,426 'provid':315,1301 'publish':348,644,782,943,952,1141 'purpl':379 'purpos':221 'qr':1282 'question':123,131,137,146,673 'read':280 'readi':244 'recommend':338,798 'red':386 'refer':158,1334 'references/api-setup.md':817,1359 'references/article-posting.md':1345 'references/config/first-time-setup.md':290,1363 'references/image-text-posting.md':603,1337 'references/multi-account.md':458,622,1350 'render':962,966 'replac':977 'repli':116,181 'report':649,1139 'request':88,936,1104 'requir':796,917,1087,1243,1245 'resolut':449 'resolv':203,615,637,674,826,846 'respond':170 'result':1171 'rose':381 'rule':68,443,1068 'run':285,813,1278 'runtim':85,168,514 'save':732,761,1173 'scan':1281 'scope':264 'script':196,220,953 'scripts/check-permissions.ts':249 'scripts/md-to-wechat.ts':240 'scripts/wechat-api.ts':234 'scripts/wechat-article.ts':228 'scripts/wechat-browser.ts':222 'secur':531 'see':621,659,1375 'select':67,429,433,543,630,781,810 'sentenc':906 'session':808 'set':499,529,563,1060,1153,1289 'setup':289,558,669,815,1260,1362,1368 'sh':218,519 'share':506 'short':574 'simpl':371 'singl':140,145 'single-quest':144 'skill':59,267,400,511,567,822 'skill-baoyu-post-to-wechat' 'skill.md':200 'skip':473,708 'sky':380 'slow':803,1251 'slug':744,759 'slug.html':1205 'source-jimliu' 'specifi':789 'speed':795,1248 'step':423,560,608,613,623,628,635,642,647,651,679,693,710,719,736,779,824,941,1136,1186,1262 'still':939 'stop':934 'submit':601 'substitut':162 'suggest':213,467 'summari':881,884,907,1041,1157,1158 'support':18,129,405,407,1370,1380 'swift/appkit':539 'system':528,1331 'tag':865,967 'technic':188 'termin':534 'text':27,32,109,225,571,722,740,1203,1212,1218,1340 'theme':342,367,681,832,834,837,855,1038,1049,1126,1149,1150,1232,1347 'theme/color':638,827 'thumb':1083 'time':152,288,668,1366 'titl':595,870,901,1040,1155,1156 'title/content':1224 'title/summary':1294 'token':189,1265 'tool':56,66,79,102,128 'tool-select':65 'topic-agent-skills' 'topic-claude-skills' 'topic-codex-skills' 'topic-openclaw-skills' 'translat':753 'troubleshoot':1252 'true':437 'true/false':302 'truncat':910 'two':960 'type':627,697,921,1075,1144 'unless':788 'upload':969 'usag':456 'use':466,971,1005,1296 'user':54,62,77,89,93,114,173,277,471,1012,1063 'user-input':76 'valid':640,829,859,1269 'valu':390 'verifi':250,1267 'vermilion':377 'via':13,231,237,1373 'want':1014 'wayland':553 'wechat':5,9,51,243,500,646,766,1140,1175,1199,1290 'wechat-readi':242 'win':262,841 'word':749 'workflow':42,420,606 'write':178,818 'wrong':1315 'x':205,476,584,592,1035,1122,1132 'x11':550 'xcode':542 'xcode-select':541 'xdg':270,275 'xdotool':549 'y':210 'ydotool':552 'yellow':378 '内容':598 '内容管理':1192 '图文':36,227,573 '宝玉':353 '微信公众号':12 '文章':21,233,239,607 '标题':596 '登录后进入':1191 '草稿箱':1193 '贴图':34","prices":[{"id":"4aa79a15-50ac-4362-89bc-91ed72b03c27","listingId":"fc0b9d0f-32d8-4e08-b8ea-a7a51ff0b4ae","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"JimLiu","category":"baoyu-skills","install_from":"skills.sh"},"createdAt":"2026-04-18T21:53:34.233Z"}],"sources":[{"listingId":"fc0b9d0f-32d8-4e08-b8ea-a7a51ff0b4ae","source":"github","sourceId":"JimLiu/baoyu-skills/baoyu-post-to-wechat","sourceUrl":"https://github.com/JimLiu/baoyu-skills/tree/main/skills/baoyu-post-to-wechat","isPrimary":false,"firstSeenAt":"2026-04-18T21:53:34.233Z","lastSeenAt":"2026-05-03T00:52:27.636Z"}],"details":{"listingId":"fc0b9d0f-32d8-4e08-b8ea-a7a51ff0b4ae","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"JimLiu","slug":"baoyu-post-to-wechat","github":{"repo":"JimLiu/baoyu-skills","stars":16958,"topics":["agent-skills","claude-skills","codex-skills","openclaw-skills"],"license":null,"html_url":"https://github.com/JimLiu/baoyu-skills","pushed_at":"2026-04-25T20:03:31Z","description":null,"skill_md_sha":"7968e339d984d89da4bf6e7b35fcf316181bf36f","skill_md_path":"skills/baoyu-post-to-wechat/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/JimLiu/baoyu-skills/tree/main/skills/baoyu-post-to-wechat"},"layout":"multi","source":"github","category":"baoyu-skills","frontmatter":{"name":"baoyu-post-to-wechat","description":"Posts content to WeChat Official Account (微信公众号) via API or Chrome CDP. Supports article posting (文章) with HTML, markdown, or plain text input, and image-text posting (贴图, formerly 图文) with multiple images. Markdown article workflows default to converting ordinary external links into bottom citations for WeChat-friendly output. Use when user mentions \"发布公众号\", \"post to wechat\", \"微信公众号\", or \"贴图/图文/文章\"."},"skills_sh_url":"https://skills.sh/JimLiu/baoyu-skills/baoyu-post-to-wechat"},"updatedAt":"2026-05-03T00:52:27.636Z"}}