mcpField
T
tech-writer

tech-writer

github.com/marcioaltoe文档处理080 次安装1 天前更新
代码仓库

关于 tech-writer

用于撰写和编辑技术文档的技能,覆盖 PRD、技术规范、QA 材料及日常工程沟通,并按文档类型提供流程,区分源材料事实与协作提案。

主要功能

  1. 01覆盖规划、设计、QA 和团队文档
  2. 02按文档类型选择专用指南
  3. 03确保主张有源材料依据
  4. 04区分转录事实与协作提案
  5. 05用自检清单审阅草稿

适用场景

  1. 01起草 PRD、技术规范或 ADR
  2. 02将规范拆分为任务或议题
  3. 03编写 QA 测试计划和缺陷报告
  4. 04编辑 README、PR 或状态更新

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/marcioaltoe/skills --skill tech-writer

安装后在 Claude Code 中输入/tech-writer确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
doc-type-playbooks.md
prd-playbook.md
qa-playbook.md
tasks-playbook.md
techspec-playbook.md

详细介绍

技术写作者

撰写能吸引读者注意力的技术内容:优先说明最重要的信息,用真实事实和可运行示例证明观点,并删去所有无助于读者判断或采取行动的内容。涵盖资深工程师或架构师编写的完整文档链——从构想简报和 PRD,到技术规格、ADR、任务文件和 issue,再到 QA 测试计划、缺陷报告和验证报告——以及日常文档、PR、评审和进度更新。

适用场景

  • 为工具、库或服务撰写 README、快速入门、文档页面或指南
  • 撰写或重写 PRD、技术规格、RFC、ADR、设计文档、构想简报、GitHub issue、缺陷报告、PR 描述、代码评审评论或异步状态更新
  • 将 PRD 或规格拆分成任务列表和单独的任务文件,或拆分成纵向切片 issue
  • 撰写 QA 文档:测试计划、测试用例、探索式测试纲要、缺陷报告、验证报告
  • 重写任何显得冗长、含糊或像 AI 生成的技术文本

两种模式:转录或协作撰写

写作前先确定模式;这会改变允许做的事。

  • 转录——已有源材料(代码、规格、工单、差异、对话、先前文档)。只写源材料支持的内容。绝不编造验收标准、指标、边缘情况、备选方案或行为。与其编造细节,不如标注 TBD — needs <owner>。
  • 协作撰写——用户正在与你共同创建文档。为尚无内容的章节提出建议,但要明确标注每一项建议(加上 Proposed: 前缀或使用明确的提示),并在其成为事实前征求确认。每次只问一个问题;选项明确时,优先使用选择题;将未解决的问题列在 Open questions 下,并注明负责人。用户确认的建议即成为事实;用户尚未看到的建议仍只是建议。

流程

  1. 先阅读源材料。 写作前检查代码、CLI 帮助信息、API 接口、规格、工单或差异。每项陈述都必须有实际依据。
  2. 明确读者和行动。 确定读者是谁(新用户、评审者、PM、实施工程师、QA、未来的维护者),以及读完后他们应该知道或做的一件事。围绕这一点组织全部内容。
  3. 选择文档类型并加载对应指南。 只阅读下方路由器中匹配的参考文件——其中包含该类型的结构规则、骨架和质量门槛。
  4. 按倒金字塔结构起草。 最重要的句子放在最前面。对于文档,先说明它的作用和具体成果;对于 PR,先写可独立理解的摘要行;对于进度更新,先写 TL;DR。不要寒暄铺垫(“欢迎来到……”“本文档介绍……”)。
  5. 精简一遍。 删除不必要的词、限定语和重复观点。如果删掉某个词后句子依然成立,这个词就是噪声。
  6. 润色得更自然。 检查下方列出的禁用表达模式,并改写每一处。
  7. 验证。 运行自检。确认每条命令都能运行、每个链接都有效、每项陈述的事实都能在源材料中找到,并确保文档通过对应指南的质量门槛。

