feat: 增加运营技巧

This commit is contained in:
richarjiang
2026-04-19 16:15:11 +08:00
parent 2e4ee085cc
commit 35a8a4c3a2
53 changed files with 1304 additions and 3325 deletions

View File

@@ -0,0 +1,86 @@
---
name: post-to-xhs
argument-hint: "[标题或内容描述]"
description: |
发布内容到小红书,支持图文笔记和视频笔记。自动判断发布类型,校验标题和素材,用户确认后发布。
当用户想在小红书发布内容时使用——包括发笔记、发图文、发视频、上传图片、写一篇小红书、把内容发到红书上、种草笔记、好物分享等,即使用户只说"帮我发一下"但上下文明确是小红书也应触发。
---
## 输入判断
根据用户提供的素材判断发布类型:
- 提供了视频文件 → 视频笔记
- 提供了图片 → 图文笔记
- 仅提供文本 → 提示用户至少提供图片或视频
## 约束
- 标题最多 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 |
| 标题超长 | 提示用户缩短标题 |
| 图片路径无效 | 提示检查路径是否正确 |
| 视频使用了相对路径 | 提示改为绝对路径 |
| 发布失败 | 展示错误信息,建议检查内容或重试 |

View File

@@ -0,0 +1,143 @@
---
name: setup-xhs-mcp
description: |
安装部署 xiaohongshu-mcp 服务并配置 MCP 连接,引导用户完成从零到可用的全流程。
当用户第一次使用小红书功能、提到安装/部署/配置小红书、环境搭建、MCP 服务连接失败、或 check_login_status 等 MCP 工具不可用时使用。
---
项目仓库https://github.com/xpzouying/xiaohongshu-mcp
## 执行流程
### 1. 检测服务状态
检查 xiaohongshu-mcp 是否已在运行注意MCP 端点只接受 POSTGET 会返回 405不能用 `-f` 判断):
```bash
curl -so /dev/null http://localhost:18060/mcp && echo "running" || echo "not running"
```
- 已运行 → 记录地址 `http://localhost:18060/mcp`,跳到步骤 3
- 未运行 → 询问用户:服务是否部署在其他地址/端口?
- 用户提供地址 → 验证可达后跳到步骤 3
- 未部署 → 进入步骤 2
### 2. 部署服务
确认操作系统macOS / Linux / Windows和是否已安装 Docker。
#### 方式一Docker Compose推荐
Docker 镜像内置 Chrome 和中文字体,无需额外配置。
```bash
# 下载 docker-compose.yml
wget https://raw.githubusercontent.com/xpzouying/xiaohongshu-mcp/main/docker/docker-compose.yml
# 启动服务
docker compose up -d
# 查看日志
docker compose logs -f
```
镜像源:
- Docker Hub默认`xpzouying/xiaohongshu-mcp`
- 阿里云(国内推荐):`crpi-hocnvtkomt7w9v8t.cn-beijing.personal.cr.aliyuncs.com/xpzouying/xiaohongshu-mcp`
切换方法:编辑 docker-compose.yml注释默认 image 行,取消注释阿里云 image 行。
数据持久化:
- `./data` — cookies 登录状态
- `./images` — 发布图片时的挂载目录
#### 方式二:下载二进制
从 GitHub Releases 下载https://github.com/xpzouying/xiaohongshu-mcp/releases/latest
```bash
curl -s https://api.github.com/repos/xpzouying/xiaohongshu-mcp/releases/latest | grep browser_download_url
```
注意:二进制方式需要本机已安装 Chrome 或 Chromium。
#### 方式三:源码编译
不推荐,仅适合 Go 开发者。参考项目仓库 README。
部署完成后用 curl 确认服务已启动,然后进入步骤 3。
### 3. 检测 MCP 连接配置
检查当前客户端是否已配置 xiaohongshu MCP 连接。
**Claude Code**:读取 `~/.claude/settings.json` 和项目级 `.claude/settings.json`,查找 `mcpServers` 中是否有 `xiaohongshu` 配置。
- 已配置且地址正确 → 跳到步骤 5
- 已配置但地址不匹配 → 修正地址
- 未配置 → 进入步骤 4
### 4. 配置 MCP 连接
询问用户:
**连接地址**:如果步骤 1 已确认可达的地址,用该地址作为默认值,否则默认 `http://localhost:18060/mcp`
**使用的客户端**
**Claude Code**
```bash
claude mcp add xiaohongshu --transport http <地址>
```
或写入配置文件:
- 全局:`~/.claude/settings.json`
- 项目级:`.claude/settings.json`
```json
{
"mcpServers": {
"xiaohongshu": {
"url": "http://localhost:18060/mcp"
}
}
}
```
**Cursor**`.cursor/mcp.json`
```json
{
"mcpServers": {
"xiaohongshu": {
"url": "http://localhost:18060/mcp"
}
}
}
```
**其他客户端**:告知用户 MCP 服务地址,让用户按客户端文档自行配置。
### 5. 验证与提示
1. **提示用户重启当前会话** — MCP 配置变更后需重启客户端才能加载新的 MCP 工具
2. 重启后调用 `check_login_status` 验证连接正常
3. 验证成功 → 引导用户使用 `/xhs-login` 完成扫码登录
## 环境变量(可选)
- `XHS_PROXY` — HTTP/HTTPS/SOCKS5 代理地址
- `ROD_BROWSER_BIN` — 自定义 Chromium 路径
- `HEADLESS` — 无头模式开关
## 失败处理
| 场景 | 处理 |
|---|---|
| Docker 未安装 | 建议安装 Docker 或改用二进制方式 |
| 国内拉取镜像慢 | 切换到阿里云镜像源 |
| 端口 18060 被占用 | 检查已有进程,或更换端口 |
| Chrome 未安装(二进制方式) | 引导安装 Chrome 或改用 Docker 方式 |
| 配置写入后工具仍不可用 | 提示重启客户端会话 |
| 已有配置但地址错误 | 修正地址并重启 |

