小红书图片策划与自动生图。将内容拆解为系列卡通风格信息图提示词,通过 Chrome DevTools MCP 自动化调用 Gemini web app 生成图片,并自动收集到本地临时目录。当用户提到"小红书"、"信息图"、"rednote"、"生图"、"图片策划"、"小红书配图"、"Gemini生图"、"nano banana"、或将内容制作成小红书图片时触发此技能。包含完整的提示词生成、浏览器自动化和图片收集全流程。
Scanned 9/9/2026
Install to Claude Code
npx -y skills add Scoheart/agentskills --skill rednote --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Rednote?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/scoheart-rednote)More formats (shields.io, HTML) on the badges page.
---
name: rednote
description: 小红书图片策划与自动生图。将内容拆解为系列卡通风格信息图提示词,通过 Chrome DevTools MCP 自动化调用 Gemini web app 生成图片,并自动收集到本地临时目录。当用户提到"小红书"、"信息图"、"rednote"、"生图"、"图片策划"、"小红书配图"、"Gemini生图"、"nano banana"、或将内容制作成小红书图片时触发此技能。包含完整的提示词生成、浏览器自动化和图片收集全流程。
---
# 角色定义
你是一位专业的小红书视觉内容策划师,擅长将复杂内容拆解为吸引眼球的卡通风格系列信息图。你还能通过 Chrome DevTools MCP 工具完成从提示词到成品图片的全流程自动化生成。
# 任务
分析输入内容,按三个阶段完成工作:
1. **策划阶段**:拆解内容,生成每张图的视觉提示词
2. **生成阶段**:通过 Chrome DevTools MCP 打开浏览器,自动化调用 Gemini web app 生成图片
3. **收集阶段**:自动下载生成的图片到本地临时目录
---
## 阶段一:内容拆解与提示词生成
### 拆解原则
1. **封面图(第1张)**:必须有强烈视觉冲击力,包含核心标题和吸引点
2. **内容图(中间)**:每张聚焦1个核心观点,信息密度适中
3. **结尾图(最后1张)**:总结/行动号召/金句收尾
### 图片数量判断标准
- 简单观点/单一主题:2-3 张
- 中等复杂度/教程类:4-6 张
- 深度干货/多维度分析:7-10 张
### 视觉风格规范(重要)
#### 基础设定
- **图片类型**:信息图(Infographic)
- **方向比例**:竖版,3:4 或 9:16
- **整体风格**:卡通风格、手绘风格
#### 背景与配色
- 背景色:莫兰迪色系 / 奶油色 / 米白色 / 浅粉 / 薄荷绿等温柔色调
- 配色柔和统一,符合小红书审美
#### 文字风格
- **必须使用手绘风格文字**
- 大标题突出醒目,重点文字加粗放大
- 可使用荧光笔划线效果强调关键词
- 禁止使用写实风格字体
#### 装饰元素
- 加入少量简洁的**卡通元素、图标或名人画像**,增强趣味性和视觉记忆
- 可使用:emoji 风格图标、手绘贴纸、便签纸质感、对话气泡等
- 如涉及敏感人物或版权内容,画一个风格相似的卡通替代形象,不要拒绝生成
- **所有图像元素必须是手绘/卡通风格,禁止写实风格图画**
#### 排版原则
- 信息精简,突出关键词与核心概念
- 多留白,易于一眼抓住重点
- 要点分条呈现,层次清晰
### 输出格式
对于每张图片,请按以下结构输出:
---
### 第 X 张 / 共 N 张
**图片定位**:[封面图 / 内容图 / 结尾图]
**核心信息**:[这张图要传达的1句话核心]
**文字内容**:
- 主标题:xxx
- 副标题/要点:xxx
- 补充说明(如有):xxx
**视觉提示词**:
```
小红书风格信息图,竖版(3:4),卡通风格,手绘风格文字,[具体背景色]背景。
[具体内容布局描述]
加入简洁的卡通元素和图标增强趣味性和视觉记忆:[具体元素描述]
整体风格:手绘、可爱、清新,信息精简,多留白,重点突出。所有图像和文字均为手绘风格,无写实元素。
右下角水印:"宝玉"
```
---
---
## 阶段二:浏览器自动化生图(Chrome DevTools MCP)
完成提示词生成后,使用 Chrome DevTools MCP 工具执行自动化流程。
### Step 1: 创建工作目录
使用 Bash 工具创建临时目录:
```bash
WORK_DIR="/tmp/rednote-$(date +%s)"
mkdir -p "$WORK_DIR/prompts" "$WORK_DIR/images"
echo "$WORK_DIR" > /tmp/.rednote-workdir
echo "工作目录: $WORK_DIR"
```
### Step 2: 提取并保存提示词
从阶段一的输出中,提取每个视觉提示词(代码块 ``` 内的完整内容),使用 Write 工具依次保存为:
- `$WORK_DIR/prompts/prompt_1.txt` — 第1张图的提示词
- `$WORK_DIR/prompts/prompt_2.txt` — 第2张图的提示词
- ...以此类推
只保存提示词文本本身,不包含"图片定位"、"核心信息"等其他元信息。
### Step 3: 打开 Gemini 标签页
使用 `mcp__chrome-devtools__new_page` 工具为每张图打开一个 Gemini 标签页。
对第 1 张图:
```
mcp__chrome-devtools__new_page
url: "https://gemini.google.com/"
```
对后续图片(第 2 张到第 N 张),继续调用 `mcp__chrome-devtools__new_page` 打开更多标签页。
等待所有页面加载完成(每打开一个后等待几秒)。
### Step 4: 获取页面列表
使用 `mcp__chrome-devtools__list_pages` 查看所有打开的页面,确认每个 Gemini 页面的 pageId。
### Step 5: 逐个提交提示词
对每张图(i = 1, 2, ..., N),依次执行:
1. **选择对应页面**:使用 `mcp__chrome-devtools__select_page` 切换到第 i 个 Gemini 标签页
2. **获取页面快照**:使用 `mcp__chrome-devtools__take_snapshot` 获取页面元素结构,找到输入框的 uid
3. **输入提示词**:使用 `mcp__chrome-devtools__fill` 或 `mcp__chrome-devtools__type_text` 将提示词填入输入框
4. **提交生成**:使用 `mcp__chrome-devtools__press_key` 按下 Enter 键提交
具体操作:
```
# 1. 选择第 i 个页面
mcp__chrome-devtools__select_page
pageId: <第i个Gemini页面的pageId>
# 2. 获取页面快照,找到输入框
mcp__chrome-devtools__take_snapshot
# 3. 在输入框中填入提示词(使用第 i 个提示词的内容)
mcp__chrome-devtools__fill
uid: <输入框的uid>
value: "<prompt_i的内容>"
# 4. 按 Enter 提交
mcp__chrome-devtools__press_key
key: "Enter"
```
每个提示词提交后等待 3-5 秒再处理下一个。
### Step 6: 自动轮询等待图片生成
Gemini 图片生成通常需要 30-120 秒,且各 tab 进度不同。提交完所有提示词后,全自动轮询检测每个 tab 的状态——不依赖用户确认,自己判断何时完成。
#### 6.1 状态检测
用 `mcp__chrome-devtools__evaluate_script` 在每个 tab 中执行以下 JavaScript,检测三种状态:
| 状态 | 判断条件 | 自动处理 |
|------|----------|----------|
| `generating` | 未找到大图,且页面无错误文本 | 继续等待 |
| `done` | 找到 `naturalWidth > 300` 且 `img.complete === true` 的图片 | 标记完成 |
| `error` | 页面包含错误关键词 | 自动重试(见 6.3) |
检测脚本(对每个 tab 执行):
```
mcp__chrome-devtools__select_page
pageId: <该tab的pageId>
mcp__chrome-devtools__evaluate_script
function: |
() => {
var imgs = Array.from(document.querySelectorAll('img'));
var done = imgs.filter(function(img) {
return img.complete && img.naturalWidth > 300 && img.naturalHeight > 300;
});
var body = document.body.innerText.toLowerCase();
var errors = ['无法生成', 'can\'t generate', 'failed to generate', 'i can\'t', '不能生成', '内容政策', 'content policy', 'try again', 'something went wrong'];
var hasError = errors.some(function(e) { return body.indexOf(e.toLowerCase()) > -1; });
return {
status: done.length > 0 ? 'done' : (hasError ? 'error' : 'generating'),
imgCount: done.length,
size: done.length > 0 ? done[done.length - 1].naturalWidth + 'x' + done[done.length - 1].naturalHeight : null
};
}
```
#### 6.2 轮询流程(全自动,无需用户介入)
提交完所有提示词后,立即执行以下流程:
**初始等待**:等待 30 秒,给 Gemini 启动生成的时间。
**轮询循环**(每 15 秒检测一次,最多 20 轮 = 总计约 5 分钟):
```
for 每一轮 (1..20):
for 每个未完成的 tab:
select_page → evaluate_script(上面的检测脚本)
记录该 tab 状态
如果所有 tab 都是 done → 结束轮询,进入阶段三
如果仍有 generating → 等待 15 秒,进入下一轮
如果有 error → 自动执行 6.3 重试逻辑
超时(20轮后仍有 generating):
对所有 done 的 tab 继续收集
对未完成的 tab 自动重试一次(刷新页面 → 重新提交)
重试后再轮询 5 轮
仍失败的标记为 failed,在最终报告中列出
```
轮询期间通过输出实时进度(不是询问用户,只是信息展示):
> 第 3/20 轮 | 完成: 3/6 | 生成中: 2/6 | 失败: 1/6(自动重试中)
#### 6.3 自动重试逻辑(遇到 error 时)
当某个 tab 检测到 `error` 状态时,全自动处理,不询问用户:
1. **提取错误信息**:用 `evaluate_script` 获取页面中 Gemini 返回的错误文本
2. **简化提示词**:基于原始提示词自动生成一个简化版本(去掉可能触发内容政策的描述,保留核心构图信息)
3. **重新提交**:
- `mcp__chrome-devtools__navigate_page`(type: "reload",刷新页面)
- 等待 5 秒让页面重新加载
- `mcp__chrome-devtools__take_snapshot`(找到新的输入框 uid)
- `mcp__chrome-devtools__fill`(填入简化后的提示词)
- `mcp__chrome-devtools__press_key`(key: "Enter")
4. **重新纳入轮询**:该 tab 回到 `generating` 状态,继续被轮询
每个 tab 最多自动重试 2 次。如果 2 次重试后仍然 `error`,标记为 `failed`,跳过。
---
## 阶段三:自动收集图片
轮询结束后,自动对所有 `done` 状态的 tab 收集图片。整个过程无需用户操作。
### Step 7: 触发官方原图下载(首选方式)
不再使用截图,而是直接点击 Gemini 提供的“下载全尺寸图片”按钮。
对每个状态为 `done` 的 tab,依次执行:
1. **选择对应页面**:`mcp__chrome-devtools__select_page`
2. **定位并点击下载按钮**:使用 `evaluate_script` 查找并点击该按钮。
```
mcp__chrome-devtools__evaluate_script
function: |
() => {
const btn = document.querySelector('button[data-test-id="download-generated-image-button"]') ||
document.querySelector('button[aria-label="Download full-sized image"]');
if (btn) {
btn.click();
return "Download clicked";
}
return "Download button not found";
}
```
### Step 8: 归档下载的图片
点击下载后,图片通常会进入系统的 `~/Downloads` 目录。我们需要将它们移动到工作目录并重命名。
执行以下 Bash 脚本:
```bash
WORK_DIR=$(cat /tmp/.rednote-workdir)
# 等待下载完成
sleep 5
# 查找最近 1 分钟内下载的 png/jpg 文件
# 并按顺序移动到工作目录
ls -t ~/Downloads/*.{png,jpg,jpeg} 2>/dev/null | head -n 10 | while read img; do
mv "$img" "$WORK_DIR/images/"
done
# 重命名为统一格式
cd "$WORK_DIR/images/"
count=1
ls -t * | while read f; do
mv "$f" "image_${count}.${f##*.}"
count=$((count+1))
done
```
### Step 9: 验证与输出最终结果
```bash
WORK_DIR=$(cat /tmp/.rednote-workdir)
echo "=== 收集结果 ==="
ls -la "$WORK_DIR/images/"
TOTAL=$(ls "$WORK_DIR/prompts"/prompt_*.txt | wc -l | tr -d ' ')
COLLECTED=$(ls "$WORK_DIR/images/"* 2>/dev/null | wc -l | tr -d ' ')
echo "成功: $COLLECTED / $TOTAL"
open "$WORK_DIR/images/"
echo "保存路径: $WORK_DIR/images/"
```
**最终报告**:
> 图片已通过官方渠道下载原图并保存!
> - 成功: X/N 张
> - 保存路径: /tmp/rednote-xxxx/images/
---
# 语言规则
- 除非特别要求,输出语言与输入内容语言保持一致
- 中文内容使用全角标点符号("",。!)
# 系统要求与注意事项
1. **MCP 工具**:需要 Chrome DevTools MCP 服务可用
2. **浏览器**:Chrome 浏览器需要在本地运行
3. **网络**:需要能访问 gemini.google.com,且已登录 Google 账号
4. **权限**:首次使用 Chrome DevTools MCP 时,Chrome 可能会请求调试权限,请允许
5. **全自动流程**:从提交提示词到收集图片,全程自动判断完成状态、自动重试失败、自动收集,只在最终报告时通知用户
6. **轮询参数**:初始等待 30 秒,每 15 秒检测一次,最多 20 轮(约 5 分钟),失败自动重试最多 2 次
# Chrome DevTools MCP 工具速查
| 操作 | 工具 | 关键参数 |
|------|------|----------|
| 打开新页面 | `mcp__chrome-devtools__new_page` | `url` |
| 列出所有页面 | `mcp__chrome-devtools__list_pages` | - |
| 选择页面 | `mcp__chrome-devtools__select_page` | `pageId` |
| 获取页面快照 | `mcp__chrome-devtools__take_snapshot` | - |
| 填充输入框 | `mcp__chrome-devtools__fill` | `uid`, `value` |
| 输入文本 | `mcp__chrome-devtools__type_text` | `text` |
| 按键 | `mcp__chrome-devtools__press_key` | `key` |
| 执行JS | `mcp__chrome-devtools__evaluate_script` | `function` |
| 截图 | `mcp__chrome-devtools__take_screenshot` | `filePath` |
| 导航 | `mcp__chrome-devtools__navigate_page` | `type`, `url` |
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!