maomomo-article-writer/references/delivery-rules.md

174 lines
12 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# MAOMOMO 完整交付规则
本文件用于完整文章、配图、发布包、打包、一键下载和后续更新任务。只要用户没有明确说“只要文字”“不要图片”“不要打包”“先不要生成文件”“先只要大纲”,默认按完整交付模式执行。
完整交付模式指“最终交付物必须完整”,不代表可以跳过确认一次性全量生成。执行时必须遵守 `SKILL.md` 的阶段门禁:先读资料和事实表,再确认标题 / 口径 / 大纲 / 素材映射 / 配图风格 / 生图后端,随后写文章、整理 prompts、先出一张样张样张确认后再逐张生成剩余图片。
## 强制完整交付规则
当用户请求包含以下任一表达时,必须默认进入“完整交付模式”:
- “使用 skill 生成文章”
- “按 skill 生成”
- “配图也是按 skill”
- “配图也按 SKILL”
- “完整文章”
- “发布用 Markdown”
- “打包”
- “一键下载”
- “给我文件”
- “文章和配图一起”
- “生成文章 + 配图”
- “最终交付”
完整交付模式最终必须完成以下交付物,但必须分阶段推进:
1. 读取并核对用户提供的所有官方链接、PDF、参考文章和条款。
2. 在写最终稿前给用户确认标题、核心口径、`outline.md` 大纲、来源缺口、必选素材映射和配图风格。
3. 用户确认后输出发布用 Markdown 文件,而不是只在聊天框展示正文。
4. 出图前把全部图片 prompt 写入 `prompts/` 或 manifest 文件,让用户可直接编辑。
5. 先生成并确认一张样张,优先封面图;样张确认后再逐张生成剩余独立高清 PNG。
6. 将通过 QA 的图片同步到 `assets/` 目录,并以相对路径插入 Markdown例如 `![图片说明](assets/hsbc-mastercard-alipay-campaign-01-cover.png)`
7. 用脚本检查 Markdown 中所有本地图片路径真实存在。
8. 创建 ZIP 包,结构类似:
```text
article_package.zip
article.md
assets/
hsbc-mastercard-alipay-campaign-01-cover.png
hsbc-mastercard-alipay-campaign-02-overview.png
hsbc-mastercard-alipay-campaign-03-timeline.png
```
9. 最终回复只给路径和极简说明,同时说明图片数量、生图后端、状态记录和已知限制。
如果因为工具限制、图片生成失败、文件写入失败或资料缺失导致无法完成完整交付,必须明确说明失败点,并尽量交付已经完成的部分。不要只输出配图提示词代替图片文件,不要只输出文章正文代替 Markdown 文件。
## 多渠道交付策略
完整交付默认生成 Markdown、assets 和 ZIP但最终发送方式按渠道和用户要求调整。
- 本地 / Web优先给 Markdown + ZIP如用户要图片也附独立图片。
- Telegram / 聊天ZIP 可能失败,优先发送 Markdown + 多张图片独立附件ZIP 作为可选补充。
- Email按用户要求选择 ZIP 或独立附件。
- 用户说“打包发我 email”发送 ZIP。
- 用户说“不打包”“分多个附件”:发送 Markdown 和图片作为多个独立附件,不再附 ZIP。
- 若附件发送失败,不要反复重复发送同一批附件;改用更稳定的渠道或分批发送,并说明只保留最后版本。
- 发送前确认附件对应的是最后确认版,不要把旧图、旧 Markdown 或临时文件发出。
## 配图执行规则
具体视觉风格、图片清单、文件命名、Markdown 插图和图片 QA 规则见 `references/visual-assets.md`。本节只规定完整交付时的执行边界。
当用户要求“配图也按 Skill”“高清配图”“精美配图”“生成配图”“文章和配图一起”时
- 必须生成独立 PNG 图片文件,而不是只给提示词。
- 出图前必须先写入 prompt 文件,包含文件名、用途、放置位置、核心文案、完整 prompt、alt text、风格和依赖素材。
- 必须先生成一张样张,优先封面图;用户确认前不得生成剩余图片。
- 样张确认后,每张图按一个 job / 一次请求 / 一次 QA 推进;运行环境支持子 agent 时,可以一图一个子 agent 并发。
- 不要只生成一张大长图替代所有配图。
- 每张图必须有独立主题例如封面图、活动总览图、时间线图、重点规则图、交易法图、避坑图、FAQ 图。
- 银行、券商、支付品牌、卡组织或支付网络 Logo 只要已由官方材料、用户素材或用户明确口径核对正确,就可以作为辅助识别出现;用户未提供素材时,应主动尽力从官方活动页、条款 PDF、品牌资源页、官网 / App 截图等来源查找准确 Logo。无法核对时使用通用符号。
- 出现信用卡、支付卡、卡组织、支付网络或机构 Logo 时,必须按官方材料或用户素材核对,并在 prompt、manifest 或 `deck_spec.json` 记录参考素材、卡组织、`allowed_brand_marks` 和 `brand_mark_sources`;不得把银联 / UnionPay 画成 Mastercard、Visa 等其他卡组织。
- 第三方 Logo 必须尺寸克制、位置辅助,不能抢占、替代或压过 `MAOMOMO` 主标识。
- 不得伪造真实 App 截图。
- prompt 中的视觉风格只能写成后台画面描述,不要写容易被模型照抄的中文风格标签;可见文字只允许出现指定业务文案、`MAOMOMO` 和已核对允许出现的品牌 / 支付标识。
- 生成图应明确是 MAOMOMO 示意图 / 信息图,不伪装成真实截图或官方页面。
- 生成后的原始最终图先保存到 `origin_image/`,通过 QA 后同步到 `assets/`,并插入 Markdown。
- 港币金额在发布稿、图片文案、prompt、manifest 和 `deck_spec.json` 中统一写 `HKD`,来源原文抽取文件除外。
- 图片文件名使用稳定英文小写命名,并包含主题前缀,例如 `hsbc-mastercard-alipay-campaign-01-cover.png`
- 不要使用中文文件名或缺少主题前缀的通用文件名作为最终 assets 文件名,避免站点路径兼容和多文章混淆问题。
- 不要用 Playwright、HTML/CSS、SVG、Pillow、canvas、本地拼贴或手工覆盖文字替代 GPT Image2 / 图片 API 生成最终配图。
## 图片生成偏差处理
- 每张图应独立生成高清 PNG不要主动生成一张拼图再裁切。
- 如果图片工具意外只返回一张拼图或长图,应视为不合格结果。
- 除非用户接受临时方案,否则应重新生成独立图片。
- 若临时裁切拼图,必须明确说明这是临时补救,并尽快补独立版本。
- 用户要求加入参考图元素时,应把参考图作为视觉元素来源,但不要复制真实卡号、个人信息或伪造 App 截图。
## 禁止半成品交付
以下都属于半成品,除非用户明确只要求这样做:
- 只输出文章正文,不给 `.md` 文件。
- 只输出配图提示词,不生成图片文件。
- 只生成图片,不插入 Markdown。
- 只生成一张总图,不生成多张独立配图。
- 只给 assets不打 ZIP。
- 只给一段新增内容,不输出更新后的完整文章。
- 只给旧文件链接,没有确认文件内容已更新。
- 修改了正文,但没有同步更新标题、摘要、配图清单、来源区和 ZIP 包。
- 用户要求“输出完整文章”时,只输出新增片段。
- 用户要求“打包给我”时,只给 Markdown 或只给图片。
当用户说“输出完整文章”“别只给一段”“打包给我”“文章和配图一起”时,必须交付完整文件,而不是片段。
## 改稿更新检查
用户在已有文章上连续修改时,执行最小变更并同步验证。
1. 先定位用户指定范围标题、TLDR、某节、某句、某几个字、图片、来源区或附件。
2. 只修改指定范围;不要因为用户说“删掉 X”就删除整条信息。
3. 若修改影响编号、目录、图片 alt、来源区或 ZIP才同步更新相关部分。
4. 修改完成后读取相关片段验证,而不是只凭替换命令结果回复。
5. 最终回复只说明改了什么,不要重复发送不必要附件。
## 更新任务规则
当用户在已有文章基础上提出修改,例如“删掉 One+”“增加 BOXX 交易法”“不要用 Week”“输出完整文章”“再打包”
1. 不要只输出修改片段,除非用户明确要求“只给新增段落”。
2. 默认更新完整 Markdown 文件。
3. 如果修改影响配图或配图清单,必须同步更新对应图片引用和 assets 文件名。
4. 如果用户要求文件或打包,必须重新生成 ZIP。
5. 最终回复给出最新 Markdown 和 ZIP 链接,避免继续给旧文件。
## 远程图片路径替换
当用户提供 WordPress / CDN 上传后的 `<img ... src="...">` 片段或远程图片 URL并要求替换文章图片路径时
1. 只替换 Markdown 中的图片 URL不改正文、alt text、图片顺序和本地 assets 文件。
2. 优先按文件名或 title 中的序号 / 语义匹配,例如 `01-cover` 对封面图,`04-rebate-card` 对到账截图卡片;不要按用户粘贴顺序机械替换,除非用户明确说按粘贴顺序。
3. 替换后用 `rg` 或等效检查确认没有残留本地 `assets/` / `origin_image/` 引用。
4. 若文章已全部改为远程图Markdown 本地图片路径检查可以跳过本地资产存在性要求,但仍要检查远程 URL 已写入正确位置。
5. 如果需要重新打包ZIP 至少包含最新 `article.md`;是否继续附本地 `assets/` 取决于用户要“发布稿”还是“完整归档包”,最终回复要说明包内内容。
## 最终交付前检查清单
交付前必须逐项确认:
- Markdown 文件已生成。
- `outline.md` 已按用户确认版本保存。
- `prompts/` 中每张图的 prompt 文件已保存,且与最终图片数量和顺序一致。
- 一张样张已确认,后续图片继承同一生图后端和视觉系统。
- `slide_jobs.json` / `slide_run_state.json` 已记录图片任务状态;如缺少记录,最终回复必须说明原因。
- `origin_image/` 中最终原始图片存在。
- `assets/` 目录已生成。
- 已运行 `uv run python scripts/maomomo_check_markdown_assets.py article/article.md` 或等效脚本,确认所有 Markdown 图片路径都能对应到真实图片文件。
- 图片是多张独立 PNG不是一张大图代替全部。
- 图片文件名包含文章主题前缀,未沿用旧文章文件名。
- 图片可见文字没有出现风格标签、prompt 描述、额外 slogan 或无关文案;除业务文案、`MAOMOMO` 和已核对允许出现的品牌 / 支付标识外,没有多余文字。
- 图片日期、金额、公式、卡组织 / 支付网络 / 机构 Logo 和禁用分支都已核对。
- 用户未提供 Logo / 卡面素材时,已尽力查找准确标识,并在 `sources/`、prompt、manifest 或 `deck_spec.json` 记录素材来源和核对结论;无法核对时没有凭记忆画真实 Logo。
- 第三方 Logo 没有抢占、替代或压过 `MAOMOMO` 主标识。
- 发布稿、图片文案、prompt、manifest、`deck_spec.json` 和 `speech.md` 中港币金额统一使用 `HKD`
- 文末来源区只包含实际使用的来源。
- 正文没有 `contentReference`、`oaicite`、调试标记或工具残留。
- 用户要求删除的分支,标题、正文、配图清单和来源区都已删除干净。
- ZIP 包已创建。
- 用户最后确认的标题是否已同步到 frontmatter 和 H1。
- 用户要求删除的词是否只删除指定词,未误删整条信息。
- 正文是否残留编辑指令或模型解释。
- 用户不喜欢的模糊词,例如“更像”“可能”“大致”,是否已按上下文清理。
- 用户提供的明确实测结论是否写成确定语气,未被改软成“可能 / 疑似 / 大概”。
- 用户提供的“以往惯例 / 过往尿性 / 过往经验”是否写成“大概率 / 按过往案例判断”的强概率语气,并保留合理边界。
- TLDR 是否过长,是否适合当前平台。
- 小红书图是否为 9:16 竖版,是否每张都有 MAOMOMO 标识。
- 图片是否匹配最终文章口径,未残留旧规则、旧金额、旧标题。
- 邮件/聊天附件是否按用户要求选择 ZIP 或多个独立附件。
- 若已发送过旧版本,最终回复要明确这是最后版本,避免重复发同一批图片。
- 最终回复包含 Markdown 下载链接和 ZIP 下载链接。