| name | writing-team |
| description | 7 人 AI 写作团队编排。启动素材猎手、主笔、事实核查、风格审计、标题工匠协作完成长文创作。
触发场景:用户要求写自媒体长文、需要素材调研或事实核查、提到"用我的风格写"、"去 AI 味"、"多角度打磨"。
仅支持 Claude Code(依赖 Agent Teams 实验功能),不适用于 OpenClaw 等对话式 Agent。
不适用于语音录音整理(请用 voice-article skill)。
|
Writing Team
Step 0:环境检查 + 初始化
0.1 Agent 文件同步
检查 .claude/agents/ 下是否存在以下 5 个文件:
writing-researcher.md
writing-writer.md
writing-fact-checker.md
writing-voice-auditor.md
writing-title-crafter.md
同步规则:
- 文件不存在 → 从
{skill_dir}/references/ 复制
- 文件已存在 → 比较内容是否与
references/ 一致。如不一致,提示用户:
.claude/agents/writing-xxx.md 与 skill 最新版本不同,是否覆盖更新?(y/n)
- 如果
.claude/agents/ 目录不存在,先创建
0.2 环境变量检查
检查 CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS 是否已启用,两处都要查:
- 操作系统环境变量:
echo $CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS
~/.claude/settings.json 中的配置
任一处为 "1" 即可。如果都未开启,提示用户添加后再继续。
0.3 风格参考确认
如果用户未提供 $STYLE_REF 或 $TONE_REF,必须先向用户确认:
需要确认两个路径,方便素材猎手采集风格样本:
- 风格参考:有没有自己写过的文章可以做风格样本?(目录或文件路径,没有可跳过)
- 语气参考:有没有喜欢的幽默/语气素材?(目录或文件路径,没有可跳过)
用户确认后写入 Brief。跳过则标注"无,使用默认风格"。
0.4 初始化项目文件夹
{项目名}/
00-Brief.md ← 创作要求(含主题、受众、结构、风格标准、参考路径)
01-Context/ ← 素材报告
02-Drafts/ ← 草稿版本
03-Reviews/ ← 审核报告
撰写 00-Brief.md,使用以下模板,写完后请用户确认:
# 创作要求 (Brief)
## 主题
(一句话描述文章核心主题)
## 目标受众
(读者画像:职业、年龄段、关注点)
## 目标字数
(如:2000-3000 字。未指定则默认 2000-3000 字)
## 发布平台
(公众号 / 知乎 / 小红书 / 博客 / 其他)
## 结构要求
(如:总分总、故事线、问题-方案-结论,或留空由主笔决定)
## 风格标准
- [ ] 使用默认风格(口语化、短句、去 AI 味)
- [ ] 自定义风格:(描述)
## 风格参考路径
(文件或目录路径,无则留空)
## 语气参考路径
(文件或目录路径,无则留空)
## 特殊要求
(如:必须包含某个案例、避免提及某品牌、需要 CTA 等)
Step 1:素材采集(并行 Subagent x3)
必须使用自定义 agent 类型,不要用 general-purpose:
subagent_type: "writing-researcher"
run_in_background: true
三个猎手分别负责:
- 搜索项目笔记库中与主题相关的内容
- 搜索项目中相关的素材和引用
- 联网搜索最新资料和外部案例
产出:01-Context/research-1.md、research-2.md、research-3.md
等待全部完成后再进入 Step 2。
Step 2:创建团队 + 主笔写初稿
2.1 创建写作团队
TeamCreate → team_name: "writing-{项目名}"
2.2 主笔写初稿(Teammate)
subagent_type: "writing-writer"
team_name: "writing-{项目名}"
主笔阅读 Brief + 素材报告 + 风格参考,写出初稿 → 02-Drafts/v1.md
2.3 用户确认方向(检查点)
向用户展示 v1 的大纲和关键段落摘要,确认方向是否正确:
初稿已完成,请确认方向:
- 大纲:...
- 核心论点:...
- 是否继续进入审核?(y/调整方向)
用户确认后才进入 Step 3。 如果用户要求调整,主笔根据反馈修改后重新确认(最多 2 轮)。
Step 3:首轮审核(Teammate x2)
同时 spawn 事实核查员和风格审计员(持续参与,用 Teammate):
subagent_type: "writing-fact-checker"
team_name: "writing-{项目名}"
subagent_type: "writing-voice-auditor"
team_name: "writing-{项目名}"
两位审核员各自阅读 v1,产出首轮审核报告:
03-Reviews/fact-check.md
03-Reviews/voice-audit.md
等待两份审核报告都完成,进入迭代修改循环。
Step 4:迭代修改循环
本阶段是一个循环,主笔根据反馈修改,审核员按需介入,直到用户满意。
4.1 主笔修改
将审核报告发送给主笔(通过 SendMessage),根据反馈修改 → 02-Drafts/v{n}.md
4.2 审核员介入时机
审核员作为 Teammate 常驻团队,不是每次改动都审核。通过以下三种方式触发:
触发方式 A:自动触发(Lead 判断)
每当主笔产出新版本,Lead 判断本次修改的性质:
| 修改类型 | 示例 | 是否触发审核 |
|---|
| 重大修改 | 调整文章结构、新增/删除整段内容、更换核心论点 | 触发双审 |
| 中等修改 | 重写某个段落、替换案例、修改数据引用 | 触发对应审核员(事实变更→核查员,风格变更→审计员) |
| 轻微修改 | 措辞微调、修错别字、调整标点 | 不触发,直接进入下一轮 |
触发方式 B:用户触发
用户主动说「帮我审一下」「检查一下这版」「我改完了」→ 立即触发双审。
触发方式 C:终审触发
用户说「差不多了」「准备发布」「定稿」→ 强制触发一轮完整审核(无论之前审过多少次),作为发布前的最终质量门禁。
4.3 审核员复核流程
被触发时,通过 SendMessage 通知对应审核员阅读最新版本:
- 事实核查员:重点检查新增/修改的事实断言,确认之前标记的问题是否已修正
- 风格审计员:重点检查新增/修改的段落,确认 AI 味和风格偏离是否改善
各自更新审核报告(追加「第 N 轮复核」章节),通过 SendMessage 将反馈发给主笔。
4.4 循环退出条件
满足以下任一条件退出循环,进入 Step 5:
- 用户确认定稿:用户明确表示满意,终审通过
- 审核通过:两位审核员的最新报告均无重大问题(无「错误」或「存疑」断言,风格评分均 ≥ 7/10)
- 迭代上限:累计修改达到 5 轮(v1 不算,从 v2 开始计),强制退出并提醒用户
Step 5:标题打磨 + 汇总报告
5.1 标题打磨(Subagent)
subagent_type: "writing-title-crafter"
run_in_background: true
基于终稿 + Brief 产出 15 个候选标题 → 03-Reviews/titles.md
5.2 汇总报告
向用户展示:
- 终稿位置(
02-Drafts/v{n}.md)
- TOP 5 标题推荐
- 事实核查问题摘要(含各轮变化)
- 风格审计评分(含各轮变化)
- 迭代历史:共经历 N 轮修改,M 次审核
- 下一步建议(选标题、终审、补配图)
然后关闭所有 teammate(主笔、事实核查员、风格审计员),清理团队资源:
关闭所有 teammate → TeamDelete("writing-{项目名}")
关键规则
- 必须使用自定义 agent 类型,不要用
general-purpose 手写角色定义
- 一次性任务用 Subagent(素材采集、标题),需要多轮交互的用 Teammate(主笔、事实核查、风格审计)
- 所有产出必须落盘到项目文件夹
- 审核按需触发,不是每次改动都审,Lead 根据修改性质判断
- 审核必须并行,事实核查和风格审计同时跑
- tmux 模式:在 tmux 中 teammate 自动分屏,否则用 in-process 模式
- 团队用完必须清理:关闭所有 teammate → TeamDelete
- 迭代上限:用户确认方向最多 2 轮,修改循环最多 5 轮,防止死循环
- 团队名唯一:
team_name 使用 writing-{项目名},项目名不可重复