小红书自动发布助手
Draft and publish posts to 小红书 (Xiaohongshu/RED). Use when creating content for 小红书, drafting posts, generating cover images, or publishing via browser automation. Covers the full …
yuf1011
@yuf1011
What This Skill Does
Drafts, formats, and publishes posts to 小红书 (Xiaohongshu/RED) through browser automation. Covers the full workflow from content creation and cover image generation (1080×1440 PNG with Pillow) to browser-based publishing, with a mandatory user review step before posting.
Replaces manual copy-paste and browser navigation for each 小红书 post by automating the entire publishing pipeline from draft to approval to live post.
When to Use It
- Schedule daily 小红书 posts with cron and an isolated agent session
- Generate a 小红书 cover image with title, subtitle, and tags using Pillow
- Draft a 小红书 post following platform-specific style rules (emoji hooks, short paragraphs, hashtags)
- Publish a 小红书 post via browser automation after user approval
- Fall back to manual publishing when browser automation is unavailable (e.g., CDP issues on macOS)
Install
$ openclaw skills install @yuf1011/xiaohongshu-publisher小红书 Publisher
Create, format, and publish posts to 小红书 (Xiaohongshu/RED) through browser automation.
Requirements
- Python 3 with Pillow (
pip install Pilloworapt install python3-pil) - CJK fonts —
fonts-noto-cjkon Linux (apt install fonts-noto-cjk), or Noto Sans CJK via Homebrew on macOS - OpenClaw browser tool — access to a browser with the user logged into 小红书 creator portal
- A connected OpenClaw node (or sandbox browser) with Chrome/Chromium for browser automation
Overview
This skill handles the complete 小红书 publishing pipeline:
- Draft — Write post content in 小红书 style
- Cover — Generate a cover image (1080×1440)
- Review — Send draft to user for approval via messaging channel
- Publish — Use browser automation to post (or deliver for manual posting)
Workflow
Step 1: Draft Content
Create post content following 小红书 style. See references/content-guide.md for formatting rules, structure, and examples.
Key rules:
- Title ≤20 chars, with emoji hook
- Use
---section breaks, emoji bullets, short paragraphs - End with question CTA + hashtags (8-12 tags)
- Save draft to
memory/xiaohongshu-draft.md
Step 2: Generate Cover Image
Run the cover generation script:
python3 <skill-dir>/scripts/gen_cover.py --title "主标题" --subtitle "副标题" --tags "标签1,标签2,标签3" --output /path/to/cover.png
Options:
--title— Main title (large text, required)--subtitle— Subtitle line (medium text, optional)--tags— Comma-separated feature tags shown as pills (optional)--badge— Top-right badge text (default: "OpenClaw")--output— Output path (default:cover.png)--gradient— Color scheme:purple(default),blue,green,orange,dark
Output: 1080×1440 PNG with gradient background, decorative elements, CJK text.
Step 3: Send for Review
Send the draft content + cover image to the user's messaging channel for review. Format:
📝 小红书草稿 — [主题]
标题:[标题]
[正文内容]
封面图已生成:[path]
请确认:
✅ 可以发布
✏️ 需要修改
❌ 不发
Never auto-publish. Always wait for explicit user approval.
Step 4: Publish via Browser
After user approval, publish using browser automation on the configured node.
See references/browser-publish.md for the complete browser automation steps.
Summary:
- Navigate to
https://creator.xiaohongshu.com/publish/publish - Enter title and body text
- Upload cover image via browser
uploadaction - Click publish
Fallback: Manual Publishing
If browser automation is unavailable (CDP issues, node offline, etc.), send the complete post to the user's channel with all content formatted for easy copy-paste:
📋 小红书发帖内容(请手动发布)
【标题】[标题]
【正文】
[正文内容]
【标签】[hashtags]
封面图:[path to cover image]
Known Limitations
- Mac Chrome CDP: Chrome launched via SSH/node may fail to bind
--remote-debugging-porton macOS (GUI session required). Ifbrowser startfails, fall back to manual publishing. - Login state: 小红书 creator portal requires login. If the session has expired, ask the user to re-login in their browser before proceeding.
- Pillow emoji: Pillow cannot render color emoji (NotoColorEmoji.ttf) — use text/icon alternatives in cover images.
Cron Integration
This skill works with cron jobs for scheduled daily posting. Typical cron setup:
Schedule: 0 8 * * * (Asia/Shanghai)
Session: isolated agentTurn
Delivery: announce to user's channel
The cron job message should reference this skill and include the content plan/topic for the day.
Top skills in this category
Playwright MCP
@spiceman161Browser automation via Playwright MCP server. Navigate websites, click elements, fill forms, extract data, take screenshots, and perform full browser automation workflows.
Content Strategy
@jk-0001Build and execute a content marketing strategy for a solopreneur business. Use when planning what content to create, deciding on content formats and channels, building a content calendar, measuring content performance, or systematizing content production. Covers audience research for content, content pillars, distribution strategy, repurposing workflows, and metrics. Trigger on "content strategy", "content marketing", "what content should I create", "content plan", "content calendar", "content ideas", "content distribution", "grow through content".
Agent Browser
@matrixyHeadless browser automation CLI optimized for AI agents with accessibility tree snapshots and ref-based element selection
Browser Use
@shawnpanaAutomates browser interactions for web testing, form filling, screenshots, and data extraction. Use when the user needs to navigate websites, interact with w...
Playwright (Automation + MCP + Scraper)
@ivangdavilaAutomates, tests, and debugs browsers with Playwright: locators, auto-waiting, traces, CI runs, and MCP browser control. Use when a test is flaky, times out, or fails only in CI or headless; when a locator matches multiple elements or the wrong one (strict mode violation); when clicks need force, waits become sleeps, or networkidle never settles; for storageState and login setup, request mocking and HAR replay, uploads and downloads, iframes and shadow DOM, popups and dialogs, screenshot diffs that change per machine, trace and report artifacts, sharding a slow suite, device and permission emulation, accessibility checks, driving a real browser through Playwright MCP, extracting data from JS-rendered pages, or porting a Cypress, Puppeteer, or Selenium suite to Playwright. Not for maintaining an existing Cypress or Puppeteer suite (cypress, puppeteer) or for work a plain HTTP request answers (http).