View File

@@ -1,212 +0,0 @@
---
name: xhs-content-creator
description: |
小红书爆款内容创作器。基于知识库中沉淀的爆款逻辑、用户身份信息和场馆资料,自动生成高质量小红书帖子。
完整流程:读取 wiki 知识库 → 可选搜索竞品 → 生成内容 → 审核优化 → 沉淀到知识库。
触发场景(即使用户没有明确说"小红书",只要意图是创作社交媒体内容也应触发):
- "帮我写一篇小红书"
- "生成小红书内容"
- "写篇帖子/笔记"
- "创作一篇关于XX的内容"
- "帮我写个引流帖"
- "出一篇关于XX的文案"
- 用户描述了想表达的主题/卖点,期望产出可发布的内容
不触发:
- 纯搜索/拉取小红书数据(用 xiaohongshu skill
- 分析已有笔记质量(用 xiaohongshu-note-analyzer skill
- 知识库的 ingest/query/lint 操作
---
# 小红书爆款内容创作器
用户只需说出想表达的主题,本 skill 自动完成:知识库调研 → 内容生成 → 质量审核 → 知识库沉淀。
## 执行流程
按以下 5 个阶段顺序执行。每个阶段完成后简要告知用户进度。
---
### 阶段 1读取知识库上下文
这一步的目的是让你充分理解用户的身份、过往内容风格、已沉淀的爆款规律,避免生成泛泛而谈的内容。
1. 读取项目根目录的 `CLAUDE.md`,了解知识库结构和页面规范
2. 读取 `wiki/index.md`,扫描所有已有的 source、topic、entity、idea 页面
3. 根据用户本次创作主题,读取相关的 wiki 页面:
- `wiki/topics/` 下与主题相关的爆款逻辑分析
- `wiki/sources/` 下的历史素材摘要
- `wiki/entities/` 下的用户身份、场馆、品牌信息
- `wiki/ideas/` 下是否有相关的已有构思
- `wiki/meta/` 下的方法论和风格指南
从这些页面中提取并记住以下关键信息(后续阶段会用到):
- **用户身份**:职业、资质认证、从业经验
- **场馆/品牌信息**:名称、地址、特色、定位
- **爆款规律**:标题公式、正文结构模式、标签策略、互动触发技巧
- **历史创作**:过往的选题和风格,避免重复
如果 wiki 中缺少用户身份或场馆信息(比如 entities 目录为空),直接询问用户补充关键信息,并建议后续创建 entity 页沉淀。
---
### 阶段 2确认创作方向
和用户对齐内容策略,避免写完才发现方向不对。
根据知识库中的爆款分析(如果有),向用户展示适合本次主题的内容类型选项:
| 类型 | 特征 | 适合场景 |
|---|---|---|
| 经验复盘型 | 赞藏评均衡,评论互动强 | 引流获客、建立信任 |
| 模板/清单型 | 高赞高藏,天花板高 | 涨粉、扩大曝光 |
| 方法论干货型 | 高收藏,同行传播 | 打造行业 IP |
| 避坑/对比型 | 痛点驱动,讨论多 | 引发互动、吸引精准客户 |
让用户选择或确认。如果用户已经明确说了类型(比如"写篇复盘帖"),直接跳过选择。
同时确认:
- 这篇内容的核心卖点/想表达的重点
- 目标读者是谁(潜在客户 vs 同行)
---
### 阶段 3生成内容
这是核心输出阶段。基于阶段 1 的知识库上下文和阶段 2 的方向确认,生成完整帖子。
#### 标题生成
从 wiki 中提取的爆款标题公式中选择最适合本次内容类型的公式,生成 2-3 个备选标题。
标题要求:
- 20 字以内
- 必须包含核心关键词
- 必须有情绪触发点或价值点
- 包含地域词(如果是同城引流内容)
#### 正文生成
遵循以下结构原则(来自爆款分析的共性规律):
1. **开头即钩子**:前 2 句制造"跟我有关"的感觉,用故事或痛点切入,不用"大家好我是XX"
2. **结构可扫读**:用 emoji 编号(❶❷❸)+ 短段落,不写大段文字
3. **有具体案例**:不讲道理讲经历,不说术语说感受
4. **真实感 > 专业感**:用第一人称,带入个人经历和真实数据
5. **结尾留互动空间**:提问式引导评论,但不用"一键三连"这类硬引导
正文字数300-600 字(小红书最佳区间)。
自动融入用户身份和场馆信息,但要自然 — 品牌名只在结尾出现一次,认证资质作为背景信息融入叙述,不要堆砌。
#### 标签生成
15 个左右标签,覆盖四个维度:
- 核心词标签(行业 + 细分)
- 地域词标签(城市 + 区域 + 地标)
- 场景词标签(痛点场景、使用场景)
- 泛赛道标签(跨到更大的流量池,如女性创业、实体门店)
#### 输出格式
```
## 备选标题
A: [标题A]
B: [标题B]
C: [标题C]
推荐:[推荐哪个,为什么]
## 正文
[完整正文,可直接复制发布]
## 标签
[所有标签,以 # 分隔]
```
---
### 阶段 4内容审核与优化
生成初稿后,调用 xiaohongshu-note-analyzer skill 进行 6 维度审核:
```
使用 Skill tool 调用 xiaohongshu-note-analyzer传入生成的标题和正文
```
审核维度:
1. 关键词分析 — 核心词布局、标签优化
2. 标题/首段吸引力 — 爆款公式匹配度
3. 敏感内容风险 — 违规词、限流风险
4. 商业化程度 — 自然度评分
5. 互动触发潜力 — 讨论点、收藏价值
6. 内容结构 — 排版节奏
根据审核结果,自动修改有问题的部分:
- 🔴 高危敏感词:直接替换
- 🟠 中危问题:调整表述
- 标题吸引力 < 7/10重写标题
- 自然度 < 7/10降低商业感
- 互动触发缺失:补充结尾互动引导
将审核报告和最终优化版一并展示给用户。
---
### 阶段 5沉淀到知识库
用户确认内容满意后(或用户说"就这样"、"可以了"、"保存"),将内容存入知识库。
1. **创建 idea 页**:保存到 `wiki/ideas/` 目录
文件名:`xhs-{主题关键词}.md`
```yaml
---
type: idea
created: YYYY-MM-DD
updated: YYYY-MM-DD
tags: [相关标签]
sources: [引用的 wiki 页面路径]
status: ready
---
```
页面内容包含:
- 最终标题
- 完整正文
- 标签列表
- 审核评分摘要
- 创作思路备注(用了哪个标题公式、参考了哪些爆款规律)
2. **更新 `wiki/index.md`**:在 Ideas 区块添加条目
3. **追加 `wiki/log.md`**`## [YYYY-MM-DD] create | 小红书内容:{标题}`
---
## 竞品搜索(可选增强)
如果用户希望参考竞品(比如说"看看别人怎么写的"、"搜一下类似的"),或者 wiki 中缺少该主题的爆款分析:
1. 使用 Skill tool 调用 xiaohongshu skill搜索相关关键词
2. 拉取 Top 3-5 的帖子详情
3. 快速分析竞品的标题套路、正文结构、互动数据
4. 将分析结果临时参考用于生成,并建议用户是否要 ingest 到知识库
不要每次都自动搜索 — 只在用户要求或知识库中明显缺少相关主题分析时才触发。
---
## 注意事项
- 始终优先使用 wiki 中已沉淀的爆款规律,它们是基于真实数据分析得出的
- 内容要有真实感和个人色彩,不要写成通用模板
- 认证资质(如斯多特认证)用英文原名更有辨识度(如 STOTT PILATES
- 地址信息放在结尾的 📍 区块,不要散落在正文中
- 如果用户只是随口说了个想法还不想深入,先帮 ta 理清思路再动手写

View File

@@ -0,0 +1,41 @@
---
name: xhs-content-plan
description: |
小红书内容策划助手:搜索分析热门内容和竞品,帮助规划内容方向、选题、标签策略。
当用户想做小红书运营规划时使用——内容策划、选题灵感、竞品分析、爆款分析、热门话题研究、怎么做小红书、涨粉策略等。
---
## 执行流程
### 1. 明确策划需求
向用户了解:
- 目标领域/赛道(如:美妆、旅行、美食)
- 策划目的:选题灵感 / 竞品分析 / 热门趋势
### 2. 搜索分析
根据需求调用 `search_feeds` 搜索相关内容:
- 使用不同关键词多次搜索覆盖领域
- 利用 `sort_by` 筛选:最多点赞(爆款)、最新(趋势)
对高互动笔记,调用 `get_feed_detail` 获取详情,分析:
- 标题写法和关键词
- 内容结构和篇幅
- 话题标签使用
- 评论区用户关注点
如需分析特定博主,调用 `user_profile` 查看其内容风格和数据表现。
### 3. 输出策划建议
整理分析结果,为用户提供:
- 热门选题方向
- 标题参考模板
- 推荐话题标签
- 内容结构建议
## 约束
- 这是只读分析 skill不执行任何发布或互动操作
- 搜索操作需要已登录状态

View File

@@ -0,0 +1,44 @@
---
name: xhs-explore
description: |
浏览小红书推荐流、查看笔记详情和评论。
当用户想看推荐内容、刷首页、查看某条笔记的详情/评论、或已有 feed_id 想获取完整内容时使用。
---
## 输入判断
- 用户想浏览推荐 → 步骤 1
- 用户提供了 feed_id → 步骤 2
## 执行流程
### 1. 获取推荐流
调用 `list_feeds`(无参数),返回首页推荐笔记列表。
展示每条笔记的标题、作者、互动数据,附带 `feed_id``xsec_token`
### 2. 查看笔记详情
调用 `get_feed_detail`
- `feed_id`string必填
- `xsec_token`string必填
- `load_all_comments`bool可选默认 false仅返回前 10 条评论)
- `limit`int可选load_all_comments=true 时生效,默认 20
- `click_more_replies`bool可选是否展开二级回复
- `reply_limit`int可选跳过回复数超过此值的评论默认 10
- `scroll_speed`string可选slow | normal | fast
展示:笔记内容、图片、作者信息、互动数据、评论列表。
提示用户可以:
- 点赞/收藏(使用 xhs-interact
- 发表评论(使用 xhs-interact
- 查看作者主页(使用 xhs-profile
## 失败处理
| 场景 | 处理 |
|---|---|
| 未登录 | 引导使用 xhs-login |
| 笔记已删除或不可见 | 告知用户该笔记无法访问 |

View File

@@ -0,0 +1,70 @@
---
name: xhs-interact
description: |
对小红书笔记进行互动:点赞/取消点赞、收藏/取消收藏、发表评论、回复评论。
当用户想对小红书笔记进行互动时使用——赞一下、收藏一下、留个评论、回复某条评论、取消点赞、取消收藏等。
---
## 输入判断
根据用户意图路由:
- 点赞/取消点赞 → 点赞流程
- 收藏/取消收藏 → 收藏流程
- 发表评论 → 评论流程
- 回复评论 → 回复流程
## 约束
- 评论和回复执行前展示内容让用户确认(评论以用户身份公开发表,无法撤回)
- 点赞和收藏可直接执行操作可逆MCP 服务有幂等处理)
- 所有操作都需要 `feed_id` + `xsec_token`(来自搜索或详情结果,编造会导致报错)
## 执行流程
### 点赞
调用 `like_feed`
- `feed_id`string必填
- `xsec_token`string必填
- `unlike`bool可选— true 取消点赞,默认 false 点赞
已点赞时再点赞会自动跳过,反之同理。
### 收藏
调用 `favorite_feed`
- `feed_id`string必填
- `xsec_token`string必填
- `unfavorite`bool可选— true 取消收藏,默认 false 收藏
已收藏时再收藏会自动跳过,反之同理。
### 发表评论
调用 `post_comment_to_feed`
- `feed_id`string必填
- `xsec_token`string必填
- `content`string必填— 评论内容
发送前展示评论内容让用户确认。
### 回复评论
调用 `reply_comment_in_feed`
- `feed_id`string必填
- `xsec_token`string必填
- `comment_id`string可选— 目标评论 ID
- `user_id`string可选— 目标评论作者 ID
- `content`string必填— 回复内容
`comment_id``user_id` 至少提供一个。
发送前展示回复内容让用户确认。
## 失败处理
| 场景 | 处理 |
|---|---|
| 未登录 | 引导使用 xhs-login |
| 缺少 feed_id/xsec_token | 提示先搜索或浏览获取笔记信息 |
| 笔记不可评论 | 告知用户该笔记已关闭评论 |

View File

@@ -0,0 +1,55 @@
---
name: xhs-login
description: |
管理小红书登录状态:检查是否已登录、二维码扫码登录、重置登录切换账号。
当用户提到登录、扫码、账号、切换账号、退出登录、登录状态检查,或其他 skill 报告"未登录"需要先登录时使用。
---
## 执行流程
### 1. 检查登录状态
调用 `check_login_status`(无参数),返回是否已登录及用户名。
- 已登录 → 告知用户当前登录账号
- 未登录 → 进入步骤 2
### 2. 扫码登录
调用 `get_login_qrcode`无参数。MCP 工具返回两部分内容:
- 文本:超时提示(含截止时间)
- 图片PNG 格式二维码MCP image content typeBase64 编码)
**展示二维码**MCP 返回的图片会通过客户端渲染给用户。如果客户端无法直接展示图片(如纯文本终端),则将 Base64 数据保存为临时 PNG 文件,告知用户文件路径让其手动打开:
```bash
# fallback: 保存二维码到临时文件
echo "<base64_data>" | base64 -d > /tmp/xhs-qrcode.png
open /tmp/xhs-qrcode.png # macOS
xdg-open /tmp/xhs-qrcode.png # Linux
```
提示用户:
- 打开小红书 App 扫描二维码
- 二维码有效期有限,过期需重新获取
扫码完成后,调用 `check_login_status` 确认登录成功。
### 3. 重新登录 / 切换账号
当用户要求重新登录或切换账号时:
1. 调用 `delete_cookies`(⚠️ 需用户确认)— 清除当前登录状态
2. 调用 `get_login_qrcode` — 获取新二维码
3. 引导用户扫码
## 约束
- `delete_cookies` 会清除登录状态,执行前必须确认
- 登录需要用户手动用手机 App 扫码,无法自动完成
## 失败处理
| 场景 | 处理 |
|---|---|
| MCP 工具不可用 | 引导用户使用 `/setup-xhs-mcp` 完成部署和连接配置 |
| 二维码超时 | 重新调用 `get_login_qrcode` |

View File

@@ -0,0 +1,29 @@
---
name: xhs-profile
description: |
查看小红书用户主页:基本信息、粉丝/关注/获赞数据、发布的笔记列表。
当用户想查看某个博主、作者、用户的主页信息和作品时使用。
---
## 执行流程
### 1. 获取用户信息
调用 `user_profile`
- `user_id`string必填— 用户 ID来自笔记详情或搜索结果
- `xsec_token`string必填
### 2. 展示结果
- 基本信息:昵称、头像、简介、性别、地区
- 数据:粉丝数、关注数、获赞与收藏数
- 最近发布的笔记列表(含 feed_id 和 xsec_token
提示用户可以查看某条笔记详情或进行互动。
## 失败处理
| 场景 | 处理 |
|---|---|
| 未登录 | 引导使用 xhs-login |
| 用户不存在 | 告知用户该主页无法访问 |

View File

@@ -0,0 +1,44 @@
---
name: xhs-search
argument-hint: "[搜索关键词]"
description: |
搜索小红书笔记,支持关键词搜索和多维度筛选(排序、内容类型、时间范围、位置等)。
当用户想在小红书上搜索、查找内容时使用——包括搜笔记、找攻略、看看小红书上有没有某某内容、搜一下、查一查等场景。
---
## 执行流程
### 1. 确认搜索条件
从用户输入中提取:
- `keyword`(必填)— 搜索关键词
- `filters`(可选)— 筛选条件
### 2. 调用搜索
调用 `search_feeds`
- `keyword`string必填
- `filters`object可选
- `sort_by`:综合 | 最新 | 最多点赞 | 最多评论 | 最多收藏
- `note_type`:不限 | 视频 | 图文
- `publish_time`:不限 | 一天内 | 一周内 | 半年内
- `search_scope`:不限 | 已看过 | 未看过 | 已关注
- `location`:不限 | 同城 | 附近
### 3. 展示结果
将搜索结果整理为列表展示,每条包含:
- 标题、作者
- 点赞数、评论数、收藏数
- `feed_id``xsec_token`(后续操作需要)
提示用户可以:
- 查看某条笔记详情(使用 xhs-explore
- 对笔记进行互动(使用 xhs-interact
## 失败处理
| 场景 | 处理 |
|---|---|
| 未登录 | 引导使用 xhs-login 登录 |
| 无搜索结果 | 建议调整关键词或筛选条件 |

View File

@@ -1 +0,0 @@
../../.agents/skills/xiaohongshu

View File

@@ -1 +0,0 @@
../../.agents/skills/xiaohongshu-note-analyzer