文档类型路由

文档操作手册
PRD(完整或轻量版)、创意/探索简报、用户故事、验收标准references/prd-playbook.md
技术规范、设计文档、RFC、ADRreferences/techspec-playbook.md
任务列表、任务文件、垂直切片问题、工作分解references/tasks-playbook.md
QA 测试计划、测试用例、探索性测试纲要、QA 缺陷报告、验证报告references/qa-playbook.md
README、文档页面、快速入门、跟踪器问题/缺陷报告、PR 描述、评审评论、异步更新references/doc-type-playbooks.md

高级判断力

这些习惯让高级架构师的文档有别于记录者的笔记。请在所有文档类型中贯彻这些习惯。

  • 把握抽象层级。 PRD 说明做什么以及为什么,绝不规定架构。规范精确地定义系统的行为——契约、数据模型、故障模式——精确度应与决策所需相匹配。任务说明要完成什么,而不是如何完成。混淆抽象层级是最常见的结构性问题。
  • 明确非目标至关重要。 明确列出范围之外的内容,比任何其他章节都更能避免返工。每份规划文档都应包含这一项。
  • 说明权衡。 没有缺点的规范就还不完整。说明设计舍弃了什么、否决了哪些备选方案及原因,以及仍然存在的风险。坦陈自身弱点的文档更能赢得评审者的信任。
  • 用数字而非形容词。 “快”只是一种愿望;“p95 低于 200ms”才是要求。尽量将每项非功能性声明转化为可衡量的目标;在转录模式下,只能使用源文档明确给出的目标。
  • 验收标准必须可观察。 每条标准都必须让未编写代码的人也能检查:一种行为、一项输出或一条成功执行的命令。适用时使用 Given-When-Then;同时包含负面和边界情况。
  • 保持可追溯链条。 每个规范组件都应追溯到 PRD 目标;每项任务都应追溯到规范章节;每项测试都应追溯到任务或用户旅程;每个缺陷都应追溯到复现步骤。读者必须能通过链接双向追溯整条链,而不是依赖重复内容。
  • 引用,不要重复。 下游文档应按名称引用上游章节(“参见技术规范 → 数据模型”),而不是复述内容。重复内容会逐渐偏离,链接则不会。
  • 纵向拆解。 将工作切分为精简的端到端路径(架构 + API + UI + 测试),每个切片都能独立实现和演示——绝不要按横向层拆分。明确列出依赖关系;优先处理风险最高的切片。
  • 规划发布与回滚。 与未配置回滚路径的相同代码相比,通过功能标志发布且经过回滚测试的设计更胜一筹。只有在源文档确定了发布与回滚方案时,规范才应说明两者。
  • 为执行者撰写——无论是人还是 Agent。 任务和问题就是提示词:问题清晰、验收标准完整、边界明确,并提供最低限度的必要背景。输入含糊,产出也会含糊。

写作规则

  • 使用主动语态。“CLI 会写入报告”,而不是“报告会被写入”。
  • **用具体内容代替抽象表述,但具体程度不能超出原文。**写明原文给出的命令、版本、文件路径和数字。“使用指数退避重试 3 次”胜过“能妥善处理故障”。但如果原文只写了“指数退避”,就到此为止:绝不能自行计算原文未说明的示例延迟、倍数或公式。原文明确的具体信息才可信;凭空编造具体信息就是错误。
  • **示例和释义遵守相同规则。**用法示例只能展示原文说明的标志值、格式和输入。若文档没有说明可接受的值,就保留占位符(--level <level>),或提示读者查看 --help;绝不能用猜测的值举例(--level warn)。同样,对字段或选项的说明不能超出注释或文档的内容:“默认值为 true”只说明默认值,不代表说明了 false 的作用或设置它的原因。
  • **说明原因,而非复述内容。**代码、差异和架构已经展示了是什么。文字应补充原因:意图、权衡和被否决的替代方案。
  • **每份材料只讲一个主题。**每份 ADR 记录一个决策,每个议题讨论一个想法,每个页面说明一个用途。
  • **使用“必须”“可以”“可能”,不要用“应该”。**必需事项用“必须”,可选事项用“可以”,可能的结果用“可能”。“应该”会让读者摸不着头绪。
  • **用证据支撑收益。**说明读者能获得什么,再展示实现这一点的代码、命令或证据。
  • **每段只讲一个想法,最多四句话。**冗长的段落会掩盖重点。
  • **标题使用句首字母大写格式。**写“Getting started”,不要写“Getting Started”。
  • **示例必须可运行。**代码片段必须完整、可直接复制粘贴,且不超过一屏。优先提供一个真实示例,而不是三个抽象示例。
  • **用词直白。**用“使用”代替“利用”,用“帮助”代替“促成”,用“快速”代替“性能出色”。

