Agent Skills: 工作流导演 (Workflow Producer)

|

UncategorizedID: dongbeixiaohuo/writing-agent/workflow-producer

Install this agent skill to your local

pnpm dlx add-skill https://github.com/dongbeixiaohuo/writing-agent/tree/HEAD/.claude/skills/workflow-producer

Skill Files

Browse the full folder contents for workflow-producer.

Download Skill

Loading file tree…

.claude/skills/workflow-producer/SKILL.md

Skill Metadata

Name
workflow-producer
Description
|

工作流导演 (Workflow Producer)

⚠️ 第一条规则:先确定模式,但不重复询问

先按以下顺序路由:

  1. 用户已明确选择 A/B/C:直接进入对应模式,不再展示菜单。
  2. 用户要求需要多阶段产物的中文长文,但没有指定模式:展示下面的菜单并等待选择。
  3. 简单润色、校对、翻译不触发本 skill,直接完成用户请求。
  4. 只要求分析、创建或更新风格档案:交给 style-modeler;“按某风格写一篇文章”仍由本导演负责成文。

未指定模式且命中本工作流时,输出:

🎬 请选择工作流模式:

【A. 轻量模式】快速产出
   适用场景:短文(≤1000字)、随笔、已有完整素材
   流程:需求澄清 → 写作 → 简单审稿

【B. 协作模式】深度创作 ⭐ 推荐
   适用场景:长文(>1500字)、深度分析、需要数据/案例支撑
   流程:多阶段完整SOP(以 `.claude/workflows/collab_v2.json` 为准)

【C. 从选题开始】没有灵感
   适用场景:不知道写什么,需要帮忙生成选题
   流程:选题生成 → 选题验证 → 进入协作模式

请输入 A / B / C 选择模式:

❌ 禁止

  • 未指定模式时跳过模式选择
  • 自动判断模式
  • 直接开始写作
  • 直接调用 Subagent
  • 在已明确 A/B/C 时重复询问模式

✅ 必须

  • 没有模式时先输出上面的菜单并等待 A/B/C
  • 已有明确模式时直接进入下一步

第二条规则:使用 Subagent 执行任务

用户选择模式后,根据模式调用对应的 Subagent。

第三条规则:风格必须显式确认,禁止代选

  • Stage 1 的 writing-clarifier 必须列出 .claude/styles/ 中的可用风格。
  • 用户必须明确回复某个风格名,或明确回复 无指定风格
  • 只要风格是空的、待定的、模糊的,或者来自模型自行推断,就禁止进入 Stage 1.5 及后续任何写作阶段。
  • “你来定”“你随便选”“按你判断”都不算确认,必须继续追问直到拿到明确选择。
  • 如果用户明确选择 无指定风格,才允许继续;这要被视为用户决策,不是系统默认。
  • 01_theme.md 必须写入 风格确认状态:用户已确认;Stage 6 会用语义门禁读取它,而不是只检查文件非空。

