Skip to main content
skill Claude Code CX Codex Cursor GitHub Copilot

baoyu-post-to-weibo — Claude Code skill

Prepares regular Weibo posts and articles through Chrome. Use it when text, media, or a Markdown article needs to be placed in the editor for manual publishing.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add JimLiu/baoyu-skills --skill baoyu-post-to-weibo -a claude-code
Open on GitHub

What baoyu-post-to-weibo does

This skill fills Weibo post forms through Chrome CDP with text, images, or video. Regular posts use scripts/weibo-post.ts and can include up to 18 media files. The browser opens with the content in place, then the user reviews and publishes it.

A Markdown file is treated as an article and handled by scripts/weibo-article.ts. The script transfers the title, summary, and HTML into the editor, then inserts images one at a time. It checks image counts and looks for leftover placeholders after composition.

Google Chrome or Chromium and bun are required, and the first run needs a manual Weibo login. This is preparation rather than unattended posting because the final review and publish action stay with the user. A Chrome profile can be set in EXTEND.md or passed with --profile.

What it helps with

  • fill a Weibo post with text and images
  • attach video to a Weibo post
  • move a Markdown article into the Weibo editor
  • check inserted images before publishing
  • use a separate Chrome profile

Example prompts for the agent

  • Post this text to Weibo with `./photo.png` attached.
  • Prepare a Weibo article from `article.md` with `./cover.jpg` as the cover.
  • Fill a Weibo post with `./clip.mp4`, then leave publishing for my approval.

How to install baoyu-post-to-weibo

1Skills CLI (Vercel)

npx skills add JimLiu/baoyu-skills --skill baoyu-post-to-weibo -a claude-code

2Manually: put the files in place

~/.claude/skills/baoyu-post-to-weibo/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/baoyu-post-to-weibo/

From the same set18

The whole set →
baoyu-post-to-wechat JimLiu Publishes articles and image posts to WeChat Official Accounts via API or Chrome CDP. Useful when managing a WeChat blog and draft queue directly from your coding assistant. Claude Code CX Codex Cursor +1 34,400installs baoyu-image-gen JimLiu Generates images via OpenAI, Google, DashScope, and other APIs directly inside your coding agent. Handles text prompts, image references, and parallel batch jobs. Claude Code CX Codex Cursor +1 33,600installs baoyu-infographic JimLiu Turns your text into an infographic: picks a layout and style, writes the prompt, renders the image. Claude Code CX Codex Cursor +1 32,800installs baoyu-markdown-to-html JimLiu Turns a Markdown file into styled HTML with inline CSS and WeChat-ready themes. Useful when an article has to go out with its own look. Claude Code CX Codex Cursor +1 32,200installs baoyu-cover-image JimLiu Generates article cover images across five dimensions: type, palette, rendering, text and mood. Useful when a post or longread needs a header image. Claude Code CX Codex Cursor +1 32,100installs baoyu-article-illustrator JimLiu Inspects article structure, picks key spots for graphics, and generates consistent raster illustrations. Use it when an article needs visuals planned directly inside your coding agent. Claude Code CX Codex Cursor +1 31,900installs baoyu-slide-deck JimLiu Turns content into slide images: an outline with style rules first, then individual PNGs. Built for reading and sharing, not live presenting. Claude Code CX Codex Cursor +1 31,200installs baoyu-comic JimLiu A skill that builds original knowledge comics with panel layouts and batch image generation. Useful when you need a comic about a topic, a biography or a tutorial. Claude Code CX Codex Cursor +1 29,900installs

Similar

revops coreyhaines31 This skill helps design RevOps workflows for lead stages, scoring, routing, and marketing-to-sales handoffs. Use it when CRM processes need clear rules. Claude Code CX Codex Cursor +1 113,000installs product-marketing coreyhaines31 Creates and maintains a shared document for product positioning, audience, and brand voice. Use it before other marketing skills so they can refer to the same context. Claude Code CX Codex Cursor +1 83,700installs brag latent-spaces Generates a short, polished launch video from project source code using Hyperframes. Requires no running server or screenshots. Claude Code CX Codex Cursor +1 20,000installs investor-outreach affaan-m Drafts cold emails, warm intro blurbs, follow-ups, and investor updates. Use it when fundraising outreach needs a concise message tailored to a specific investor. Claude Code CX Codex Cursor +1 4,400installs reddit-automation flowkit-labs Finds Reddit threads where people actually need what you sell, then drafts short helpful replies that disclose your affiliation. Claude Code CX Codex Cursor +1 1,100,000installs content-creation official anthropics This skill helps draft marketing content for blogs, social posts, newsletters, landing pages, and more. Use it when channel formatting, SEO copy, headlines, or CTAs matter. Claude Code CX Codex Cursor +1 4,900installs marketing-ideas coreyhaines31 This skill suggests marketing ideas for SaaS and software products based on their stage and available resources. Use it when you need a place to start with growth. Claude Code CX Codex Cursor +1 146,400installs

Questions about baoyu-post-to-weibo

How do I install baoyu-post-to-weibo in Claude Code?

Run npx skills add JimLiu/baoyu-skills --skill baoyu-post-to-weibo -a claude-code, then run npx skills add JimLiu/baoyu-skills --skill baoyu-post-to-weibo -a claude-code again. The skill file is located at ~/.claude/skills/baoyu-post-to-weibo/SKILL.md.

What does baoyu-post-to-weibo do?

It fills regular Weibo posts with text, images, or video, and prepares articles from Markdown. It opens Chrome and leaves the final publish action to the user.

What does baoyu-post-to-weibo require?

It requires Google Chrome or Chromium plus the bun runtime. The first run requires a manual Weibo login, and the session is saved.

Source text

SKILL.md · MIT
---
name: baoyu-post-to-weibo
description: 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 "微博头条文章".
version: 1.117.3
metadata:
  openclaw:
    homepage: https://github.com/JimLiu/baoyu-skills#baoyu-post-to-weibo
    requires:
      anyBins:
        - bun
        - npx
---

# 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.

```bash
${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`.

```bash
${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:

```bash
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.

© JimLiu · MIT · JimLiu/baoyu-skills

See also

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor