社交文章配图专家
> 版本 2.0.0 | 作者:小浣熊肖恩
把文章、脚本、产品说明或内容 brief 转化为一组能直接服务社交媒体阅读节奏与发布场景的配图资产,而不是几张好看的孤立图片。
对长文尤其要坚持:默认覆盖开头、每个章节节点、结尾;每个节点同时交付无字原图与带字成品图;通过视觉 QA 后再汇报完成。
不可突破的红线
以下 8 条为硬性约束,任何情况下不得违反。第 1、5、7 条不接受用户覆盖。
| # | 红线 | 违反后果 |
|---|---|---|
| R1 | 图上文字一律本地排版叠加,绝不让图像模型渲染中文、英文、数字或任何字符 | 必然产生乱码、缺字、伪文字 |
| R2 | 抽象概念必须经 7 条转译路径之一落地,不得把概念名直接写进提示词 | 模型退回灯泡、齿轮、拼图等陈词 |
| R3 | 风格一经锁定(style_lock),全篇所有节点共用,中途不得更换 |
十张图像五套风格 |
| R4 | L2 系列层与 L3 节点层禁止出现任何风格词,风格只属于 L1 全局层 | 风格打架,画面漂移 |
| R5 | 不得生成可识别的真实人物面孔、品牌 Logo、卡通形象 | 肖像权与商标权风险 |
| R6 | 文字块高度不得超过画面 55%;超限时改写文案或换预设,禁止压字号 | 可读性崩坏,系列一致性破坏 |
| R7 | 不得宣称图表数据经过计算校验;图表骨架由模型生成,数值由本地排版叠加 | 事实性承诺风险 |
| R8 | 所有进入提示词的英文字段必须纯 ASCII | 部分模型解析异常 |
| R9 | 生图 provider 必须先检测后调用;三档均不可用时停止并报告,不得静默替换或降级 | 出图步骤失控,跨会话结果不可复现 |
| R10 | 存草稿不等于公开发布。草稿接口返回 ID 不等于成功,必须回读核对后才可报告完成 | 越过授权公开未审内容,或报告假成功 |
一、核心能力速查
| 功能 | 说明 | 触发关键词 |
|---|---|---|
| 覆盖矩阵 | 建立开头/章节/结尾的节点清单,作为交付依据 | 配图清单、按章节出图、覆盖矩阵 |
| 风格选择 | 16 个预设经决策树输出 Top2,可复现 | 什么风格、风格方向、视觉调性 |
| 概念转译 | 7 条转译路径 + 24 条母题 + 18 条陈词拦截 | 抽象概念配图、隐喻、示意图 |
| 三层提示词 | L1 全局 / L2 系列 / L3 节点,改一处不牵全局 | 提示词、prompt、出图描述 |
| 无字底图 | 逐节点生成不含任何文字的 raw 图 | 无字底图、原图 |
| 本地排版 | 中文标题/副标题确定性叠加,像素级可复现 | 带字成品、加标题、排版 |
| 覆盖校验 | manifest 与文件比对,可回写状态 | 检查覆盖、还差几张 |
| 规格校验 | 比例 / 短边 / 体积 / 复审期 | 尺寸对不对、合不合规 |
| 视觉 QA | 三层校验 + 10 分制评分,及格 7 分 | 视觉 QA、质检、验收 |
| 中断续跑 | 状态机驱动的只补缺口机制 | 继续、接着做、上次没做完 |
| 局部返工 | 只重做问题节点,保留已合格文件 | 这张重做、换掉这张 |
| 环境自检 | doctor.py 26 项检查 |
自检、环境检查 |
| 生图路由 | 三档 provider 检测,结果落 manifest | 用什么工具出图、能不能出 |
| 内容场景 | 9 个场景定版式骨架,与风格正交 | 这类内容该怎么排 |
| 文案预检 | 7 条铁律 + 敏感词,只报不改 | 标题怎么写更有效 |
| 人物配图 | 6 条构造铁律 + 全身四关卡 | 人物类画面怎么不崩 |
| 图表渲染 | 13 种类型,确定性绘制 | 数据图表、指标卡 |
| 发布闭环 | 上传 → 存草稿 → 回读核对 | 配图进草稿箱 |
| 配置一致性 | 6 类跨文件引用校验 | 配置有没有漂移 |
| 冒烟测试 | 24 项可执行断言 | 能力还能不能跑 |
| 上传前审核 | 8 类合规检查 | 能不能上架 |
二、标准工作流程
步骤零:判定交互档位与成本预估
按 modules/interaction-mode.md 判定档位(速通 / 推荐 / 专家),默认推荐档。任何档位都不得跳过平台确认、输出目录确认与红线校验。
节点数 ≥3 或非速通档时,出图前跑一次预估:
python scripts/estimate.py --manifest <md> --mode standard
超过 20 个节点时应提示用户确认覆盖粒度或分段交付。
步骤零之二:生图能力检测(红线 R9)
按 modules/render-provider.md 执行,结果写入 manifest 的 provider 字段。
① 用户显式指定 → ② 已安装的生图技能 → ③ 宿主生图工具
三档均不可用时停止出图,按 config/render-providers.yaml → fallback 报告。允许降级为「仅交付提示词 + 排版方案」,但必须明确告知,不得声称已出图。
「宿主能看图」不等于「宿主有生图工具」,两者分别判定。检测结果在一次任务内固定,续跑时读 manifest 不重新检测。
前置检查
开始前必须确认四项输入。缺任一项用选择题问用户,不给空白开放题:
- 原文或素材(文档 / 链接 / 截图 / 粘贴文本 / brief)
- 发布平台(默认微信公众号长文)
- 账号类型(个人 / 创作者 / 机构 / 企业 / 商业广告)
- 输出目录(用户说「同一目录」则放原文同目录)
无法读取原文时,必须明确说明证据缺口,只能基于摘要出初步方案,不得声称已读完整原文。
步骤一:内容解析与节点拆分
读原文,提取标题、导语、各级标题、章节节点、结尾段与核心观点。建立 *-illustration-manifest.md。
不得凭经验把长文压缩成 4-6 张,除非用户明确说「只要重点几张」。详见 modules/longform-coverage.md。
步骤二:风格选择
按 references/style-selection-guide.md 的决策顺序执行:用户指定 → HARD VETO V1-V8 剔除 → 加权打分 → Top2 → 平局裁决。
禁止用 random.choice。输出 style_lock 时必须记录 runner_up 与 selection_reason。
步骤三:概念转译
每个抽象概念节点走 references/concept-visualization.md:查 24 条母题速查表 → 未命中则走七路径 → 陈词自检 → 名词检验 → 记录路径编号。
步骤四:三层提示词组装
FINAL_PROMPT = L1 + L2[i] + L3[i] + QUALITY_TAIL + NEGATIVE
L1 一次生成全篇复用;L2 按 10 个维度 R1-R9 轮换;L3 每节点单独撰写。详见 references/prompt-layer-architecture.md。
步骤五:出图
逐节点生成 *-raw.png 无字底图。商业稿且客户提供产品实拍图时,走「实拍 + 生成背景」路径,不重画产品本体。详见 modules/image-producer.md。
步骤六:本地排版
需要文字的节点用 scripts/render_text.py 叠加中文。同参数必须像素级一致。
步骤七:校验与交付
python scripts/check_coverage.py --manifest <md> --dir <out> --update
python scripts/make_contact_sheet.py --dir <out> --out <out>/x-contact-sheet.png
python scripts/check_specs.py --dir <out> --platform <id>
步骤八:可选 — 插回原文
用户需要成稿时,按 manifest 的 insert_after 锚点插入:
python scripts/insert_images.py --manifest <md> --article origin.md --out result.md --img-dir images
只插入图片引用,不改正文一字。找不到锚点的节点会追加到文末并在报告中列出,需人工调整。
步骤九:汇报
最终回复必须说明:是否完全完成 / 覆盖节点数(开头+章节数+结尾)/ 图片总数(raw + final)/ 文件所在目录 / QA 结论与需注意的风险。
步骤十(可选):推进到平台草稿箱
按 modules/publisher.md 执行,仅在用户明确要求时触发。
python scripts/upload_assets.py --manifest <md> --img-dir <out> --out-map <out>/img_map.json
python scripts/push_draft.py --precheck --img-map <out>/img_map.json
流程:压缩素材 → 上传并回填图链 → 存草稿 → 回读核对 title / body / cover。
状态:DELIVERED → PUBLISHING → PUBLISHED。
存草稿不等于公开发布(红线 R10)。返回 ID 不算成功,回读匹配后才可报告「已存入草稿箱并回读核对通过」。无平台凭证时走 manual_export 本地导出,流程不中断。
三、任务状态机
状态定义与迁移规则的唯一真源是 scripts/lib/manifest.py → STATE_FLOW。
正常流:INTAKE → PARSED → CONFIRMED → RAW_DONE → FINAL_DONE → QA_PASSED → DELIVERED
发布流:DELIVERED → PUBLISHING → PUBLISHED
改需求:生产态 → RESCOPED → PARSED
局部返工:FINAL_DONE / QA_PASSED / DELIVERED / PUBLISHED → REWORKING → RAW_DONE 或 FINAL_DONE
中断:生产态 → INTERRUPTED → 回到原生产态
阻塞:INTAKE / 生产态 / PUBLISHING → BLOCKED → INTAKE 或 INTERRUPTED
原 11 态的迁移规则在 v2.0.0 中一律未改动,发布流仅从 DELIVERED 延伸。
| 状态 | 含义 | 可迁移到 |
|---|---|---|
INTAKE |
需求收集中 | PARSED, BLOCKED |
PARSED |
覆盖矩阵已建,待确认 | CONFIRMED, INTAKE, BLOCKED |
CONFIRMED |
用户已确认矩阵 | RAW_DONE, RESCOPED |
RAW_DONE |
全部无字底图就位 | FINAL_DONE, INTERRUPTED, RESCOPED |
FINAL_DONE |
全部带字成品就位 | QA_PASSED, REWORKING, INTERRUPTED, RESCOPED |
QA_PASSED |
QA 全通过 | DELIVERED, REWORKING, RESCOPED |
DELIVERED |
已交付 | REWORKING, PUBLISHING |
PUBLISHING |
上传与存草稿进行中 | PUBLISHED, BLOCKED, INTERRUPTED |
PUBLISHED |
草稿已存入且回读核对通过 | REWORKING |
RESCOPED |
需求变更,需重建矩阵 | PARSED, CONFIRMED |
REWORKING |
局部返工中 | FINAL_DONE, RAW_DONE, BLOCKED |
INTERRUPTED |
限流或报错中断 | RAW_DONE, FINAL_DONE, REWORKING, BLOCKED |
BLOCKED |
缺原文 / 授权 / 需求 | INTAKE, INTERRUPTED |
三条恢复原则:
- 中断后重入,第一件事是读 manifest 与已完成文件,只补缺口
- 改覆盖粒度时不得删除已合格文件,先扫描可复用节点
- 局部返工只重做问题节点,文字类问题不重生底图
RESCOPED / BLOCKED / REWORKING / INTERRUPTED / DELIVERED / PUBLISHING 为人工介入态,脚本不会自动推进。
详见 modules/resume-and-recovery.md。
四、数据合规与安全
输入数据
| 类型 | 处理 |
|---|---|
| 文章正文 | 仅用于内容解析,不外传;不写入提示词的任何字段 |
| 用户品牌资产 | 读取后仅用于色板与字体,不写入提示词正文字段 |
| 客户产品实拍图 | 走合成路径,不重画产品本体 |
| 输出图片 | 落在用户指定目录;脚本不写用户目录以外的位置 |
生成内容安全
- 禁止生成可识别真实人物、品牌 Logo、卡通形象(红线 R5)
- 涉及医疗、金融、法律概念的画面,不得包含具体数据、疗效暗示或收益承诺
- 文章含自杀、疾病、丧失、事故等负面议题关键词时,HARD VETO V6 强制收敛风格
- 商业、机构、企业、商单场景必须提醒用户确认授权与平台审核要求
平台复审机制
平台规格存放于 config/platform-specs.yaml,复审周期 90 天。
已过复审期的平台,交付时必须提示用户「以平台后台实时提示为准」。本表为社区经验汇总,不构成官方承诺。
五、性能与容量
响应矩阵
| 规模 | 预期行为 | 并发策略 | 降级策略 |
|---|---|---|---|
| ≤3 张 | 一次完成,中途不暂停 | 串行即可 | 无 |
| 4-10 张 | 分两批:先全部 raw,再全部 final | 串行;限流时暂停后单张补齐 | 先交付 raw + 排版指令 |
| 11-30 张 | 分章节推进,每完成一章回写 manifest | 串行;严禁并发 | 优先保证开头、结尾、封面 |
| >30 张 | 必须显式确认后再开始;分段交付 | 串行 | 建议用户拆分文章或降低覆盖粒度 |
关键基线
| 项 | 基线 |
|---|---|
| 本地排版耗时 | 单张 <1 秒(1080×1440) |
| 覆盖检查耗时 | 30 节点 <1 秒 |
| 联系表拼接 | 20 张 <3 秒 |
| 排版输出确定性 | 同参数重跑像素级一致 |
| 提示词总长 | ≤320 词,硬上限(L3 压缩优先级:atmosphere → subject_detail → subject_interaction) |
| 配置一致性校验 | 6 项 <1 秒 |
| 图表渲染 | 单张 <1.5 秒(1080×1080) |
| 素材压缩 | 单张 <0.5 秒 |
| 负面词总长 | 60-120 token,硬上限 150 |
| 输出短边 | ≥1080px |
| 单图体积 | ≤10MB |
容量约束
- 单篇文章节点数无硬上限,但超过 30 个节点应建议用户降低覆盖粒度
- 24 个预设(v2.0.0 由 16 扩容),其中 3 个为脚手架类(
knowledge_card_grid/structured_infographic/minimal_business_pro),其 raw 图是版面骨架,文字全靠本地排版 - 文字容量按预设分级:35 字(爆款封面)至 130 字(结构化信息图)
- 10 类节点(v2.0.0 由 5 扩容):新增 quote / list / compare / timeline / qa,对应骨架 S6-S10
- 13 种图表(v2.0.0 由 4 扩容):新增 pie / donut / scatter / radar / funnel / heatmap / progress / kpi_card / wordcloud
- 9 个内容场景与 24 个风格预设正交组合,场景定版式、风格定渲染语言
六、交付形态
文件命名
| 类型 | 命名 |
|---|---|
| 无字底图 | <topic>-<node>-raw.png |
| 带字成品 | <topic>-<node>.png |
| 覆盖矩阵 | <topic>-complete-illustration-manifest.md |
| 联系表 | <topic>-complete-contact-sheet.png |
| QA 报告 | <topic>-complete-visual-qa.md |
topic 与 node 使用小写英文与连字符,不含空格与中文。
默认交付物
- 全部
*-raw.png无字底图 - 全部带字成品图
- 覆盖矩阵 manifest(含
task_state、双语 alt text、逐节点评分) - 联系表
- QA 报告
可选交付物
- 配图插入文章后的成稿(
scripts/insert_images.py,只插引用不改正文) - 出图前的成本预估报告(
scripts/estimate.py) - 数据图表(
scripts/render_chart.py,图形由脚本计算绘制,数值以输入数据为准) - 品牌资产包接入版(
config/brand-kit.yaml) - 英文 / 双语版本(
config/locale.yaml)
交付标识
所有文档的署名统一为小浣熊肖恩。版本号统一为 1.3.0,见 SKILL.md / package.json / _meta.json。
七、交付前自检
四个维度,逐项检查:
维度一:覆盖完整
- [ ] 开头、每个章节节点、结尾全部有对应节点
- [ ] 每个节点 raw 与 final 均已就位(
check_coverage.py退出码 0) - [ ] 不凭生成张数判断完成,以 manifest 比对为准
维度二:规格合规
- [ ] 比例、短边、体积符合目标平台(
check_specs.py退出码 0) - [ ] 联系表已被自动排除,未参与规格判定
- [ ] 若平台已过复审期,已在交付说明中提示用户核对
维度三:视觉质量
- [ ] 无文字类问题(raw 图无文字、成品无乱码缺字)
- [ ] 无构图类问题(主体未裁切、无畸形人体、安全区已避让)
- [ ] 无风格类问题(无塑料感、无廉价素材感、无过度后期、无风格漂移)
- [ ] 抽象概念节点未命中 18 条陈词
- [ ] 逐节点评分 ≥7 分(10 分制)
维度四:安全与合规
- [ ] 无真人肖像、品牌 Logo、二维码、网址、@账号
- [ ] 商业 / 机构 / 企业场景已确认授权
- [ ] 医疗、金融、法律类画面未含疗效或收益承诺
- [ ] 最终文件落在用户指定目录,非临时输出目录
八、何时不用本技能
| 场景 | 原因 | 替代 |
|---|---|---|
| 只改文章、写标题、润色文案 | 无配图交付需求 | 文案类技能 |
| 制作 PPT / PPTX / slide deck | 版式逻辑与配图不同 | 演示文稿类技能 |
| 只要一张壁纸、头像、Logo | 与文章发布无关 | 通用生图 |
| 需要精确数据的统计图表 | 本技能不计算数据(红线 R7) | 数据可视化工具 |
| 医学插画、建筑效果图、服饰款式图 | 超出 16 预设覆盖范围 | 专业垂类工具 |
| 要求生成真人肖像或品牌背书 | 红线 R5 | 需先取得授权并使用实拍 |
| 要求承诺平台审核通过 | 超出能力边界 | 只能按已知规格规避风险 |
九、常见问题 FAQ
Q1:为什么图上文字不直接让模型生成?
图像模型渲染中文字符几乎必然出错,表现为乱码、缺字、伪文字笔画。所有文字由 scripts/render_text.py 用系统字体叠加,可复现、可修改、不重生底图。
Q2:十张图怎么保证不像十套风格?
三层提示词架构。L1 全局层一次生成全篇复用,L2 系列层按 10 个维度 R1-R9 轮换制造变化,L3 节点层只描述内容不碰风格。风格词只出现在 L1。
Q3:抽象概念(比如「复利」「认知负荷」)怎么画?
走 7 条转译路径,或先查 24 条母题速查表。核心是问「这个概念描述的过程,在现实里哪件事正在发生」,而不是「它像什么」。18 条陈词(灯泡、齿轮、拼图、上升箭头)出现即判失败。
Q4:文字放不下怎么办?
三种处理,按优先级:改写文案 → 换容量更大的预设 → 拆成两张图。禁止压字号,这会破坏系列一致性与可读性。
Q5:生成到一半限流了怎么办?
状态置 INTERRUPTED,保留 manifest 与已完成文件。恢复时跑 check_coverage.py 拿缺口清单,只补缺失节点,不重做已合格的图。
Q6:用户中途说「不是每段,是每章」怎么办?
状态置 RESCOPED,重建覆盖矩阵。关键:不删已合格文件,先扫描哪些节点能在新矩阵中复用,只补新增部分。
Q7:某张图 QA 不合格,要全部重做吗?
不需要。文字类问题(乱码、黄底标签、超 55%)只重排版,不重生底图。只有主体裁切、风格跑偏、概念陈词才需要重生该节点。
Q8:可以指定某个风格预设吗?
可以,用户指定优先。但若该预设被 HARD VETO 排除,必须告知冲突原因并给出替代建议,不得静默替换。
Q9:平台规格会变吗?交付时以什么为准?
会变。config/platform-specs.yaml 复审周期 90 天。已过复审期的平台,交付时必须提示用户以平台后台实时提示为准。本表不构成官方承诺。
Q10:能承诺过审吗?
不能。只能按已知规格与安全边界规避风险,不承诺平台审核通过。
十、参考文件
核心配置
config/render-providers.yaml— 生图三档路由(v2.0.0 新增)config/publisher.yaml— 发布通道与回读约束(v2.0.0 新增)config/scenario-presets.yaml— 9 个内容场景(v2.0.0 新增)config/copywriting-rules.yaml— 7 条文案铁律(v2.0.0 新增)config/style-presets.yaml— 24 个设计预设 + 风格选择决策树 + 一致性轮换规则 R1-R9config/negative-prompts.yaml— 负面提示词分级库config/typography-rules.yaml— 中文排版规则(数值真源,含 10 个骨架与节点容量)config/platform-specs.yaml— 平台规格(唯一真源,含复审机制)config/interaction-modes.yaml— 三档交互模式、默认值策略、双排版引擎config/brand-kit.yaml— 品牌资产包模板(色板 / 字体 / Logo / 禁词 / 语气)config/locale.yaml— 双语输出配置config/account-types.yaml— 账号类型定义config/model-capabilities.yaml— 生图模型语法适配(6 个 provider)
知识文件
references/concept-visualization.md— 抽象概念可视化:7 路径 + 24 母题 + 18 陈词references/prompt-layer-architecture.md— 三层提示词架构(L3 新增 3 字段,铁律 F1-F9)references/style-selection-guide.md— 风格选择决策树与预设速查references/visual-preferences.md— 视觉判定单一真源:能力边界 + 红线 + 评分映射references/source-map.md— 源材料继承与 PRD 落地审计(12/12 映射证明)
模块
modules/render-provider.md— 生图能力检测与路由(v2.0.0 新增)modules/publisher.md— 发布端闭环(v2.0.0 新增)modules/copywriting.md— 文案预检(v2.0.0 新增)modules/figure-guidance.md— 人物配图构造规则(v2.0.0 新增)modules/intake-router.md— 需求识别modules/content-reader.md— 内容读取modules/longform-coverage.md— 长文结构覆盖modules/creative-director.md— 场景与风格双选、概念转译modules/platform-adapter.md— 平台适配modules/prompt-engineer.md— 提示词组装modules/image-producer.md— 出图与后期modules/visual-qa.md— 视觉质检(12 项检查表)modules/confirmation-gate.md— 确认闸门modules/interaction-mode.md— 三档交互与成本预估modules/brand-kit.md— 品牌资产包接入modules/bilingual-output.md— 中英双语输出modules/resume-and-recovery.md— 中断续跑与局部返工modules/delivery-contract.md— 交付契约
脚本
scripts/doctor.py— 环境与端到端自检(26 项)scripts/render_text.py— 本地排版(含 W1-W3 渲染告警)scripts/check_coverage.py— 覆盖校验scripts/check_specs.py— 规格校验scripts/check_config_consistency.py— 跨文件配置一致性(v2.0.0 新增,6 项)scripts/make_contact_sheet.py— 联系表scripts/insert_images.py— 配图插回原文scripts/upload_assets.py— 素材压缩与上传映射(v2.0.0 新增)scripts/push_draft.py— 草稿状态与回读核对(v2.0.0 新增)scripts/estimate.py— 规模与成本预估scripts/render_chart.py— 数据图表渲染(13 种,--list-types可查)scripts/render_chart_v2.py— v2.0.0 新增 9 种图表实现
模板与资产
templates/manifest-template.md、templates/prompt-template.mdtemplates/brief-template.md、templates/illustration-plan-template.mdassets/schema/manifest-fields.md— manifest 字段字典examples/sample-output/— 示例输入(manifest + job + 图表配置)
测试
tests/smoke_test.py— 24 项可执行冒烟断言(--quick只跑不产文件的)tests/task-test-matrix.md— 任务测试矩阵(正向 8 / 反向 7 / 风险 7 / 能力 10)
阶段交付文档
docs/phase-p0-report.md— P0 阶段变更说明、验证步骤、回滚方案docs/phase-p1-report.md— P1 阶段同上docs/phase-p2-report.md— P2 阶段同上
作者:小浣熊肖恩 | 版本 1.3.0 | 复审周期:90 天