第四条规则:v2 协议是唯一机器契约源

  • 工作流文件契约以 .claude/workflows/collab_v2.json 为准。
  • 本文件负责解释流程和交互卡点,不再手工维护第二套文件命名协议。
  • 活跃 agent、README、articles/README.md 禁止继续写入旧案例库、旧共情地图这类 legacy 产物名。
  • 历史 articles/** 样本允许保留 legacy 名称,但不得作为新流程模板继续复制。

Subagent 调用语法

使用 [subagent-name] 子代理来 [任务描述]。
[详细参数]

重要:具体阶段顺序、输入输出文件名、活跃 Subagent 以 .claude/workflows/collab_v2.json 为准。
本文件只保留入口规则、模式路由、停机卡点和收尾例外,不再复制维护第二套阶段清单。

调度规则

  1. 必须使用 Agent 工具调用 Subagent,不能只在文字里说“使用 xxx 子代理”。
  2. 每次调用前,先读取 .claude/workflows/collab_v2.json,确认当前 Stage 对应的 agent、inputs、outputs。
  3. prompt 里只传当前阶段必需的上下文,不要把整条工作流历史一股脑塞进去。
  4. 轻量模式只走最短链路;协作模式严格按 collab_v2.json 的活跃 stages 推进;选题模式完成后再切回协作模式 Stage 1。
  5. 只要当前 Stage 在 collab_v2.json 里声明了具体 outputs,就必须在展示“✅ Stage 完成”之前运行产物校验。01_theme.md02_evidence_ledger.json04_title.md05c_opening_hook.md 还必须通过语义门禁;只有尚待用户选择的标题候选池允许显式使用 --presence-only。禁止把“子代理口头说已保存”当作完成。

最小调用模板

使用 Agent 工具,参数如下:
- description: "[当前阶段任务]"
- prompt: "使用 [subagent-name] 子代理来 [任务描述]。\n项目名称:[项目名]\n请先读取 [当前阶段必需文件]"
- subagent_type: "[subagent-name]"

轻量模式(A)流程

  • 固定入口:writing-clarifier
  • 固定主写:writing-executor
  • 固定可选收尾:editor-review
  • 不进入协作模式的中间生产链,不生成完整多阶段产物树
  • 唯一输入契约是 collab_v2.json -> modes.A:Stage 6 只要求 01_theme.md,不得套用模式 B 的完整门禁。
  • 调用主写前执行:
python "scripts/verify_required_files.py" --project "[项目名]" --workflow ".claude/workflows/collab_v2.json" --stage 6 --mode A
  • 调用 writing-executor 时必须在 prompt 中写明 工作流模式:A;没有证据账本时,轻量稿不得引入用户素材之外的可核查外部事实。

协作模式(B)流程

  • 必须从 .claude/workflows/collab_v2.json 读取活跃 stages,再逐阶段调度。
  • Stage 1 创建项目目录并保存 01_theme.md 后,必须立即执行 Stage 0 memory-loader,生成 00_memory_packet.md,然后才能进入 Stage 1.5。因为 Stage 0 需要项目名和项目目录,实际执行顺序是 Stage 1 → Stage 0 → Stage 1.5。
  • 你负责的是:
    • 选对当前 Stage 的 Subagent
    • 在强制停机点停住
    • 在 Stage 10、10.5、11、12、12.5、13 这些收尾环节执行例外规则
  • 你不再手工维护各阶段文件名和输入输出,那是 collab_v2.json 的职责。

选题模式(C)流程

  • 选题模式的阶段、输入输出和交接规则必须从 collab_v2.json -> modes.C.stagesmodes.C.handoff 读取,禁止只靠本文件的文字描述自行编排。
  • Stage 0a 前先询问领域和目标读者;候选与验证报告都必须写入 articles/_topic_pool/,供查重和后续复盘。
  • Stage 0b 验证通过后,按 modes.C.handoff 立即切入协作模式 Stage 1,不要另起一套自定义流程。

进度展示

默认情况下,每完成一个 Stage,输出如下界面并等待回复:

═══════════════════════════════════════════════════
✅ Stage X 完成:[阶段名称]
═══════════════════════════════════════════════════

【产物】:articles/[项目名]/[文件名]
【摘要】:[关键信息]

📋 进度:Stage [X] 已完成,等待用户指令

请回复继续指令:

🚨 强制中断指令(至关重要): 输出这个界面后,你必须立刻停止回答(Yield/Stop),绝对禁止在同一轮对话中连带调用下一个 Subagent。你必须等待用户回复(如:“继续”、“同意”、“需要修改”)之后,才能往下执行。这是确保交互式写作的核心设定。

唯一例外以 collab_v2.json -> interaction_policy.automatic_transitions 为准:用户批准 Stage 9 后自动进入 10;Humanizer 完成后进入 Stage 11 配图选择;Stage 11 的 Y/N 和可选配图处理完成后进入 10.5;事实核查通过后进入 12;Stage 12 产物验证通过后展示 Stage 12.5 选择;Stage 12.5 的选择及可选导出处理完成后自动进入 13。例外链中禁止插入通用“继续”确认,也不得跳过链上声明的用户选择。

特别注意以下必须彻底停机的确认卡点,绝不能跳过

  • Stage 1 完成后:必须向用户展示已确认的写作风格,并等待用户明确确认后,才能进入 Stage 1.5。风格未确认时禁止推进。
  • Stage 3 完成后:必须向用户展示大纲,等待用户批准或提出修改。
  • Stage 5.5 完成后:必须向用户展示 A-H 全部 8 个候选标题 和前 3 推荐排序;04_title.md 必须已真实落盘,等待用户选择。
  • Stage 5.8 完成后:抛出 3 款极道开头(暴击/撕裂/冷眼),必须明确等待用户确认选用哪款(A/B/C)。
  • Stage 7 完成后:主编给出评审意见后,必须明确等待用户确认:“是否同意按此建议修改草稿(产出 v2),还是直接过?”
  • Stage 9 完成后:给用户提供 A/B/C/D 四个选项;D 是返回 Stage 5.5 重新锁定标题,必须重新执行 Stage 9。
  • Stage 11 完成前:Humanizer 完成后必须询问是否配图(Y/N);选择 Y 时还要等待用户确认配图策划,不能直接生成。
  • Stage 10.5 完成前:配图选择处理完成后,事实核查必须输出 fact_claims.jsonfact_check_report.md。如果存在红色问题,禁止进入 Stage 12,必须等待用户处理事实风险。
  • Stage 12.5 完成前:必须明确等待用户选择是否导出 HTML,以及使用哪一套默认版式(A/B/C/D/N)。
  • Stage 13 完成前:禁止输出“完整流程回顾”“全部流程完成”之类总结。Stage 13 始终执行;即使没有版本差异,也要由 edit-diff-learner 落盘跳过原因。

Stage 6 前置门禁(模式 B)

在调用 writing-executor 之前,必须先执行:

python "scripts/verify_required_files.py" --project "[项目名]" --workflow ".claude/workflows/collab_v2.json" --stage 6 --mode B
  • 如果返回 PASS:才允许进入 Stage 6。
  • 如果返回 FAIL:必须停止并明确指出缺失、格式损坏或未确认的是哪个文件,退回对应前序 Stage 处理。

校验器必须读取 JSON 中 Stage 6 的全部 inputs,不能在说明文档或命令中手写一份缩减清单。禁止在缺少任一契约输入时继续写初稿。

Stage 10: 🤖 强制去AI味处理(Humanizer)

Stage 9 测试得到用户确认放行后,将自动跨入 Stage 10。你必须主动说明并立即执行:

📝 现在自动进入 Stage 10:去AI味处理

我将使用 Humanizer 专家对文章进行深度优化...
正在处理...

调用 Humanizer 前先按机器契约验证其输入(其中 [latest_body_file]run_manifest.json 解析):

python "scripts/verify_required_files.py" --project "[项目名]" --workflow ".claude/workflows/collab_v2.json" --stage 10 --mode B

验证失败必须停止,不能让 Humanizer 在缺少记忆包、事实边界或明确正文版本时运行。

然后立即调用 humanizer 子代理,此处无需等待确认。

Humanizer 返回后,下一步必须进入 Stage 11 的配图选择。禁止直接生成 _clean.txt、跳过最终事实核查或宣布流程完成。

Stage 11: 🎨 配图工坊 (Article Illustrator)

Humanizer 完成后、最终事实核查之前,必须询问用户:

📝 文本已定稿。

🤔 想要来点视觉冲击力吗?
我是 Article Illustrator (配图师),我可以:
1. 分析文章情感,设计视觉风格 
2. 自动生成 3-5 张高质量配图并插入

请回复:
Y - 是,请为文章配图
N - 否,纯文字即可

然后再次中断(Yield),等待用户回复 Y/N。

  • 如果用户回复 Y:调用 article-illustrator 子代理,并按其两回合协议先输出配图策划方案。
  • 如果用户回复 N:明确记录“跳过配图”,保持现有 latest_body_file
  • 选择 Y 时,配图必须写入新的 draft_vN_illustrated.md 并更新 run_manifest.json;禁止覆盖 Humanizer 原稿。
  • 无论是否配图,选择处理完成后都自动进入 Stage 10.5。配图完成后必须以 latest_body_file 指向的最终 Markdown 做事实核查,不能沿用配图前正文的哈希。

Stage 10.5: 🔎 最终事实核查闸门(Fact Checker)

Stage 11 处理完成后,必须自动调用 fact-checker,不需要额外询问用户。

调用前先确认:

python "scripts/verify_required_files.py" --project "[项目名]" --workflow ".claude/workflows/collab_v2.json" --stage 10.5 --mode B

调用方式:

使用 fact-checker 子代理来核查最终稿事实。
项目名称:[项目名]
请读取 run_manifest.json、02_evidence_ledger.json、04_title.md 和 latest_body_file。
如果已配图,核查对象必须是配图完成后的正文版本。

硬规则:

  • fact-checker 必须输出 fact_claims.jsonfact_check_report.md
  • 只有 fact_check_status=passed,且正文文件/哈希和 04_title.md 文件/哈希都与本轮核查记录一致,才允许进入 Stage 12。
  • 如果存在 CONTRADICTEDBROKEN_LINKNEEDS_USER_SOURCE 或红色 UNSUPPORTED,必须停止。
  • 红色问题未处理前,禁止进入 Stage 12,禁止生成 _clean.txt、HTML 或完整流程回顾。
  • 事实核查处理最终锁定标题和最终正文,不检查候选标题或 _notes.md 里的内部备注。

Stage 12: 📤 终极收尾动作(生成排版纯净版)

进入 Stage 12 前必须确认 Stage 10.5 已通过。若 fact_check_status 不是 passed,或记录的正文、锁定标题任一文件 / SHA-256 与当前内容不一致,禁止生成 _clean.txt

纯净版 _clean.txt 统一由 auto_clean_hook.py 生成。该脚本会再次检查事实状态,以及正文和锁定标题的文件名、SHA-256 绑定;任一项不匹配时必须拒绝落盘。 优先来源:

  1. --project / Hook 事件明确指定项目后,该项目 run_manifest.json -> clean_source_file
  2. Hook 事件里显式传入、且位于当前工作区 articles/ 下的正文文件路径

正常工作流禁止扫描所有项目并选择“最近修改”的正文。旧兼容回退仅能由人工排障时显式传入 --legacy-fallback,不得写入自动 Hook。

Stage 10.5 通过后,由导演显式调用门禁脚本:

python "scripts/auto_clean_hook.py" --project "[项目名]"

禁止直接调用 generate_clean.py 绕过事实门禁。Stage 12 完成前必须确认 _clean.txt 文件真实存在。若不存在,禁止进入 Stage 12.5 或输出最终总结。

Stage 12.5: 📄 HTML 导出(可选)

_clean.txt 生成完成后,必须询问用户是否额外导出 .html 文件:

📄 纯文本终稿已生成。

是否额外导出一份 HTML 文件?

可选版式:
A - 经典正文
B - 精致长文
C - 极简评论
D - 现代杂志
N - 不导出

然后再次中断(Yield),等待用户回复 A / B / C / D / N。

  • 如果用户回复 N:跳过 HTML 导出,自动进入 Stage 13。
  • 如果用户回复 A/B/C/D:立即调用 html-exporter 子代理,并在 prompt 中传入 导演已确认版式:[选项]。版式映射为 A=defaultB=graceC=simpleD=modern
  • 版式只在导演这里询问一次;html-exporter 禁止再次询问。导出成功后自动进入 Stage 13。

HTML 导出约定

  • 该环节只负责在最终 Markdown 基础上额外生成 .html 文件。
  • _clean.txt 始终保留,不会被 HTML 替代。
  • 输出文件名恢复为单出口,例如:draft_v3_humanized.html
  • 第一版只开放 4 个默认版式,不开放自由描述式排版。
  • HTML 导出成功后,应更新 run_manifest.json,记录 latest_html_filehtml_source_filehtml_theme

文件约定(新增硬规则)

  • draft_v*.md 只允许放标题、元信息和正文,禁止写入任何内部备注、修改记录、自评清单。
  • 所有内部信息必须落到同名备注文件:draft_v*_notes.md
  • 任何扫描正文版本的动作,都必须显式排除 _notes.md
  • 活跃项目应维护 run_manifest.json,记录 latest_body_filelatest_notes_fileclean_source_fileworkflow_version

Stage 13: 🧠 写作复盘与经验提炼

Stage 12 和可选的 Stage 12.5 完成后,自动调用 edit-diff-learner进行复盘。Stage 13 始终执行,不以“是否发生修改”为调用前提。

硬规则:

  • edit-diff-learner 必须输出 articles/[项目名]/99_episode.md。如果缺少初稿、最终稿等于初稿或无可学习差异,也必须在文件和返回摘要里记录跳过原因。
  • Stage 13 完成后,才允许输出完整流程回顾和“全部流程完成”。
🧠 Stage 13 完成:写作复盘与经验提炼
✅ 全部流程完成!
📄 纯净版:articles/[项目名]/[正文文件名]_clean.txt
🧠 复盘报告:articles/[项目名]/99_episode.md

可选 Stage 14:发布后表现复盘

正常工作流的终点仍是 Stage 13。只有用户明确提出“记录发布数据”“复盘上一篇数据”等请求时,才读取 collab_v2.json -> post_publish_stages 并调用 performance-review

  • 原始数据必须通过 record_publish_metrics.py 追加到 publication_metrics.jsonl,不得写入或覆盖 run_manifest.json
  • 必须记录发布平台、观察窗口、流量来源,以及实际发布标题/正文/封面版本。
  • 单篇数据只允许产生观察和待验证假设;禁止直接回写稳定记忆或声称某个标题、开头造成了结果。
  • Stage 14 是独立的发布后入口,不加入 B 模式自动阶段序列,也不改变 terminal_stage=13

核心规则总结

  1. 先确定模式:未指定时询问 A/B/C;已明确时直接接受,不重复询问。
  2. 禁止直接写作 必须借助子代理。
  3. 风格必须由用户显式确认:未确认风格前,禁止进入任何写作或改稿环节。
  4. 展示进度并在关键节点彻底停机:默认停机;只允许执行 interaction_policy.automatic_transitions 明确声明的自动链,链内的 Stage 11 和 12.5 用户选择仍必须等待。
  5. 每阶段产物落盘(保存到 articles/[项目名]/)
  6. 🧠 自动复盘:结束后比对版本间的差异学习。

Subagent 清单

协作模式(B)中可调用的所有 subagent:

| Subagent | 用途 | 调用时机 | |----------|------|----------| | topic-generator | 生成候选选题 | 选题模式(C)第一步 | | topic-research | 验证选题价值 | 选题模式(C)第二步 | | writing-clarifier | 澄清写作需求 | Stage 1 | | position-engine | 设定文章立场 | Stage 1.5 | | research-expert | 挖掘微观细节 | Stage 2 | | outline-architect | 设计文章结构 | Stage 3 | | empathy-designer | 设计分享动机 | Stage 4 | | concretizer | 具象化抽象概念 | Stage 5 | | title-designer | 设计标题 | Stage 5.5 | | opening-tournament | 生成开头方案 | Stage 5.8 | | writing-executor | 执行写作 | Stage 6 | | editor-review | 主编审稿 | Stage 7 | | pre-publish-review | 发布前评审 | Stage 8 | | wechat-reader-test | 社交生态测试 | Stage 9 | | humanizer | 去AI味处理 | Stage 10 | | fact-checker | 事实核查闸门 | Stage 10.5 | | article-illustrator | 配图工坊 | Stage 11 | | html-exporter | HTML导出 | Stage 12.5 | | edit-diff-learner | 写作复盘 | Stage 13 | | performance-review | 发布后真实数据复盘 | 可选 Stage 14(仅用户明确触发) |

具体阶段顺序、输入输出文件名以 .claude/workflows/collab_v2.json 为准。