xiaohongshu-prohibited-wordslisted
Install: claude install-skill bonniegeng-max/xiaohongshu-prohibited-words
# 小红书违禁词离线检测
小红书内容发布前的违禁词闸门。**这是违禁词库的单一真相源**——其他 skill(free-course-share、xiaohongshu-content-workflow 等)需要违禁词检查时,都引用本 skill,不要各自维护一份。
## Trigger
- 任何小红书笔记发布前,需要做违禁词/敏感词检查
- 需要判断某文案是否会触发限流、下架或驳回
- 需要维护违禁词库(新增实测雷、降级误杀词、过期删除)
## 为什么用离线库而不是付费 API
- `multi-wordcheck` 依赖 REDFOX API(付费,积分耗尽时无法运行)
- 本 skill 纯本地、零依赖、随时可跑,作为发布前**强制兜底**
- REDFOX 充值后可补跑 API 做双保险,但离线扫描是底线
## 使用
### 1. 发布前扫描(强制)
```bash
# 从物料 md 扫描(只提取「## 标题」+「## 正文」两段,跳过审查记录避免误报)
python3 scripts/check_prohibited.py --file 笔记终稿.md
# 或直接传纯发布文案
python3 scripts/check_prohibited.py "标题" "正文" "标签"
```
退出码:`0` = 无 P0 硬词(PASS);`1` = 有 P0 硬词需改;`2` = 运行错误。
**规则:P0 硬词未清空 = 禁止发布。** P1/P2 命中建议顺手改,但不阻塞发布。
### 2. 词库维护(入库 / 出库)
词库在 `references/prohibited-words.md`,**不是静态清单,必须持续��护**,否则会越滚越臃肿、把能发的词误杀。
**入库**(满足任一才加,禁止"感觉像敏感词"就加):
1. 实测触发限流/下架(要有日期+场景+可复现)
2. 官方公告明文列出
3. 可核验的第三方词库(标注来源)
入库写全 5 字段:`词 | 级别 | 触发场景 | 替代 | 入库日期`
**出库 / 降级**(定期做,建议每月一次):
1. P0→P1:确认不再触发硬限流(平台更新或连续 3 次使用未限流)
2. P1→删除:确认是误杀(正常使用无影响)
3. 合并去重:同一词的不同变体合并
4. 过期删除:规则变化后不再适用的词
**校准信号**:
- 限流了但词库没扫出 = 漏词 → 补进库
- 用了"违禁词"却没限流 = 误杀词 → 降级/删除
- 平台更新审核规则 → 主动重审
> 原则:**宁可禁得准,不要滥禁。** 误杀损失正常表达空间,漏词才损失一篇笔记。两害相权,优先保证禁得准。
## 资源
- `references/prohibited-words.md` — 违禁词库(7 大类:实测硬词/外部平台名/极限词/价格诱导/导流话术/账号禁区词/强制标注项)
- `scripts/check_prohibited.py` — 离线扫描脚本(纯 stdlib,零依赖)
## 引用关系
- 被 `free-course-share` 引用(免费课程/证书笔记发布前必跑)
- 被 `xiaohongshu-content-workflow` 引用(通用内容生产第 7 步风险检查)