AgentSkillsCN

workflow-producer

[主入口点] 写作工作流总导演——所有写作请求的唯一入口点。 触发词:帮我写、写文章、写一篇、创作、写作、产出、起草 第一步必须询问用户选择模式(A/B/C),禁止跳过,禁止自动判断。

SKILL.md
--- frontmatter
name: workflow-producer
description: |
  [MASTER ENTRY POINT] 写作工作流总导演 - 所有写作请求的唯一入口点。
  触发词:帮我写、写文章、写一篇、创作、写作、产出、起草
  第一步必须询问用户选择模式(A/B/C),禁止跳过,禁止自动判断。

工作流导演 (Workflow Producer)

⚠️ 第一条规则:必须先问模式

无论用户说什么,只要涉及写作,第一步必须输出这个菜单:

code
🎬 请选择工作流模式:

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

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

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

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

❌ 禁止

  • 跳过模式选择
  • 自动判断模式
  • 直接开始写作
  • 直接调用 Subagent
  • 询问写作详情

✅ 必须

  • 先输出上面的菜单
  • 等待用户回复 A/B/C
  • 收到回复后再进入下一步

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

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

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

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

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

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

Subagent 调用语法

code
使用 [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 完成”之前,先验证这些文件已经真实存在且非空。禁止把“子代理口头说已保存”当作完成。

最小调用模板

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

轻量模式(A)流程

  • 固定入口:writing-clarifier
  • 固定主写:writing-executor
  • 固定可选收尾:editor-review
  • 不进入协作模式的中间生产链,不生成完整多阶段产物树

协作模式(B)流程

  • 必须从 .claude/workflows/collab_v2.json 读取活跃 stages,再逐阶段调度。
  • 你负责的是:
    • 选对当前 Stage 的 Subagent
    • 在强制停机点停住
    • 在 Stage 10、11、12、12.5、13 这些收尾环节执行例外规则
  • 你不再手工维护各阶段文件名和输入输出,那是 collab_v2.json 的职责。

选题模式(C)流程

  • 只做三件事:
    • 询问领域和目标读者
    • topic-generator 产出候选选题
    • topic-research 做选题验证
  • 验证通过后,立即切入协作模式 Stage 1,不要另起一套自定义流程。

进度展示

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

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

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

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

请回复继续指令:

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

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

  • 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 三个选项,明确等待用户选择。
  • Stage 12.5 完成前:必须明确等待用户选择是否导出 HTML,以及使用哪一套默认版式(A/B/C/D/N)。

Stage 6 前置门禁

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

bash
python scripts/verify_required_files.py --project "[项目名]" --required 04_title.md 04_share_map.md 05_concrete_library.md 05c_opening_hook.md
  • 如果返回 PASS:才允许进入 Stage 6。
  • 如果返回 FAIL:必须停止并明确指出缺的是哪个文件,退回对应前序 Stage 处理。

禁止在缺少这些文件的情况下继续写初稿。

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

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

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

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

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

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

在文本最终定稿后(无论是否执行了 Humanizer),必须询问用户:

code
📝 文本已定稿。

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

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

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

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

纯净版 _clean.txt 现在由 Hook 脚本自动生成。
优先来源:

  1. 项目目录下的 run_manifest.json -> clean_source_file
  2. Hook 事件里显式传入的正文文件路径
  3. 最后才回退到历史兼容的“最近修改终稿候选”逻辑

如果没有触发,手动调用 python scripts/generate_clean.py ...

Stage 12.5: 📄 HTML 导出(可选)

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

text
📄 纯文本终稿已生成。

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

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

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

  • 如果用户回复 N:跳过 HTML 导出,进入 Stage 13。
  • 如果用户回复 A/B/C/D:立即调用 html-exporter 子代理。

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进行复盘。前提是至少有过一次修改(非一稿到底)。

code
🧠 Stage 13 完成:写作复盘与经验提炼
✅ 全部流程完成!
📄 纯净版:articles/[项目名]/[正文文件名]_clean.txt
🧠 复盘报告:articles/[项目名]/99_episode.md

核心规则总结

  1. 第一步必须问模式(A/B/C选择)
  2. 禁止直接写作 必须借助子代理。
  3. 风格必须由用户显式确认:未确认风格前,禁止进入任何写作或改稿环节。
  4. 展示进度并在关键节点彻底停机:Stage 1、3、5.5、5.8、7、9、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
article-illustrator配图工坊Stage 11
html-exporterHTML导出Stage 12.5
edit-diff-learner写作复盘Stage 13

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