comeonzhj

xhs-note-creator

265
37
# Install this skill:
npx skills add comeonzhj/Auto-Redbook-Skills

Or install specific skill: npx add-skill https://github.com/comeonzhj/Auto-Redbook-Skills

# Description

小红书笔记素材创作技能。当用户需要创建小红书笔记素材时使用这个技能。技能包含:根据用户的需求和提供的资料,撰写小红书笔记内容(标题+正文),生成图片卡片(封面+正文卡片),以及发布小红书笔记。

# SKILL.md


name: xhs-note-creator
description: 小红书笔记素材创作技能。当用户需要创建小红书笔记素材时使用这个技能。技能包含:根据用户的需求和提供的资料,撰写小红书笔记内容(标题+正文),生成图片卡片(封面+正文卡片),以及发布小红书笔记。


小红书笔记创作技能

这个技能用于创建专业的小红书笔记素材,包括内容撰写、图片卡片生成和笔记发布。

使用场景

  • 用户需要创建小红书笔记时
  • 用户提供资料需要转化为小红书风格内容时
  • 用户需要生成精美的图片卡片用于发布时

工作流程

第一步:撰写小红书笔记内容

根据用户需求和提供的资料,创作符合小红书风格的内容:

标题要求

  • 不超过 20 字
  • 吸引眼球,制造好奇心
  • 可使用数字、疑问句、感叹号增强吸引力
  • 示例:「5个让效率翻倍的神器推荐!」「震惊!原来这样做才对」

正文要求

  • 使用良好的排版,段落清晰
  • 点缀少量 Emoji 增加可读性(每段 1-2 个即可)
  • 使用简短的句子和段落
  • 结尾给出 SEO 友好的 Tags 标签(5-10 个相关标签)

第二步:生成 Markdown 文档

注意:这里生成的 Markdown 文档是用于渲染卡片的,必须专门生成,禁止直接使用上一步的笔记正文内容。

Markdown 文件,文件应包含:

  1. YAML 头部元数据(封面信息):
---
emoji: "🚀"           # 封面装饰 Emoji
title: "大标题"        # 封面大标题(不超过15字)
subtitle: "副标题文案"  # 封面副标题(不超过15字)
---
  1. 用于渲染卡片的 Markdown 文本内容:
  2. 当待渲染内容必须严格切分为独立的数张图片时,可使用 --- 分割线主动将正文分隔为多个卡片段落(每个段落文本控制在 200 字左右),输出图片时使用参数-m separator
  3. 当待渲染内容无需严格分割,生成正常 Markdown 文本即可,跟下方分页模式参数规则按需选择

完整 Markdown 文档内容示例:

---
emoji: "💡"
title: "5个效率神器让工作效率翻倍"
subtitle: "对着抄作业就好了,一起变高效"
---

# 📝 神器一:Notion

> 全能型笔记工具,支持数据库、看板、日历等多种视图...

## 特色功能

- 特色一
- 特色二

# ⚡ 神器二:Raycast

