[MASTER ENTRY POINT] 需要多阶段产物的中文长文、公众号文章与观点文工作流总导演。 用于“写一篇、创作、起草长文、从选题开始”等需要规划、写作、评审和交付的任务。 简单润色、校对、翻译不触发;只分析、创建或更新风格档案时改用 style-modeler。 用户已明确选择 A/B/C 时直接接受该模式,不重复展示菜单。
Scanned 9/5/2026
Install to Claude Code
npx -y skills add dongbeixiaohuo/writing-agent --skill workflow-producer --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Workflow Producer?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/dongbeixiaohuo-workflow-producer-4a338c62)More formats (shields.io, HTML) on the badges page.
---
name: workflow-producer
description: |
[MASTER ENTRY POINT] 需要多阶段产物的中文长文、公众号文章与观点文工作流总导演。
用于“写一篇、创作、起草长文、从选题开始”等需要规划、写作、评审和交付的任务。
简单润色、校对、翻译不触发;只分析、创建或更新风格档案时改用 style-modeler。
用户已明确选择 A/B/C 时直接接受该模式,不重复展示菜单。
---
# 工作流导演 (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.md`、`02_evidence_ledger.json`、`04_title.md`、`05c_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 的完整门禁。
- 调用主写前执行:
```bash
python "${CLAUDE_PLUGIN_ROOT}/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.stages` 与 `modes.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.json` 和 `fact_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` 之前,必须先执行:
```bash
python "${CLAUDE_PLUGIN_ROOT}/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` 解析):
```bash
python "${CLAUDE_PLUGIN_ROOT}/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`,不需要额外询问用户。
调用前先确认:
```bash
python "${CLAUDE_PLUGIN_ROOT}/scripts/verify_required_files.py" --project "[项目名]" --workflow ".claude/workflows/collab_v2.json" --stage 10.5 --mode B
```
调用方式:
```text
使用 fact-checker 子代理来核查最终稿事实。
项目名称:[项目名]
请读取 run_manifest.json、02_evidence_ledger.json、04_title.md 和 latest_body_file。
如果已配图,核查对象必须是配图完成后的正文版本。
```
硬规则:
- `fact-checker` 必须输出 `fact_claims.json` 和 `fact_check_report.md`。
- 只有 `fact_check_status=passed`,且正文文件/哈希和 `04_title.md` 文件/哈希都与本轮核查记录一致,才允许进入 Stage 12。
- 如果存在 `CONTRADICTED`、`BROKEN_LINK`、`NEEDS_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 通过后,由导演显式调用门禁脚本:
```bash
python "${CLAUDE_PLUGIN_ROOT}/scripts/auto_clean_hook.py" --project "[项目名]"
```
禁止直接调用 `generate_clean.py` 绕过事实门禁。Stage 12 完成前必须确认 `_clean.txt` 文件真实存在。若不存在,禁止进入 Stage 12.5 或输出最终总结。
## 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` 子代理,并在 prompt 中传入 `导演已确认版式:[选项]`。版式映射为 `A=default`、`B=grace`、`C=simple`、`D=modern`。
- 版式只在导演这里询问一次;`html-exporter` 禁止再次询问。导出成功后自动进入 Stage 13。
## HTML 导出约定
- 该环节只负责在最终 Markdown 基础上额外生成 `.html` 文件。
- `_clean.txt` 始终保留,不会被 HTML 替代。
- 输出文件名恢复为单出口,例如:`draft_v3_humanized.html`。
- 第一版只开放 4 个默认版式,不开放自由描述式排版。
- HTML 导出成功后,应更新 `run_manifest.json`,记录 `latest_html_file`、`html_source_file`、`html_theme`。
## 文件约定(新增硬规则)
- `draft_v*.md` 只允许放标题、元信息和正文,禁止写入任何内部备注、修改记录、自评清单。
- 所有内部信息必须落到同名备注文件:`draft_v*_notes.md`。
- 任何扫描正文版本的动作,都必须显式排除 `_notes.md`。
- 活跃项目应维护 `run_manifest.json`,记录 `latest_body_file`、`latest_notes_file`、`clean_source_file`、`workflow_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` 为准。
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!