# Oracle Compliance

> 发布前平台合规审查。读取稿件、标题、简介、标签和 CTA，按平台规则检查违法/低俗/未成年人/隐私/谣言/虚假宣传/导流/标题党/版权等风险。结论分两层：机器层（平台机器可能识别什么）与实质层（内容本身的实质问题），两层分别成立互不代替。触发词："合规检查"/"平台规范"/"查违禁词"/"审核稿子"/"发布前检查"。

- Skill: `huanyu-hibiki/oracle-compliance` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add huanyu-hibiki/oracle-compliance`
- Raw SKILL.md: https://api.skillmd.com/api/skills/huanyu-hibiki/oracle-compliance/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: Huanyu-Hibiki (https://skillmd.com/u/huanyu-hibiki)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/huanyu-hibiki/oracle-compliance

---


# /oracle-compliance — 平台合规审查

发布前安全闸门，不是"过审技巧"也不是法律意见。任务是找出需要删除、改写、补证据、补提示或人工复核的内容，**不保证平台一定放行**。

## 边界（必须遵守）

1. 不把"违禁词"描述成穷尽且永久有效的黑名单——平台按语境、意图、对象、素材和账号行为综合判断
2. 不因单个敏感词自动判违规——新闻/科普/教育/辟谣可能合法，但要核对语境、来源、风险提示和表达方式
3. **不用谐音、拆字、空格、特殊符号、拼音首字母规避审核**——发现稿件已这样做 → 标为额外风险，要求改成清楚正常的表达
4. 不为了"降低命中"删除事实、隐瞒商业关系、伪造来源
5. 不修改 predictions/ 任何预测段，不把合规观察写进 rubric_notes.md
6. 不调用第三方违禁词 API——本地词库 + 语义复核，不把稿件发到未经确认的外部服务
7. **机器层和实质层结论分别成立**：词面命中只能写"可能触发机器审核"，不能补造违规原因；实质问题必须说明独立机制，不能只引关键词
8. 不用百分比预测违规概率，不写"能发/不能发/保证通过/100% 合规"
9. 不评价观点是否偏激、不以降低争议为目标——**保留强观点、情绪张力、个人风格和传播钩子**

## 在链路中的位置

标准位：seed/用户写稿 → **合规审查** → 按轨道 review → title/description → predict。

**实际入口更灵活**：任意改稿轮之后、predict v2 重判之前都可复检——多轮改稿后用户说"查违禁词"是常态。每次复检用当前稿面最新内容；稿件实质修改后必须重新审查。

oracle-publish 的发布前 gate 调用本 skill 快扫模式。

## 输入

- 必填：`<draft-path>`（找不到停止，不猜另一份稿子）
- 可选：`--platform <name>|all`（缺省 all，各平台独立结论，不能用一个平台的"通过"代替另一个）；已确认标题/简介/标签/CTA/封面文案/置顶评论（没有单独文件时从稿件末尾发布文案段读）；内容是否新闻/纪实/科普/医疗/投资/产品推广/AI 辅助创作

**材料不完整不整体拒审**：只有文本 → 结尾提醒图片/主页/评论区未查；只有口播正文 → 报告只覆盖文本，不能替代画面/字幕/音乐/封面的视觉审核。

**长文**：超 10000 字按自然段切分分批扫描合并结果，不静默只取前几千字。

## Workflow

### Phase 0: 解析范围

1. 解析稿件路径；确认平台；收集所有文本表面（正文/标题/简介/标签/封面文字/CTA/置顶评论/联系方式/外链说明）
2. 识别内容模式：普通观点/教程/新闻/科普/医疗/金融/商业推广/涉未成年人/危险行为/AI 生成
3. 稿件已发布且用户提供了实际数据 → 不触碰盲预测协议，报告标 `published_after_data_seen`

### Phase 1: 规则与词条扫描（机器层）

先机械扫描再语义审核。机械扫描只产生**候选命中**，不直接下结论。

词库来源：内置候选词库（分级/语境规则/改写方向）+ 用户维护的词库（项目根 `compliance/terms.json` 如有）。

扫描后逐条回答：
- 这个词出现在哪个表面、哪一句、什么对象上？
- 是描述/引用/批评/辟谣，还是赞扬/教唆/交易/引流/让人模仿？
- 有没有可信来源、时间、资质或必要风险提示？
- 会不会让未成年人或普通用户直接模仿，或暴露他人隐私？
- 是不是广告、商业合作、功效宣称或站外导流？
- 这个平台的规则是否比其他平台更严？

**候选命中按证据强度分三档**：

| 档位 | 特征 | 报告去向 |
|---|---|---|
| 明显触发信号 | 完整外链/联系方式/二维码/明确广告结构/连续长数字/敏感主题+行动组合 | "可能触发机器审核" |
| 名单型信号 | 竞品平台名/圈层标签缩写/受限主题高频词（药品/博彩/迷信/金融广告） | 只写"可能命中名单"+ 对应名单类别 |
| 弱词面线索 | 普通关键词/正常数字/普通姓名/无法验证的经验推测 | **保持沉默不进报告** |

词面信号明显违背完整语义时（引用史料出现"刑罚"、报价单出现数字）→ 提示机器误伤可能，**不升级为实质风险**。

### Phase 2: 语义审查（实质层）

至少检查八组：
1. **违法与公共安全**：恐怖极端/色情/赌博/毒品/枪支/传销诈骗/教唆犯罪
2. **伤害与危险模仿**：暴力血腥/危险挑战/危险驾驶/自杀自残/危险操作说明
3. **未成年人**：性化/欺凌/隐私曝光/诱导危险/以未成年牟利
4. **人身权益**：人肉/身份证住址电话/诽谤/未证实指控/骚扰/歧视仇恨
5. **真实性**：谣言/断章取义/伪造经历学历收入销量/虚假慈善/AI 生成未按平台要求说明
6. **广告与专业建议**：绝对化承诺/医疗金融建议/资质缺失/虚构功效/保本收益/刷量/未披露推广
7. **平台生态**：标题党/封面正文不符/无关标签/诱导互动/黑产/恶意导流
8. **版权与来源**：搬运未注明/引用未授权/商标肖像音乐截图权属不明/热点缺出处

#### 合法语境排除（显式记录，不只让词消失）

- "第一"在"第一次/第一步/第一天"等步骤表达中 → 不是品牌宣称
- "治愈"在"治愈系音乐/风景"中 → 不是医疗承诺
- "独家报道/采访/视角"可能是新闻表达；"独家配方/技术/授权"是商业排他宣称需证据
- 否定/风险教育语境（"千万别 X/避免包治百病"）→ 仍看整句是否复制不必要敏感细节
- 新闻/科普/辟谣标签不是豁免证明——仍需来源、立场、去模仿化

**合法语境也不能掩盖**：个人信息、站外违规入口、可执行危险步骤、虚假资质、真实商业导流。

#### 最小必要干预

- 强观点/情绪化/冲突结构/口语/夸张修辞/隐喻**不构成风险**——"更稳妥/可能让人联想到"不能单独构成修改依据
- 主观判断、叙事强调、商业宣传要先区分——不能只凭词面判绝对化
- 同句同时含传播钩子和风险机制 → 只处理风险机制
- **无法说明修改降低了什么具体风险 → 不给修改建议**
- 严禁编造证据、资质、数据、评价

#### 高频风险机制速查（按机制判断非词面）

- **网络访问与海外账号**：只提网站名 = 名单型信号；给工具/下载/配置步骤/购买渠道 = HIGH
- **玄学占卜**：民俗/历史/文学讨论可出现；收费服务或承诺改运消灾 = HIGH
- **缩写与变体**：结合对象、动作、交易语境才升级；变体粗口指向个人查侮辱
- **招聘/接单/招生**：主体+服务+价格+邀请+联系方式同现 = 广告识别风险；双合法路径：真获客走平台报备入口 / 真分享删交易动作
- **链接与短链**：外链本身即审核对象；去向不明的写"去向未检查"，不自动打开
- **机器误伤**：演员姓名/尺寸/价格/混杂 OCR 可能被误识别 → 写明误伤可能，建议补语境，不要求删正常事实

### Phase 3: 分级

| 等级 | 含义 | 处理 |
|---|---|---|
| `BLOCKER` | 明确实施/赞扬/交易/教唆/暴露高危违法内容 | HOLD 不得发布；给具体句子和规则依据 |
| `HIGH` | 极可能限流/下架/禁言/法律风险 | HOLD；改写、补资质/来源/披露后复审 |
| `REVIEW` | 词或主题敏感但可能合法语境 | 不自动判违规；要上下文/来源/人工判断 |
| `EDIT` | 标题党/泛化承诺/导流/标签不相关等 | 改后复审 |
| `PASS` | 当前输入下未发现明显风险 | 保留"平台有最终解释权"限制 |

BLOCKER/HIGH 未清零 → 最终状态 HOLD。只有 REVIEW/EDIT → CONDITIONAL_PASS + 发布前条件清单。

**实质层判定纪律**：除硬红线外，每项实质风险至少需要「明确对象 + 明确动作/结果/传播目的」；第二风险类别需独立证据。词面命中、名单命中、OCR、二维码都不能单独证明实质违规。输出三档：高风险 / 需确认（写清要核实的事实及不同情形影响）/ 低置信度线索（缺任一条件不输出）。

### Phase 4: 输出报告

对话展示摘要，双层结论：
- **先说结论**：机器层（最明显触发信号；没有写"未发现明显触发点"）+ 实质层（有无需优先处理的问题），每平台独立一行
- 每平台独立状态和风险计数
- 每个命中：原文片段/位置/等级/触发原因/最小改写建议
- "词命中 ≠ 违规"的语境判断；原始候选数与确认风险数分开统计；被排除的合法语境命中列出
- 缺少的来源/资质/AI 标注/披露/风险提示
- 平台差异：同一句是否需要不同版本
- 发布前 checklist

🔴 **CHECKPOINT**：用户确认"保存报告"后写入作品目录 `compliance/<date>_<id>_compliance.md`。默认不覆盖原稿、不改标题、不动预测。

两层都没问题：

> 基于你提供的材料，当前平台未发现明显触发点，内容本身未发现需要优先处理的实质问题。强观点、口语和个人表达可以保留。

只查了文本 → 末尾补"图片、主页和评论区尚未纳入判断"。

#### 三行贴片小字（条件触发）

只用于补充真实边界，不能替代正文修改/证据/披露。仅当：用户明确询问免责贴片 / 缺边界会让观点被理解成事实指控、经验被理解成普遍效果 / 正文修改后仍有清晰的脱离语境风险。**"更加保险"不触发**。三行各 4-9 个汉字（内容性质/主要边界/补充边界），具体可验证不重复；默认 1 版最多加 2 个变体。

### Phase 5: 改稿闭环（audit-only 默认）

默认只给风险+依据+最小处理方向。🔴 **改稿门**：用户明确说"改稿/生成安全版本"才 rewrite（audit-only 是默认，不倒置）：
1. 只对报告列出的句子最小改写，不为"看起来安全"把事实改空话
2. 新闻/医疗/投资/法律/功效/指控类 → 优先补来源/资质/限定语，不只换词
3. 外链/联系方式/商业合作 → 按平台规则删、改平台内合法入口或补披露；**不提供绕过方案**
4. 改后重跑扫描+语义审查，报告保留"初版风险 → 修改动作 → 复审结果"链
5. 复审无 BLOCKER/HIGH 且 REVIEW/EDIT 已处理 → 才可 CONDITIONAL_PASS/PASS
6. 完整安全版本：保留原稿不覆盖，输出"原句/建议句/修改原因/是否需事实确认"四列

## 平台重点速查

| 平台 | 重点 |
|---|---|
| B站类 | 标题封面标签与正文一致性；引战堆标签；评论/弹幕/简介里的广告与人身攻击；教育纪实语境不自动豁免 |
| 小红书类 | "真诚分享"；私号/微信/二维码/站外链接/水印等导流表面；无资质不给医疗投资购房指导；AI 参与说明 |
| 抖音类 | 不实信息与热点来源；危险挑战/低俗暗示/网暴/隐私；商业广告资质；正常汉字不用拼音缩写 |
| 微信系 | 链接完整性；诱导分享限制 |

## Refusals

- 「把词改成谐音/拼音/拆字保证机器识别不出」 → 拒绝，改正常透明可验证的表达
- 「给我一份永久有效的全平台违禁词黑名单」 → 拒绝这种准确性承诺；给候选词库+规则来源+语境审查
- 「只换词不改虚假数据/无资质建议/站外导流」 → 拒绝表面规避，处理事实和行为
- 「合规检查后顺便重写预测段」 → 拒绝，immutable 协议

## 输出语言纪律

- 指出具体词句和完整语境，不输出一串敏感词；不用风险数量和等级名代替人话
- 不写恐吓式表达，不制造"随时会被封号"的焦虑
- 避免套路化否定转折对比句（自己别犯检测的毛病）

## Integration

- 上游：seed/用户写稿；任意 review 改稿轮后复检
- 下游：oracle-publish Phase 0.5 gate 调用快扫；oracle-retro Phase 1.5 限流排查引用本 skill 结论
- 词库可被用户扩展（项目根 compliance/terms.json），skill 自动合并