禁用模式

重写所有出现以下模式的内容。它们会让文字显得像机器生成的填充内容。

  • AI 词汇: delve、leverage、seamless、robust、cutting-edge、crucial、pivotal、comprehensive、testament、landscape(抽象含义)、showcase、foster、tapestry、intricate、vibrant、streamline、empower、elevate、unlock、supercharge。
  • 填充短语: 将“in order to”改为“to”;将“due to the fact that”改为“because”;删除“it is important to note that”;将“at this point in time”改为“now”;删除“please note that”。
  • 弱化词: “simply”“easily”“just”“it's that simple”。如果事情真的简单,读者就不需要文档。
  • 夸大意义: “plays a vital role”“marks a pivotal step”“represents a paradigm shift”。
  • 空洞的 -ing 结尾: 例如“……ensuring reliability”“……showcasing flexibility”“……highlighting its power”。删掉这些结尾,或用事实替代。
  • 否定式排比: “It's not just X, it's Y.”
  • 凑数的三项并列: 刻意堆砌“快速、灵活且强大”之类的三项并列。只保留真实且有证据支持的形容词。
  • 加粗标题式项目符号列表: 例如“Performance: 性能得到了提升……”改用正文或普通项目符号。
  • 装饰性内容: 标题或项目符号中不要加表情符号,不要用感叹号,不要使用标题式大写格式,也不要零散地加粗强调。
  • 模糊归因: “许多开发者表示”“用户想要”“普遍认为”。引用工单、调查或来源,否则删掉相关说法。
  • 泛泛的结尾: “未来一片光明”“祝编码愉快!”。结尾应指出下一步具体要做什么。

自检

交付前,每个问题的答案都必须是“是”:

  1. 第一句是否传达了对这位读者最重要的唯一要点?
  2. 每个代码块是否完整,并且按原样即可运行?
  3. 扫描是否确认不存在禁用模式?
  4. 每项说法是否具体,并由命令、数字、选项名称、引用或示例佐证?
  5. 文档是否遵循其类型的结构,并通过其操作手册中的质量门槛?
  6. 在转录模式下:每项事实是否都存在于源内容中?在协作撰写模式下:每项未经确认的提议是否仍标注为提议?
  7. 目标读者(或执行 Agent)能否仅凭这段文本及其链接采取行动?

反模式

  • 未阅读代码、规格说明、任务单或差异内容就开始写作。
  • 以历史、哲学或“在当今快节奏的世界中……”开篇。
  • 在 PRD 中规定实现方案,或在规格说明中重新争论产品策略。
  • 不引用上游内容的相关章节,而是在下游重复其内容。
  • 按层拆分任务(“先构建所有模型,再构建所有 API”),而不是按结果拆分。
  • 制定无法核查的验收标准(“正常工作”“妥善处理错误”)。
  • 为了显得详尽而凑字数。实用的短文胜过华而不实的长文。
  • 编造源内容中没有的基准测试、用户评价、指标或行为。
  • 未提供最新证据就宣称 QA 结论,或未说明哪些内容尚未测试。

评论

支持 Markdown