文档联合创作工作流
此技能提供了一个结构化工作流,用于引导用户完成协作文档创建。作为主动指南,带领用户经历三个阶段:上下文收集、提炼与结构、以及读者测试。
何时提供此工作流
触发条件:
- 用户提到编写文档:“写一个文档”、“起草提案”、“创建规范”、“写报告”
- 用户提到特定文档类型:“PRD”、“设计文档”、“决策文档”、“RFC”
- 用户似乎要开始一项重要的写作任务
初始提议: 向用户提议一个结构化工作流,用于联合创作文档。解释三个阶段:
- 上下文收集:用户提供所有相关上下文,同时Claude提出澄清性问题
- 提炼与结构:通过头脑风暴和编辑逐节迭代构建
- 读者测试:用一个全新的Claude(无上下文)测试文档,在他人阅读之前发现盲点
解释这种方法有助于确保文档在他人阅读时(包括将其粘贴到Claude中时)能正常工作。询问他们是否想尝试此工作流,还是更喜欢自由形式工作。
如果用户拒绝,则自由形式工作。如果用户接受,则进入阶段一。
阶段一:上下文收集
目标: 缩小用户所知与Claude所知之间的差距,以便后续提供智能指导。
初始问题
首先向用户询问文档的元上下文:
- 这是什么类型的文档?(例如:技术规范、决策文档、提案)
- 主要目标读者是谁?
- 读者阅读后期望产生什么影响?
- 是否有模板或特定格式需要遵循?
- 还有其他约束或上下文需要了解吗?
告知他们可以速记回答,或者以最适合他们的方式转储信息。
如果用户提供了模板或提到了文档类型:
- 询问他们是否有模板文档可分享
- 如果他们提供了共享文档的链接,使用相应的集成工具抓取
- 如果他们提供了文件,则读取
如果用户提到要编辑现有的共享文档:
- 使用相应的集成工具读取当前状态
- 检查是否有缺少替代文本的图像
- 如果存在没有替代文本的图像,解释当其他人使用Claude理解文档时,Claude将无法看到它们。询问是否要生成替代文本。如果是,要求他们将每个图像粘贴到聊天中以便生成描述性替代文本。
信息转储
初始问题回答完毕后,鼓励用户转储他们拥有的所有上下文。请求以下信息:
- 项目/问题的背景
- 相关的团队讨论或共享文档
- 为何不使用替代方案
- 组织背景(团队动态、过去事件、政治)
- 时间压力或约束
- 技术架构或依赖
- 利益相关者担忧
建议他们不要担心组织内容——尽管全盘托出。提供多种提供上下文的方式:
- 意识流转储
- 指向团队频道或话题供读取
- 链接到共享文档
如果有集成可用(例如Slack、Teams、Google Drive、SharePoint或其他MCP服务器),提到可以使用它们直接拉入上下文。
如果未检测到集成且在Claude.ai或Claude应用中: 建议他们可以在Claude设置中启用连接器,以便从消息应用和文档存储中拉取上下文。
告知他们一旦完成初始转储,将会提出澄清性问题。
在上下文收集期间:
-
如果用户提到团队频道或共享文档:
- 如果集成可用:告知现在将读取内容,然后使用相应的集成工具
- 如果集成不可用:说明无法访问。建议他们在Claude设置中启用连接器,或者直接粘贴相关内容。
-
如果用户提到未知的实体/项目:
- 询问是否应该搜索已连接的工具以了解更多
- 在用户确认之前等待再进行搜索
-
当用户提供上下文时,跟踪学到了什么以及还有什么不清楚
提出澄清性问题:
当用户表示已完成初始转储(或在提供大量上下文后),提出澄清性问题以确保理解:
根据上下文的空白处生成5-10个编号问题。
告知他们可以使用速记来回答(例如,“1: 是的,2: 见 #channel,3: 不,因为向后兼容”),链接到更多文档,指向要阅读的频道,或者继续信息转储。选择对他们最高效的方式。
退出条件: 当问题显示出理解时——即无需再解释基础知识就能询问边缘情况和权衡——上下文收集充分。
过渡: 询问他们是否还有更多上下文要提供,或者是否可以进入起草文档阶段。
如果用户想添加更多,让他们添加。准备好后,进入阶段二。
阶段二:提炼与结构
目标: 通过头脑风暴、筛选和迭代精炼逐节构建文档。
用户说明: 解释文档将逐节构建。对于每个章节:
- 将询问关于包含哪些内容的澄清性问题
- 将头脑风暴出5-20个选项
- 用户将指出保留/删除/合并哪些内容
- 将起草章节
- 通过精确编辑进行精炼
从未知因素最多的章节开始(通常是核心决策/提案),然后处理其余部分。
章节排序:
如果文档结构清晰: 询问他们想从哪个章节开始。
建议从未知因素最多的章节开始。对于决策文档,通常是核心提案。对于规范,通常是技术方案。摘要部分最好留到最后。
如果用户不知道需要哪些章节: 根据文档类型和模板,建议适合该文档类型的3-5个章节。
询问此结构是否可行,或者他们是否想调整。
结构确定后:
用所有章节的占位文本创建初始文档结构。
如果可以使用 artifacts:
使用 create_file 创建一个 artifact。这为Claude和用户都提供了一个工作框架。
告知他们将创建包含所有章节占位符的初始结构。
用所有章节标题和简短的占位文本(如“[待编写]”或“[内容在此]”)创建 artifact。
提供框架链接,并表示是时候填充每个章节了。
如果无法使用 artifacts:
在工作目录中创建一个 Markdown 文件。适当命名(例如 decision-doc.md、technical-spec.md)。
告知他们将创建包含所有章节占位符的初始结构。
用所有章节标题和占位文本创建文件。
确认文件名已创建,并表示是时候填充每个章节了。
对于每个章节:
步骤一:澄清性问题
宣布将开始处理 [章节名称] 章节。询问5-10个关于应包含内容的澄清性问题:
根据上下文和章节目的生成5-10个具体问题。
告知他们可以用速记回答,或者直接指出需要涵盖的重点。
步骤二:头脑风暴
对于 [章节名称] 章节,头脑风暴出5-20个可能包含的事项,具体取决于章节的复杂性。寻找:
- 可能被遗忘的共享上下文
- 尚未提到的角度或考虑因素
根据章节复杂性生成5-20个编号选项。最后,提供额外头脑风暴的选项。
步骤三:筛选
询问哪些要点应该保留、删除或合并。请求简要理由以帮助学习下一个章节的优先级。
提供示例:
- “保留1,4,7,9”
- “删除3(与1重复)”
- “删除6(读者已知)”
- “合并11和12”
如果用户给出自由形式反馈(例如“看起来不错”或“我大部分喜欢,但是……”)而不是编号选择,提取他们的偏好并继续。解析他们希望保留/删除/更改的内容并应用。
步骤四:空缺检查
根据他们选择的内容,询问 [章节名称] 章节是否缺少任何重要内容。
步骤五:起草
使用 str_replace 将此章节的占位文本替换为实际起草的内容。
宣布现在将根据用户选择的内容起草 [章节名称] 章节。
如果使用 artifacts: 起草后,提供 artifact 的链接。
请他们阅读并指出需要更改的地方。注意:具体有助于学习下一个章节。
如果使用文件(无 artifacts): 起草后,确认完成。
告知他们 [章节名称] 章节已在 [filename] 中起草。请他们阅读并指出需要更改的地方。注意:具体有助于学习下一个章节。
用户关键说明(起草第一个章节时包含): 提供一条说明:不要直接编辑文档,而是请他们指出需要更改的地方。这有助于学习他们风格以便后续章节。例如:“删除X要点——已由Y覆盖”或“使第三段更简洁”。
步骤六:迭代精炼
当用户提供反馈时:
- 使用
str_replace进行编辑(永远不要重新打印整个文档) - 如果使用 artifacts: 每次编辑后提供 artifact 链接
- 如果使用文件: 仅确认编辑完成
- 如果用户直接编辑文档并要求读取:在脑海中记下他们所做的更改,并在后续章节中记住(这显示了他们的偏好)
继续迭代直到用户对该章节满意。
质量检查
在连续3次迭代没有重大更改后,询问是否可以删除任何内容而不丢失重要信息。
章节完成后,确认 [章节名称] 已完成。询问是否准备好进入下一个章节。
对所有章节重复此过程。
接近完成
当接近完成(80%以上的章节完成)时,宣布打算重新阅读整个文档并检查:
- 各章节之间的流畅性和一致性
- 冗余或矛盾
- 任何感觉像“垃圾”或通用填充的内容
- 每个句子是否都有分量
读取整个文档并提供反馈。
当所有章节都起草并精炼完成时: 宣布所有章节已起草完毕。表明打算再整体审阅一次完整文档。
检查整体一致性、流畅性、完整性。
提供任何最终建议。
询问是否准备好进入读者测试,或者他们是否想进一步精炼其他内容。
阶段三:读者测试
目标: 使用一个全新的Claude(无上下文污染)测试文档,以验证其对读者有效。
用户说明: 解释现在将进行测试,以查看文档是否对读者有效。这可以捕捉盲点——作者觉得合理但可能让其他人困惑的内容。
测试方法
如果可以使用子代理(例如在Claude Code中):
直接执行测试,无需用户参与。
步骤一:预测读者问题
宣布打算预测读者在尝试发现此文档时可能提出的问题。
生成5-10个读者实际会问的问题。
步骤二:使用子代理测试
宣布将使用一个全新的Claude实例(无此对话的上下文)测试这些问题。
对于每个问题,仅用文档内容和该问题调用子代理。
总结Reader Claude对每个问题的回答正确/错误情况。
步骤三:运行额外检查
宣布将执行额外检查。
调用子代理检查歧义、错误假设、矛盾。
总结发现的任何问题。
步骤四:报告并修复
如果发现问题: 报告Reader Claude在特定问题上遇到困难。
列出具体问题。
表明打算修复这些空白。
回到有问题的章节进行精炼。
如果无法使用子代理(例如claude.ai网页界面):
用户需要手动进行测试。
步骤一:预测读者问题
询问人们尝试发现此文档时可能会问的问题。他们会向Claude.ai输入什么?
生成5-10个读者实际会问的问题。
步骤二:设置测试
提供测试说明:
- 打开一个新的Claude对话:https://claude.ai
- 粘贴或分享文档内容(如果使用启用了连接器的共享文档平台,则提供链接)
- 向Reader Claude询问生成的问题
对于每个问题,指示Reader Claude提供:
- 答案
- 是否有任何歧义或不清楚之处
- 文档假设读者已经具备哪些知识/上下文
检查Reader Claude是否给出正确答案或误解任何内容。
步骤三:额外检查
同时询问Reader Claude:
- “此文档中哪些内容对读者可能含糊不清或不清楚?”
- “此文档假设读者已经具备哪些知识或上下文?”
- “是否存在任何内部矛盾或不一致?”
步骤四:基于结果迭代
询问Reader Claude哪里出错或在哪里遇到困难。表明打算修复这些空白。
回到任何有问题的章节进行精炼。
退出条件(两种方法均适用)
当Reader Claude能够一致正确地回答问题,并且不再发现新的空白或歧义时,文档准备就绪。
最终审阅
当读者测试通过时: 宣布文档已通过Reader Claude测试。完成前:
- 建议他们自己进行最终通读——他们拥有此文档并对其质量负责
- 建议再次检查任何事实、链接或技术细节
- 请他们验证文档是否达到了他们想要的效果
询问他们是否准备好共享、提交审查,或进行任何最终更改。