\`\`\`
可使用代码块来增加渲染后图片的视觉丰富度
\`\`\`

## 推荐原因

- 原因一
- 原因二
- ……


# 🌈 神器三:Arc

全新理念的浏览器,侧边栏标签管理...

...

第三步:渲染图片卡片

将 Markdown 文档渲染为图片卡片。使用以下脚本渲染:

python scripts/render_xhs.py <markdown_file> [options]
  • 默认输出目录为当前工作目录
  • 生成的图片包括:封面(cover.png)和正文卡片(card_1.png, card_2.png, ...)

渲染参数(Python)

参数 简写 说明 默认值
--output-dir -o 输出目录 当前工作目录
--theme -t 排版主题 default
--mode -m 分页模式 separator
--width -w 图片宽度 1080
--height 图片高度(dynamic 下为最小高度) 1440
--max-height dynamic 最大高度 4320
--dpr 设备像素比(清晰度) 2

排版主题(--theme

  • default:默认简约浅灰渐变背景(#f3f3f3 -> #f9f9f9
  • playful-geometric:活泼几何(Memphis)
  • neo-brutalism:新粗野主义
  • botanical:植物园自然
  • professional:专业商务
  • retro:复古怀旧
  • terminal:终端命令行
  • sketch:手绘素描

分页模式(--mode

  • separator:按 --- 分隔符分页(适合内容已手动控量)
  • auto-fit:固定尺寸下自动缩放文字,避免溢出/留白(适合封面+单张图片但尺寸固定的情况)
  • auto-split:按渲染后高度自动切分分页(适合切分不影响阅读的长文内容)
  • dynamic:根据内容动态调整图片高度(注意:图片最高 4320,字数超过 550 的不建使用此模式)

常用示例

# 1) 默认主题 + 手动分隔分页
python scripts/render_xhs.py content.md -m separator

# 2) 固定 1080x1440,自动缩放文字,尽量填满画面
python scripts/render_xhs.py content.md -m auto-fit

# 3) 自动切分分页(推荐:内容长短不稳定)
python scripts/render_xhs.py content.md -m auto-split

# 4) 动态高度(允许不同高度卡片)
python scripts/render_xhs.py content.md -m dynamic --max-height 4320

# 5) 切换主题
python scripts/render_xhs.py content.md -t playful-geometric -m auto-split

Node.js 渲染(可选)

node scripts/render_xhs.js content.md -t default -m separator

Node.js 参数与 Python 基本一致:--output-dir/-o--theme/-t--mode/-m--width/-w--height--max-height--dpr

第四步:发布小红书笔记(可选)

使用发布脚本将生成的图片发布到小红书:

python scripts/publish_xhs.py --title "笔记标题" --desc "笔记描述" --images card_1.png card_2.png cover.png

前置条件

  1. 需配置小红书 Cookie:
XHS_COOKIE=your_cookie_string_here
  1. Cookie 获取方式:
  2. 在浏览器中登录小红书(https://www.xiaohongshu.com)
  3. 打开开发者工具(F12)
  4. 在 Network 标签中查看请求头的 Cookie

图片规格说明

封面卡片

  • 尺寸比例:3:4(小红书推荐比例)
  • 基准尺寸:1080×1440px
  • 包含:Emoji 装饰、大标题、副标题
  • 样式:渐变背景 + 圆角内容区

正文卡片

  • 尺寸比例:3:4
  • 基准尺寸:1080×1440px
  • 支持:标题、段落、列表、引用、代码块、图片
  • 样式:白色卡片 + 渐变背景边框

技能资源

脚本文件

  • scripts/render_xhs.py - Python 渲染脚本
  • scripts/render_xhs.js - Node.js 渲染脚本
  • scripts/publish_xhs.py - 小红书发布脚本

资源文件

  • assets/cover.html - 封面 HTML 模板
  • assets/card.html - 正文卡片 HTML 模板
  • assets/styles.css - 共用样式表

注意事项

  1. Markdown 文件应保存在工作目录,渲染后的图片也保存在工作目录
  2. 技能目录 (md2Redbook/) 仅存放脚本和模板,不存放用户数据
  3. 图片尺寸会根据内容自动调整,但保持 3:4 比例
  4. Cookie 有有效期限制,过期后需要重新获取
  5. 发布功能依赖 xhs 库,需要安装:pip install xhs

# README.md

📕 Auto-Redbook-Skills(已重构版)

自动撰写小红书笔记、生成多主题卡片、可选自动发布的 Skills
当前版本对渲染脚本和样式系统做了一次完整重构,感谢 Cursor 的辅助开发 🙌


✨ 本次重构亮点

  • 🎨 8 套主题皮肤:默认简约灰 + Playful Geometric / Neo-Brutalism / Botanical / Professional / Retro / Terminal / Sketch
  • 📐 4 种分页模式
  • separator:按 --- 分隔手动分页
  • auto-fit:固定尺寸,自动整体缩放内容,避免溢出/大面积留白
  • auto-split:根据渲染后高度自动拆分为多张卡片
  • dynamic:根据内容动态调整图片高度
  • 🧱 统一卡片结构:外层浅灰背景(card-container)+ 内层主题背景(card-inner)+ 纯排版层(card-content
  • 🧠 封面与正文一体化:封面背景、标题渐变和正文卡片背景都按主题自动匹配

🖼 主题效果示例

所有示例均为 1080×1440px,小红书推荐 3:4 比例
更多示例去 demo 中查看 

Playful Geometric Retro
Sketch Terminal

Auto-fit 模式示例(自动缩放)

Auto Fit


🚀 使用方式总览

1. 克隆项目

git clone https://github.com/comeonzhj/Auto-Redbook-Skills.git
cd Auto-Redbook-Skills

可以将本项目放到支持 Skills 的客户端目录,例如:

  • Claude:~/.claude/skills/
  • Alma:~/.config/Alma/skills/
  • TRAE:/your-path/.trae/skills/

2. 安装依赖

Python:

pip install -r requirements.txt
playwright install chromium

Node.js:

npm install
npx playwright install chromium

🎨 渲染图片(Python)

核心脚本:scripts/render_xhs.py

# 最简单用法(默认主题 + 手动分页)
python scripts/render_xhs.py demos/content.md

# 使用自动分页(推荐:内容长短难控)
python scripts/render_xhs.py demos/content.md -m auto-split

# 使用固定尺寸自动缩放(auto-fit)
python scripts/render_xhs.py demos/content_auto_fit.md -m auto-fit

# 切换主题(例如 Playful Geometric)
python scripts/render_xhs.py demos/content.md -t playful-geometric -m auto-split

# 自定义尺寸和像素比
python scripts/render_xhs.py demos/content.md -t retro -m dynamic --width 1080 --height 1440 --max-height 2160 --dpr 2

主要参数:

参数 简写 说明
--theme -t 主题:defaultplayful-geometricneo-brutalismbotanicalprofessionalretroterminalsketch
--mode -m 分页模式:separator / auto-fit / auto-split / dynamic
--width -w 图片宽度(默认 1080)
--height 图片高度(默认 1440,dynamic 为最小高度)
--max-height dynamic 模式最大高度(默认 2160)
--dpr 设备像素比,控制清晰度(默认 2)

生成结果会包含:封面 cover.png + 正文卡片 card_1.pngcard_2.png...


🎨 渲染图片(Node.js)

脚本:scripts/render_xhs.js,参数与 Python 基本一致:

# 默认主题 + 手动分页
node scripts/render_xhs.js demos/content.md

# 指定主题 + 自动分页
node scripts/render_xhs.js demos/content.md -t terminal -m auto-split

📤 发布到小红书

cp env.example.txt .env

编辑 .env

XHS_COOKIE=your_cookie_string_here

获取方式:浏览器登录小红书 → F12 → Network → 任意请求的 Cookie 头,复制整串。

2. 手动发布(可选)

python scripts/publish_xhs.py \
  --title "笔记标题" \
  --desc "笔记描述内容" \
  --images cover.png card_1.png card_2.png

可选参数:

参数 说明
--private 设为私密笔记
--post-time "2024-01-01 12:00:00" 定时发布
--api-mode 通过 xhs-api 服务发布
--dry-run 仅验证,不实际发布

📁 项目结构(重构后)

Auto-Redbook-Skills/
├── SKILL.md              # 技能描述(Agent 使用说明)
├── README.md             # 项目文档(你现在看到的)
├── requirements.txt      # Python 依赖
├── package.json          # Node.js 依赖
├── env.example.txt       # Cookie 配置示例
├── assets/
│   ├── cover.html        # 封面 HTML 模板
│   ├── card.html         # 正文卡片 HTML 模板
│   ├── styles.css        # 共用容器样式(cover-inner / card-inner 等)
│   └── example.md        # 示例 Markdown
├── assets/themes/        # 主题样式(只控制排版 & 内层背景)
│   ├── default.css
│   ├── playful-geometric.css
│   ├── neo-brutalism.css
│   ├── botanical.css
│   ├── professional.css
│   ├── retro.css
│   ├── terminal.css
│   └── sketch.css
├── demos/                # 各主题示例渲染结果
│   ├── content.md
│   ├── content_auto_fit.md
│   ├── auto-fit/
│   ├── playful-geometric/
│   ├── retro/
│   ├── Sketch/
│   └── terminal/
└── scripts/
    ├── render_xhs.py     # Python 渲染脚本(支持主题 + 分页模式)
    ├── render_xhs.js     # Node.js 渲染脚本
    └── publish_xhs.py    # 小红书发布脚本

⚠️ 注意事项

  1. Cookie 安全:不要把 .env 提交到 Git 或共享出去。
  2. Cookie 有效期:过期后发布失败是正常现象,重新抓一次 Cookie 即可。
  3. 发布频率:避免短时间内高频发布,以免触发平台风控。
  4. 图片尺寸:默认 1080×1440px,符合小红书推荐比例。

🙏 致谢

  • Playwright - 浏览器自动化渲染
  • Marked - Markdown 解析
  • xhs - 小红书 API 客户端
  • Cursor - 本次重构过程中提供了极大帮助 ❤️

📄 License

MIT License © 2026

# Supported AI Coding Agents

This skill is compatible with the SKILL.md standard and works with all major AI coding agents:

Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.