小红书读书笔记工坊
Overview
把一本书做成 5–15 期小红书读书图文系列。每期 = 一篇文案(标题 ≤20 字、正文含话题标签 ≤1000 字)+ 5 张卡片图(2484×3312 PNG,3:4)。
本 skill 提供:全套工作流、渲染框架(一套 CSS 骨架 + 多套色板换肤 + 卡通风覆写)、文案与去敏规范、三个可跑脚本,以及一份可直接 cp 改写的卡片示例。
> 沉淀自《活着》七期、《百年孤独》七期、《平凡的世界》十期、《许三观卖血记》十期等成品项目。
依赖与环境
- Python 3.9+
- Playwright(chromium):渲染靠它把卡片 HTML 截图成 PNG。安装:
pip install playwright && playwright install chromium - 中文字体:卡片使用
Noto Serif CJK SC(衬线)与Noto Sans CJK SC(卡通覆写时的无衬线)。无此字体时浏览器会回退到系统默认中文字体,版式可能略有偏差。
工作流(七步,按序执行)
Step1 拆期 → Step2 事实核查 → Step3 文案 → Step4 去敏① → Step5 渲染 → Step6 质检 → Step7 交付
Step 1 定选题与拆期
- 一本书拆 5–15 期。长篇小说按人物/情节线拆;论著按篇/主题拆;纪实按事件线拆。
- 每期一个核心问题,写进卡片封面。第一期立全书框架,最后一期收主题 + 互动。
- 建目录结构:
/workspace/<书名>共读笔记/第N期_<期主题>/,每期内文案.md+images/。 - 每期 5 张图固定职能:封面 → 主体一 → 主体二 → 升华 → 收尾钩子(详见
references/card-design.md第二节)。
Step 2 事实核查(写文案之前)
- 书中细节(年龄、月份、地名、对话原文)必须多源交叉:archive.org 扫描版、中国作家网、正规连载平台等,单源孤证不采。
- 转述忠于原著:不把留白填实,原文没说的不要脑补。
- 核查记录沉淀到本地语料文件(
/tmp/<项目>/corpus.txt),标注来源与日期,作为写作唯一事实源。
Step 3 文案撰写
按 references/copy-rules.md 执行。要点:标题 ≤20 字两种公式、开头两行给具体画面、说书人平静 voice、原文优先转述第二、数字具体、下期预告一句话、去AI味清单逐条自查。
Step 4 去敏①(文案侧)
python3 scripts/check_words.py "/workspace/<书名>共读笔记" # 七类词表扫描
python3 scripts/count_chars.py "/workspace/<书名>共读笔记" --update
逐条裁定命中(顺序义「最后」可留,极限义必改),改完重数字数。规范见 references/desensitize.md。
Step 5 渲染
# 1. 复制示例改写成你的卡片文件(同目录放 cards_<你的书>.py)
cp scripts/cards_example.py <你的工作目录>/cards_book.py
# 2. 编辑:每个模块导出 ISSUES = [(期目录名, [(图片名, html), ...]), ...]
# 3. 渲染(--skin 选色板,--book 品牌名,--modules 指定卡片模块)
python3 scripts/build_cards.py --base "/workspace/<书名>共读笔记" --skin earth --book "活 着"
组件库在 scripts/card_style.py:lead / kitem / quote / note / duo / stat / verdict / glance / tocitem + 通用 motif_scroll()。设计规范(色板、字号、五卡结构、母题设计)见 references/card-design.md。
色板(--skin 可选值):earth(大地色,乡土命运类)/redgold(红金,史诗厚重类)/loess(黄土高原)/inkwash(水墨,冷调)/cartoon(卡通,暖奶油)/realistic(写实,电影色)。新书换色板 + 换 BOOK 品牌名 + 重画 motif 即可。卡通风覆写 css_cartoon(PALETTE) 可与任意色板混搭(卡通插画 + 写实配色等)。
Step 6 质检(三个都过才算完)
- 溢出:
build_cards.py内置 CHECK_JS,元素超出卡片边界或 SVG 文字超出母题区域会打印[溢出],必须改。 - 去敏②(卡片侧):
check_words.py扫卡片.py源文件——小红书 OCR 图片文字,卡片与文案同等对待。改词后重渲染(文本变长可能引发溢出)。 - 字数:
count_chars.py全过,标题 ≤20、正文含标签 ≤1000。
Step 7 交付
四件套,缺一不可:
- 文案汇总.md —— 各期文案完整版(含配图顺序、字数),可直接复制发布
- 图片 —— N 期 × 5 张 PNG,逐张呈现
- 修订说明.md —— 每期改了什么、为什么改、字数复核表、事实核查记录
- <书名>共读笔记_全套.zip —— 全部文件打包
快速开始(新书最短路径)
mkdir -p "/workspace/<书名>共读笔记"+ 建各期目录- 拆期 → 核查关键事实(多源)→ 写 N 期
文案.md check_words.py+count_chars.py --update过文案cp cards_example.py改写成你的卡片文件(参照card-design.md五卡结构)build_cards.py --base ... --skin ... --book ...渲染- 溢出 / 词表 / 字数三质检 → 复检改动卡
- 生成文案汇总.md + 修订说明.md + zip →
present_files交付
想先看效果:直接跑 python3 scripts/build_cards.py --base /tmp/demo --skin earth --book "示 例 之 书" --modules cards_example,会在 /tmp/demo 生成 3 张示例卡。
项目沉淀(成品参考)
- 《活着》七期、《百年孤独》七期(色板 redgold)
- 《平凡的世界》十期、《许三观卖血记》十期(卡通风 + 写实色板混搭)
- 平台规则完整版:
/workspace/小红书发文规则库.md(三道闸门机制、薯条测试、限流应急)
Resources
scripts/
card_style.py—— 渲染框架:CSS 骨架 + 六套色板 + 卡通覆写css_cartoon+ 组件函数库 + 通用motif_scroll()。导入即用。build_cards.py—— 通用构建器:扫描cards_*.py→ Playwright 渲染 → 内置溢出检测。--base/--skin/--book/--modules参数。cards_example.py—— 卡片文件写法示例(封面/要点/金句三张),复制它开始新书。build_cards.py默认跳过此文件名。check_words.py—— 七类敏感词扫描,--allow白名单、--strict严格模式。count_chars.py—— 标题/正文字数统计,--update直接更新文案头部字数行。requirements.txt—— 运行依赖。
references/
card-design.md—— 尺寸参数、五卡结构、色板换肤、组件选用、字号阶梯、motif 设计、质检流程。copy-rules.md—— 标题公式、开头钩子、叙述声音、结构衔接、去AI味清单、事实纪律。desensitize.md—— 七类词表、替换词速查、两个去敏卡点、字数即风险、限流应急。