# Post To Xhs

> 发布内容到小红书，支持图文笔记和视频笔记。自动判断发布类型，校验标题和素材，用户确认后发布。 当用户想在小红书发布内容时使用——包括发笔记、发图文、发视频、上传图片、写一篇小红书、把内容发到红书上、种草笔记、好物分享等，即使用户只说"帮我发一下"但上下文明确是小红书也应触发。

- Skill: `autoclaw-cc/post-to-xhs` (Agent Skill)
- Install (CLI): `npx skillmds@latest add autoclaw-cc/post-to-xhs`
- Raw SKILL.md: https://api.skillmd.com/api/skills/autoclaw-cc/post-to-xhs/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: autoclaw-cc (https://skillmd.com/u/autoclaw-cc)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/autoclaw-cc/post-to-xhs

---


## 输入判断

根据用户提供的素材判断发布类型：
- 提供了视频文件 → 视频笔记
- 提供了图片 → 图文笔记
- 仅提供文本 → 提示用户至少提供图片或视频

## 约束

- 标题最多 20 个中文字或英文单词（小红书平台限制，超长会被截断）
- 图文笔记至少 1 张图片（小红书不允许纯文本笔记）
- 视频笔记仅支持本地视频文件绝对路径（MCP 服务需要读取本地文件）
- 图片和视频不能混用，只能二选一（小红书平台限制）
- 正文中不要包含 # 标签（标签通过 `tags` 参数单独传递，MCP 服务会自动处理格式）
- 发布前展示完整内容让用户确认（发布后无法撤回）

## 执行流程

### 1. 收集发布信息

确保以下内容齐全：
- `title`（必填）— 标题
- `content`（必填）— 正文
- 图片列表或视频路径（必填其一）
- `tags`（可选）— 话题标签
- `schedule_at`（可选）— 定时发布，ISO8601 格式
- `is_original`（可选，仅图文）— 声明原创
- `visibility`（可选）— 公开可见 | 仅自己可见 | 仅互关好友可见

信息不完整时，向用户询问缺少的部分。

### 2. 内容校验

- 检查标题长度（≤20 中文字）
- 检查图片/视频文件路径是否为绝对路径
- 如用户提供 URL 内容，先用 WebFetch 提取文本和图片

### 3. 确认发布

向用户展示完整的发布内容预览：
- 标题、正文、标签
- 图片列表或视频路径
- 定时时间、可见范围（如有）

等待用户确认后才执行发布。

### 4. 发布

**图文笔记** — 调用 `publish_content`：
- `title`（string，必填）
- `content`（string，必填）
- `images`（string[]，必填）— 图片路径或 URL
- `tags`（string[]，可选）
- `schedule_at`（string，可选）
- `is_original`（bool，可选）
- `visibility`（string，可选）

**视频笔记** — 调用 `publish_with_video`：
- `title`（string，必填）
- `content`（string，必填）
- `video`（string，必填）— 本地视频绝对路径
- `tags`（string[]，可选）
- `schedule_at`（string，可选）
- `visibility`（string，可选）

### 5. 报告结果

发布成功后，告知用户笔记 ID 和发布状态。

## 失败处理

| 场景 | 处理 |
|---|---|
| 未登录 | 引导使用 xhs-login |
| 标题超长 | 提示用户缩短标题 |
| 图片路径无效 | 提示检查路径是否正确 |
| 视频使用了相对路径 | 提示改为绝对路径 |
| 发布失败 | 展示错误信息，建议检查内容或重试 |

