skill-xhs-publisher · Xiaohongshu Publisher

A Xiaohongshu publishing skill: Playwright plus a persistent login session drives the creator backend, completing image-text and video publishes headlessly.
The flow is fixed: check the environment; login with a headed QR scan if needed (once — the session persists); plan for a dry-run preview so the user confirms title, body, and media; then publish / publish-video --exec with built-in success verification. Hard constraints: user confirmation required before publishing; titles ≤ 20 full-width characters.
Example invocation: "Post this image set to Xiaohongshu with the title 'Autumn Camping Checklist'" (with images attached).
Full brief
Positioning
skill-xhs-publisher is the dedicated Xiaohongshu publishing executor: Playwright plus a persistent login session drives the creator backend, publishing image-text and video posts headlessly. It does exactly one thing — getting content published. No content analysis, no comment management.
Core capabilities
- Image-text / video publishing: all through the shared script
xhs_publish.py; image posts require images, video posts require videos — never mixed. - QR-code login:
loginrenders the QR code as a PNG for scanning; the session persists for long-term reuse. - Pre-publish check:
plandry-runs the publish (title length / media paths / steps) and shows the user the final title, body, and media for confirmation. - Success verification: built-in publish-success check (only counts when the URL leaves /publish/publish), with upload-completion waiting.
- Anti-detection: AutomationControlled disabled + character-by-character typing + zh-CN locale + persistent session; automated publishing still carries platform risk-control, throttling, and account-ban risk.
- Post-publish trail: persona scores and publish records flow into skill-publish-log automatically for monitoring and attribution.
Workflow
check: verify the environment (playwright + chromium)- Not logged in →
loginwith a headed QR scan (once) plan: dry-run preview; user confirms final title, body, media- Pre-publish persona check (with Profile; below 80, deviations reported, not blocking)
publish / publish-video --exec(first run with--headedto validate selectors, then headless)- Success verification → post-publish trail (persona record + publish-log)
Inputs & outputs
| Input | Notes |
|---|---|
| Title + images | Image-text publish (title ≤ 20 full-width characters; the script blocks over-limit titles) |
| Title + video | Video publish |
| Page URL | Content and media are extracted first into a publishable draft, awaiting confirmation |
Output: publish execution result (success/failure) plus the resulting Xiaohongshu link; records auto-written to skill-publish-log.
Boundaries with adjacent skills
| Skill | Lane |
|---|---|
| skill-xhs-publisher (this) | Publishing: image-text and video posts |
| skill-xhs-comment-reply | Comment engagement: fetching and replying to comments (shares the login session) |
| xhs-analyzer | Analysis: search patterns, viral breakdowns, keyword matrices, throttling detection |
| skill-cross-platform-publish | Multi-platform one-draft orchestrator; delegates to this skill for Xiaohongshu |
Fit
- Scheduled/bulk publishing of finished image-text notes to Xiaohongshu
- Syncing video content to Xiaohongshu
- Automated publishing flows that need pre-publish checks and success verification
Before you start
- One QR-code login is required (
login); needs a clean network IP (datacenter/proxy exits may be blocked by Xiaohongshu's security checks). - Start on a test account with low volume by default; final content should be human-reviewed. Automated publishing risks platform risk-control, throttling, or bans — assess and accept at your own discretion.
- Media paths must be absolute; titles ≤ 20 full-width characters.
skill-xhs-publisher is part of the Aiglade Skill library. Invoke it from the Aiglade chat box in plain language.