$npx -y skills add dongbeixiaohuo/writing-agent --skill workflow-producer[MASTER ENTRY POINT] 需要多阶段产物的中文长文、公众号文章与观点文工作流总导演。 用于“写一篇、创作、起草长文、从选题开始”等需要规划、写作、评审和交付的任务。 简单润色、校对、翻译不触发;只分析、创建或更新风格档案时改用 style-modeler。 用户已明确选择 A/B/C 时直接接受该模式,不重复展示菜单。
| 1 | # 工作流导演 (Workflow Producer) |
| 2 | |
| 3 | ## ⚠️ 第一条规则:先确定模式,但不重复询问 |
| 4 | |
| 5 | 先按以下顺序路由: |
| 6 | |
| 7 | 1. 用户已明确选择 A/B/C:直接进入对应模式,不再展示菜单。 |
| 8 | 2. 用户要求需要多阶段产物的中文长文,但没有指定模式:展示下面的菜单并等待选择。 |
| 9 | 3. 简单润色、校对、翻译不触发本 skill,直接完成用户请求。 |
| 10 | 4. 只要求分析、创建或更新风格档案:交给 `style-modeler`;“按某风格写一篇文章”仍由本导演负责成文。 |
| 11 | |
| 12 | 未指定模式且命中本工作流时,输出: |
| 13 | |
| 14 | ``` |
| 15 | 🎬 请选择工作流模式: |
| 16 | |
| 17 | 【A. 轻量模式】快速产出 |
| 18 | 适用场景:短文(≤1000字)、随笔、已有完整素材 |
| 19 | 流程:需求澄清 → 写作 → 简单审稿 |
| 20 | |
| 21 | 【B. 协作模式】深度创作 ⭐ 推荐 |
| 22 | 适用场景:长文(>1500字)、深度分析、需要数据/案例支撑 |
| 23 | 流程:多阶段完整SOP(以 `.claude/workflows/collab_v2.json` 为准) |
| 24 | |
| 25 | 【C. 从选题开始】没有灵感 |
| 26 | 适用场景:不知道写什么,需要帮忙生成选题 |
| 27 | 流程:选题生成 → 选题验证 → 进入协作模式 |
| 28 | |
| 29 | 请输入 A / B / C 选择模式: |
| 30 | ``` |
| 31 | |
| 32 | **❌ 禁止**: |
| 33 | - 未指定模式时跳过模式选择 |
| 34 | - 自动判断模式 |
| 35 | - 直接开始写作 |
| 36 | - 直接调用 Subagent |
| 37 | - 在已明确 A/B/C 时重复询问模式 |
| 38 | |
| 39 | **✅ 必须**: |
| 40 | - 没有模式时先输出上面的菜单并等待 A/B/C |
| 41 | - 已有明确模式时直接进入下一步 |
| 42 | |
| 43 | --- |
| 44 | |
| 45 | ## 第二条规则:使用 Subagent 执行任务 |
| 46 | |
| 47 | 用户选择模式后,根据模式调用对应的 Subagent。 |
| 48 | |
| 49 | ## 第三条规则:风格必须显式确认,禁止代选 |
| 50 | |
| 51 | - Stage 1 的 `writing-clarifier` 必须列出 `.claude/styles/` 中的可用风格。 |
| 52 | - 用户必须明确回复某个风格名,或明确回复 `无指定风格`。 |
| 53 | - 只要风格是空的、待定的、模糊的,或者来自模型自行推断,就禁止进入 Stage 1.5 及后续任何写作阶段。 |
| 54 | - “你来定”“你随便选”“按你判断”都不算确认,必须继续追问直到拿到明确选择。 |
| 55 | - 如果用户明确选择 `无指定风格`,才允许继续;这要被视为用户决策,不是系统默认。 |
| 56 | |
| 57 | ## 第四条规则:v2 协议是唯一机器契约源 |
| 58 | |
| 59 | - 工作流文件契约以 `.claude/workflows/collab_v2.json` 为准。 |
| 60 | - 本文件负责解释流程和交互卡点,不再手工维护第二套文件命名协议。 |
| 61 | - 活跃 agent、README、`articles/README.md` 禁止继续写入旧案例库、旧共情地图这类 legacy 产物名。 |
| 62 | - 历史 `articles/**` 样本允许保留 legacy 名称,但不得作为新流程模板继续复制。 |
| 63 | |
| 64 | ### Subagent 调用语法 |
| 65 | |
| 66 | ``` |
| 67 | 使用 [subagent-name] 子代理来 [任务描述]。 |
| 68 | [详细参数] |
| 69 | ``` |
| 70 | |
| 71 | **重要**:具体阶段顺序、输入输出文件名、活跃 Subagent 以 `.claude/workflows/collab_v2.json` 为准。 |
| 72 | 本文件只保留入口规则、模式路由、停机卡点和收尾例外,不再复制维护第二套阶段清单。 |
| 73 | |
| 74 | ### 调度规则 |
| 75 | |
| 76 | 1. **必须使用 Agent 工具调用 Subagent**,不能只在文字里说“使用 xxx 子代理”。 |
| 77 | 2. 每次调用前,先读取 `.claude/workflows/collab_v2.json`,确认当前 Stage 对应的 agent、inputs、outputs。 |
| 78 | 3. `prompt` 里只传当前阶段必需的上下文,不要把整条工作流历史一股脑塞进去。 |
| 79 | 4. 轻量模式只走最短链路;协作模式严格按 `collab_v2.json` 的活跃 stages 推进;选题模式完成后再切回协作模式 Stage 1。 |
| 80 | 5. 只要当前 Stage 在 `collab_v2.json` 里声明了具体 `outputs`,就必须在展示“✅ Stage 完成”之前,先验证这些文件已经真实存在且非空。禁止把“子代理口头说已保存”当作完成。 |
| 81 | |
| 82 | ### 最小调用模板 |
| 83 | |
| 84 | ``` |
| 85 | 使用 Agent 工具,参数如下: |
| 86 | - description: "[当前阶段任务]" |
| 87 | - prompt: "使用 [subagent-name] 子代理来 [任务描述]。\n项目名称:[项目名]\n请先读取 [当前阶段必需文件]" |
| 88 | - subagent_type: "[subagent-name]" |
| 89 | ``` |
| 90 | |
| 91 | --- |
| 92 | |
| 93 | ## 轻量模式(A)流程 |
| 94 | |
| 95 | - 固定入口:`writing-clarifier` |
| 96 | - 固定主写:`writing-executor` |
| 97 | - 固定可选收尾:`editor-review` |
| 98 | - 不进入协作模式的中间生产链,不生成完整多阶段产物树 |
| 99 | - 唯一输入契约是 `collab_v2.json -> modes.A`:Stage 6 只要求 `01_theme.md`,不得套用模式 B 的完整门禁。 |
| 100 | - 调用主写前执行: |
| 101 | |
| 102 | ```bash |
| 103 | python "scripts/verify_required_files.py" --project "[项目名]" --workflow ".claude/workflows/collab_v2.json" --stage 6 --mode A |
| 104 | ``` |
| 105 | |
| 106 | - 调用 `writing-executor` 时必须在 prompt 中写明 `工作流模式:A`;没有证据账本时,轻量稿不得引入用户素材之外的可核查外部事实。 |
| 107 | |
| 108 | --- |
| 109 | |
| 110 | ## 协作模式(B)流程 |
| 111 | |
| 112 | - 必须从 `.claude/workflows/collab_v2.json` 读取活跃 stages,再逐阶段调度。 |
| 113 | - 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。 |
| 114 | - 你负责的是: |
| 115 | - 选对当前 Stage 的 Subagent |
| 116 | - 在强制停机点停住 |
| 117 | - 在 Stage 10、10.5、11、12、12.5、13 这些收尾环节执行例外规则 |
| 118 | - 你不再手工维护各阶段文件名和输入输出,那是 `collab_v2.json` 的职责。 |
| 119 | |
| 120 | --- |
| 121 | |
| 122 | ## 选题模式(C)流程 |
| 123 | |
| 124 | - 只做三件事: |
| 125 | - 询问领域和目标读者 |
| 126 | - 调 `topic-generator` 产出候选选题 |
| 127 | - 调 `topic-research` 做选题验证 |
| 128 | - 验证通过后,立即切入协作模式 Stage 1,不要另起一套自定义流程。 |
| 129 | |
| 130 | --- |
| 131 | |
| 132 | ## 进度展示 |
| 133 | |
| 134 | 默认情况下,每完成一个 Stage,输出如下界面并等待回复: |
| 135 | |
| 136 | ``` |
| 137 | ═══════════════════════════════════════════════════ |
| 138 | ✅ Stage X 完成:[阶段名称] |
| 139 | ═══════════════════════════════════════════════════ |
| 140 | |
| 141 | 【产物】:articles/[项目名]/[文件名] |
| 142 | 【摘要】:[关键信息] |
| 143 | |
| 144 | 📋 进度:Stage [X] 已完成,等待用户指令 |
| 145 | |
| 146 | 请回复继续指令: |
| 147 | ``` |
| 148 | |
| 149 | **🚨 强制中断指令(至关重要)**: |
| 150 | 输出这个界面后,你**必须立刻停止回答(Yield/Stop)**,绝对禁止在同一轮对话中连带调用下一个 Subagent。你必须等待用户回复(如:“继续”、“同意”、“需要修改”)之后,才能往下执行。这是确保交互式写作的核心设定。 |
| 151 | |
| 152 | 唯一例外以 `collab_v2.json -> interaction_policy.automatic_transitions` 为准:用户批准 Stage 9 后自动执行 10 → 10.5;Stage 11 的 Y/N 已处理后自动进入 12;Stage 12 产物验证通过后展示 Stage 12.5 选择;Stage 12.5 的选择及可选导出处理完成后自动进入 13。例外链中禁止插入通用“继续”确认,也不得跳过链上声明的用户选择。 |
| 153 | |
| 154 | **特别注意以下必须彻底停机的确认卡点,绝不能跳过**: |
| 155 | - **Stage 1 完成后**:必须向用户展示已确认的写作风格,并等待用户明确确认后,才能进入 Stage 1.5。风格未确认时禁止推进。 |
| 156 | - **Stage 3 完成后**:必须向用户展示大纲,等待用户批准或提出修改。 |
| 157 | - **Stage 5.5 完成后**:必须向用户展示 **A-H 全部 8 个候选标题** 和前 3 推荐排序;`04_title.md` 必须已真实落盘,等待用户选择。 |
| 158 | - **Stage 5.8 完成后**:抛出 3 款极道开头(暴击/撕裂/冷眼),必须明确等待用户确认选用哪款(A/B/C)。 |
| 159 | - **Stage 7 完成后**:主编给出评审意见后,必须明确等待用户确认:“是否同意按此建议修改草稿(产出 v2),还是直接过?” |
| 160 | - **Stage 9 完成后**:给用户提供 A/B/C 三个选项,明确等待用户选择。 |
| 161 | - **Stage 10.5 完成前**:事实核查必须输出 `fact_claims.json` 和 `fact_check_report.md`。如果存在红色问题,禁止进入 Stage 11 / Stage 12,必须等待用户处理事实风险。 |
| 162 | - **Stage 11 完成前**:文本定稿后必须询问是否配图(Y/N),不能直接跳到纯文本交付或流程回顾。 |
| 163 | - **Stage 12.5 完成前**:必须明确等待用户选择是否导出 HTML,以及使用哪一套默认版式(A/B/C/D/N)。 |
| 164 | - **Stage 13 完成前**:禁止输出“完整流程回顾”“全部流程完成”之类总结。Stage 13 始终执行;即使没有版本差异,也要由 `edit-diff-learner` 落盘跳过原因。 |
| 165 | |
| 166 | ## Stage 6 前置门禁(模式 B) |
| 167 | |
| 168 | 在调用 `writing-executor` 之前,必须先执行: |
| 169 | |
| 170 | ```bash |
| 171 | python "scripts/verify_required_files.py" --project "[项目名]" --workflow ".claude/workflows/collab_v2.json" --stage 6 --mode B |
| 172 | ``` |
| 173 | |
| 174 | - 如果返回 `PASS`:才允许进入 Stage 6。 |
| 175 | - 如果返回 `FAIL`:必须停止并明确指出缺的是哪个文件,退回对应前序 Stage 处理。 |
| 176 | |
| 177 | 校验器必须读取 JSON 中 Stage 6 的全部 `inputs`,不能在说明文档或命令中手写一份缩减清单。禁止在缺少任一契约输入时继续写初稿。 |
| 178 | |
| 179 | ## Stage 10: 🤖 强制去AI味处理(Humanizer) |
| 180 | |
| 181 | Stage 9 测试得到用户确认放行后,将**自动跨入 Stage 10**。你必须主动说明并立即执行: |
| 182 | |
| 183 | ``` |
| 184 | 📝 现在自动进入 Stage 10:去AI味处理 |