Catalog
jimliu/baoyu-post-to-weibo

jimliu

baoyu-post-to-weibo

Posts content to Weibo (微博). Supports regular posts with text, images, and videos, and headline articles (头条文章) with Markdown input via Chrome CDP. Use when user asks to "post to Weibo", "发微博", "发布微博", "publish to Weibo", "share on Weibo", "写微博", or "微博头条文章".

global
New~1.3k
v1.0Saved Jul 12, 2026

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:

  1. Determine this SKILL.md file's directory path as {baseDir}
  2. Script path = {baseDir}/scripts/<script-name>.ts
  3. Replace all {baseDir} in this document with the actual path
  4. 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 in priority order — the first one 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

If none 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
<text> Post content (positional)
--image <path> Image file (repeatable)
--video <path> Video file (repeatable)
--profile <dir> 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> Markdown file (positional)
--cover <path> Cover image
--title <text> Override title (max 32 chars, truncated if longer)
--summary <text> Override summary (max 44 chars, auto-regenerated if longer)
--profile <dir> 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:

  1. Opens https://card.weibo.com/article/v3/editor
  2. Clicks "写文章" button, waits for editor to become editable
  3. Fills title (validated for 32-char limit)
  4. Fills summary/导语 (validated for 44-char limit)
  5. Inserts HTML content into ProseMirror editor via paste
  6. 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.

Files9
9 files · 107.3 KB

Select a file to preview

Overall Score

82/100

Grade

B

Good

Safety

80

Quality

88

Clarity

82

Completeness

78

Summary

A skill for posting content to Weibo (微博) via real Chrome browser with CDP. Supports regular text/image/video posts and long-form Markdown articles (headline articles). Opens Chrome with pre-filled content for user review and manual publishing.

Static Analysis Findings

1 finding

Patterns detected by deterministic static analysis before AI scoring. Hover over any finding code for detailed information and remediation guidance.

Credential Exposure
SEC-020Direct .env File Access

Direct .env file access

scripts/weibo-utils.ts.env

Detected Capabilities

chrome-cdp-controlfile-readfile-writeclipboard-operationsenvironment-variable-readsystem-command-executionhtml-generationmarkdown-parsing

Trigger Keywords

Phrases that MCP clients use to match this skill to user intent.

post to weibo发微博weibo articleweibo headline微博头条share on weibo

Risk Signals

INFO

Direct .env file access via environment variables (WEIBO_BROWSER_CHROME_PATH, BAOYU_CHROME_PROFILE_DIR, WEIBO_BROWSER_PROFILE_DIR, WEIBO_BROWSER_DEBUG_PORT)

scripts/weibo-utils.ts (lines 32-50, 56-73)
INFO

Chrome profile directory reuse with persistent session storage

scripts/weibo-utils.ts (line 56), scripts/weibo-post.ts (line 48)
INFO

Process tree inspection via 'ps aux' to detect and kill Chrome instances by profile

scripts/weibo-utils.ts (lines 49-63)
INFO

System clipboard write operations for HTML and images

scripts/copy-to-clipboard.ts, scripts/paste-from-clipboard.ts
WARNING

Execute real OS keyboard input (Cmd+V / Ctrl+V) to bypass website detection

scripts/paste-from-clipboard.ts (osascript on macOS, xdotool on Linux, PowerShell on Windows)

Referenced Domains

External domains referenced in skill content, detected by static analysis.

...card.weibo.comgithub.comweibo.com

Use Cases

  • Post text status updates to Weibo
  • Share images and videos on Weibo
  • Publish long-form Markdown articles as Weibo headlines
  • Automate Weibo content composition with manual review

Quality Notes

  • Comprehensive multi-step article publishing workflow with detailed error handling and fallback methods
  • Well-documented character limits (32 for title, 44 for summary) with automatic truncation logic
  • Clear distinction between regular posts and headline articles based on input type
  • Excellent defensive programming: multiple content insertion methods (clipboard paste, DataTransfer, execCommand, execScript) with fallback chain
  • Good recovery logic for stale Chrome instances (health check before reuse, automatic restart on failure)
  • Detailed logging at each step aids debugging
  • Frontmatter support in Markdown (title, summary, cover_image) for article composition
  • EXTEND.md preference system for user customization of Chrome profile
  • Chrome process termination safeguard: only kills instances matching the baoyu-skills profile, not all Chrome
  • Manual review required before publishing (intentional security boundary)
  • Complete TypeScript type safety and async/await patterns
  • Markdown-to-HTML conversion with Mermaid diagram support and image placeholder replacement
  • Comprehensive CLI argument parsing for both scripts
  • Cross-platform support (macOS, Linux, Windows) for system clipboard and keyboard input
  • Edge case handling: empty files, missing files, readonly form fields, slow network, stale Chrome ports
Model: claude-haiku-4-5-20251001Analyzed: Jul 12, 2026

Reviews

Add this skill to your library to leave a review.

No reviews yet

Be the first to share your experience.

Use jimliu/baoyu-post-to-weibo in your dev environment

Command Palette

Search for a command to run...