- Post to Weibo
- Posts text, images, videos, and long-form articles to Weibo via real Chrome browser (bypasses anti-bot detection).
- Script Directory
- Important
- All scripts are located in the
scripts/
subdirectory of this skill.
Agent Execution Instructions
:
Determine this SKILL.md file's directory path as
{baseDir}
Script path =
{baseDir}/scripts/
.ts Replace all {baseDir} in this document with the actual path Resolve ${BUN_X} runtime: if bun installed → bun ; if npx available → npx -y bun ; else suggest installing bun Script Reference : 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 Preferences (EXTEND.md) Check EXTEND.md existence (priority order):
macOS, Linux, WSL, Git Bash
test -f .baoyu-skills/baoyu-post-to-weibo/EXTEND.md && echo "project" test -f " ${XDG_CONFIG_HOME :- $HOME / .config} /baoyu-skills/baoyu-post-to-weibo/EXTEND.md" && echo "xdg" test -f " $HOME /.baoyu-skills/baoyu-post-to-weibo/EXTEND.md" && echo "user"
PowerShell (Windows)
- if
- (
- Test-Path
- .
- baoyu-skills/baoyu-post-to-weibo/EXTEND
- .
- md
- )
- {
- "project"
- }
- $xdg
- =
- if
- (
- $env
- :XDG_CONFIG_HOME
- )
- {
- $env
- :XDG_CONFIG_HOME
- }
- else
- {
- "
- $HOME
- /.config"
- }
- if
- (
- Test-Path
- "
- $xdg
- /baoyu-skills/baoyu-post-to-weibo/EXTEND.md"
- )
- {
- "xdg"
- }
- if
- (
- Test-Path
- "
- $HOME
- /.baoyu-skills/baoyu-post-to-weibo/EXTEND.md"
- )
- {
- "user"
- }
- ┌──────────────────────────────────────────────────┬───────────────────┐
- │ Path │ Location │
- ├──────────────────────────────────────────────────┼───────────────────┤
- │ .baoyu-skills/baoyu-post-to-weibo/EXTEND.md │ Project directory │
- ├──────────────────────────────────────────────────┼───────────────────┤
- │ $HOME/.baoyu-skills/baoyu-post-to-weibo/EXTEND.md│ User home │
- └──────────────────────────────────────────────────┴───────────────────┘
- ┌───────────┬───────────────────────────────────────────────────────────────────────────┐
- │ Result │ Action │
- ├───────────┼───────────────────────────────────────────────────────────────────────────┤
- │ Found │ Read, parse, apply settings │
- ├───────────┼───────────────────────────────────────────────────────────────────────────┤
- │ Not found │ Use defaults │
- └───────────┴───────────────────────────────────────────────────────────────────────────┘
- EXTEND.md Supports
-
- Default Chrome profile
- Prerequisites
- Google Chrome or Chromium
- bun
- runtime
- First run: log in to Weibo manually (session saved)
- Regular Posts
- Text + images/videos (max 18 files total). Posted on 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
- Parameters
- :
- Parameter
- Description
- Post content (positional)
- --image
- Image file (repeatable)
- --video
- Video file (repeatable)
- --profile
- Custom Chrome profile
- Note
-
- Script opens browser with content filled in. User reviews and publishes manually.
- Headline Articles (头条文章)
- Long-form Markdown articles published at
- 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
- Parameters
- :
- Parameter
- Description
- Markdown file (positional)
- --cover
- Cover image
- --title
- Override title (max 32 chars, truncated if longer)
- --summary
- Override summary (max 44 chars, auto-regenerated if longer)
- --profile
- Custom Chrome profile
- Frontmatter
- :
- title
- ,
- summary
- ,
- cover_image
- supported in YAML front matter.
- Character Limits
- :
- Title: 32 characters max (truncated with warning if longer)
- Summary/导语: 44 characters max (auto-regenerated from content if longer)
- Markdown-to-HTML
-
- Do NOT pass any
- --theme
- parameter when converting markdown to HTML. Use the default theme (no theme argument).
- Article Workflow
- :
- Opens
- https://card.weibo.com/article/v3/editor
- Clicks "写文章" button, waits for editor to become editable
- Fills title (validated for 32-char limit)
- Fills summary/导语 (validated for 44-char limit)
- Inserts HTML content into ProseMirror editor via paste
- Replaces image placeholders one by one (copy image → select placeholder → paste)
- Post-Composition Check
-
- The script automatically verifies after all images are inserted:
- Remaining
- WBIMGPH_
- placeholders in editor content
- Expected vs actual image count
- If the check fails (warnings in output), alert the user with the specific issues before they publish.
- Post Type Selection
- Unless the user explicitly specifies the post type:
- Markdown file
- (
- .md
- ) →
- Headline Article
- (头条文章)
- Plain text
- / text with images →
- Regular Post
- Troubleshooting
- Chrome debug port not ready
- If a script fails with
- Chrome debug port not ready
- or
- Unable to connect
- , kill only the CDP Chrome instances (those 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
- CRITICAL
-
- Never kill all Chrome processes (
- pkill -f "Google Chrome"
- ). Only kill Chrome instances launched by CDP with the baoyu-skills profile directory. The user may have regular Chrome windows open.
- Important
- This should be done automatically -- when encountering this error, kill the CDP Chrome instances and retry the command without asking the user. Notes First run: manual login required (session persists) All scripts only fill content into the browser, user must review and publish manually Cross-platform: macOS, Linux, Windows Extension Support Custom configurations via EXTEND.md. See Preferences section for paths and supported options.