
Baoyu-post-to-weibo enables users to post text, images, videos, and long-form articles directly to Weibo through a real Chrome browser, bypassing anti-bot detection. The skill serves Chinese content creators and social media managers who need to publish to Weibo programmatically via natural language commands like "post to Weibo" or "发微博". It solves the problem of automating Weibo publishing while avoiding platform detection systems by using actual browser automation rather than API calls.
$ npx -y skills add jimliu/baoyu-skills --skill baoyu-post-to-weibo --agent claude-codeInstalls into .claude/skills of the current project.
Posts via a real Chrome browser (CDP), which avoids anti-bot detection. Scripts only fill content in the browser — the user reviews and publishes manually.
{baseDir} = this SKILL.md's directory; scripts are at {baseDir}/scripts/<script-name>.ts. Resolve ${BUN_X}: bun if installed → else npx -y bun → else suggest installing bun.
| Script | Purpose |
|---|---|
scripts/weibo-post.ts | Regular posts (text + images) |
scripts/weibo-article.ts | Headline article publishing (Markdown) |
scripts/copy-to-clipboard.ts | Copy content to clipboard |
scripts/paste-from-clipboard.ts | Send real paste keystroke |
First found wins:
| Priority | Path | Scope |
|---|---|---|
| 1 | .baoyu-skills/baoyu-post-to-weibo/EXTEND.md | Project |
| 2 | ${XDG_CONFIG_HOME:-$HOME/.config}/baoyu-skills/baoyu-post-to-weibo/EXTEND.md | XDG |
| 3 | $HOME/.baoyu-skills/baoyu-post-to-weibo/EXTEND.md | User home |
None found → use defaults. Supported: default Chrome profile.
Google Chrome or Chromium; bun. First run: user logs in to Weibo manually (session persists). Works on macOS, Linux, Windows.
Unless the user specifies: Markdown file (.md) → Headline Article (头条文章); plain text / text with images → Regular Post.
Text + images/videos (max 18 files total), posted on the Weibo homepage.
${BUN_X} {baseDir}/scripts/weibo-post.ts "Hello Weibo!" --image ./photo.png
${BUN_X} {baseDir}/scripts/weibo-post.ts "Watch this" --video ./clip.mp4
| Parameter | Description |
|---|---|
<text> | Post content (positional) |
--image <path> | Image file (repeatable) |
--video <path> | Video file (repeatable) |
--profile <dir> | Custom Chrome profile |
Editor: https://card.weibo.com/article/v3/editor.
${BUN_X} {baseDir}/scripts/weibo-article.ts article.md
${BUN_X} {baseDir}/scripts/weibo-article.ts article.md --cover ./cover.jpg
| Parameter | Description |
|---|---|
<markdown> | Markdown file (positional) |
--cover <path> | Cover image |
--title <text> | Override title (max 32 chars, truncated with warning if longer) |
--summary <text> | Override summary/导语 (max 44 chars, auto-regenerated from content if longer) |
--profile <dir> | Custom Chrome profile |
Frontmatter: title, summary, cover_image.
Markdown-to-HTML: do NOT pass any --theme when converting; use the default theme.
Script flow: opens the editor → clicks "写文章" and waits until editable → fills title and summary → pastes HTML into the ProseMirror editor → replaces image placeholders one by one (copy image → select placeholder → paste).
Post-composition check: the script then reports remaining WBIMGPH_ placeholders and expected vs actual image count. If it prints warnings, tell the user the specific issues before they publish.
Chrome debug port not ready / Unable to connect: automatically, without asking, kill only the CDP Chrome instances (with --remote-debugging-port AND the baoyu-skills profile), then retry:
pkill -f "remote-debugging-port.*baoyu-skills/chrome-profile" 2>/dev/null; sleep 2
Never kill all Chrome processes (pkill -f "Google Chrome") — the user may have regular Chrome windows open.
Custom configuration via EXTEND.md — see Preferences.
Sponsors