OpenFang email-writer 技能深度解析:面向 LLM Agent 的专业商务邮件写作实战指南
人工智能大模型AI Agent自主智能体Agent 编排MCP Clients知识图谱【免费下载链接】openfangOpen-source Agent Operating System项目地址https://gitcode.com/gh_mirrors/op/openfang点击查看免费下载OpenFang 内置的email-writer技能是一份以 SKILL.md 形式打包、编译进二进制文件的“提示词型”prompt-only专家知识用于让 Agent 在写商务邮件时遵循专业的语气、结构与沟通纪律。本文以该技能文档为骨架逐条拆解其核心原则、写作技巧、常见模式与易犯误区并结合 OpenFang 技能系统的源码说明这份技能是如何被解析、注入系统提示词并接受安全校验的。读完本文你将掌握一套可直接复用的商务邮件写作方法论同时理解如何在 OpenFang 中按名引用、覆盖与验证这一类提示词型技能。一、技能概览email-writer 是什么email-writer的声明位于 SKILL.md 的 YAML frontmatter 中--- name: email-writer description: Professional email writing expert for tone, structure, clarity, and business communication ---它将自己定位为“商务沟通专家”擅长在专业场景中撰写清晰、有效、语气得体的邮件无论是写给高管、客户、同事还是跨文化的外部合作伙伴。与 GitHub、Docker、web-search 等技能并列它属于 OpenFang 60 个随二进制分发的内置技能之一在 skill-development.md 中被归类到Writing写作类别同组还有technical-writer、writing-coach、presentation。关键的一点是email-writer 没有可执行代码它属于prompt_only提示词型技能。这类技能的“实现”就是 Markdown 正文本身——正文被注入 LLM 的系统提示词让模型在写作时直接遵循其中的方法论。二、工作机制SKILL.md 如何变成 Agent 的写作能力要真正用好 email-writer需要先理解它从源码文件到 Agent 提示词的生命周期。整个过程可以在 crates/openfang-skills 的源码中得到印证。第一步编译期打包。内置技能通过include_str!()在编译时嵌入二进制。bundled.rs 中可以看到 email-writer 与其他技能一样被注册(email-writer, include_str!(../bundled/email-writer/SKILL.md)),第二步解析 frontmatter 与正文。openclaw_compat.rs 中的parse_skillmd_str负责把 SKILL.md 拆成两部分YAML frontmatter元数据与 Markdown 正文。正文会被保存为prompt_context——也就是最终注入提示词的“教学内容”。由于该技能没有声明任何 OpenClaw 命令解析结果默认是SkillRuntime::PromptOnly参见 lib.rs 中该运行时类型的定义无执行代码仅向 LLM 系统提示词注入上下文。第三步注册与安全扫描。registry.rs 的load_bundled()在启动时加载所有内置技能并在注册前对提示词内容执行注入扫描SkillVerifier::scan_prompt_content检测越权指令、数据外泄模式等关键风险。也就是说即使是对随二进制分发的内置技能也采取了纵深防御。对应地bundled.rs 中的测试test_bundled_skills_pass_security_scan会在构建时校验全部内置技能不含 critical 级警告。第四步注入系统提示词。Agent 被生成时kernel.rs 会从技能注册表收集所有启用的提示词型技能的上下文随后 prompt_builder.rs 的build_skills_section将技能摘要与提示词上下文拼接进系统提示词。这就是 email-writer 正文中的每一条原则、每一个模板真正影响模型输出的方式。第五步可被用户覆盖。加载顺序是“内置 → 全局 → 工作区”用户安装的同名技能会覆盖内置版本bundled.rs 的测试test_user_skill_overrides_bundled验证了这一点。这意味着你可以基于官方 email-writer 定制自己的邮件写作规范而无需改动二进制。三、核心原则先原则后技巧email-writer 开篇给出了五条贯穿始终的核心原则是所有邮件写作的出发点1. 结论先行BLUFBottom Line Up Front。把目的、需要决策的事项或关键信息放在第一句让读者立刻知道这封邮件为什么重要。不要让收件人在三段之后才找到重点——多数人在移动端只扫读标题和首段。2. 语气匹配关系与场景。给团队的进度同步与向 VP 提出请求、与供应商谈判语气截然不同。写邮件前先判断双方关系与上下文再决定正式度。3. 让请求显式、可执行。凡是需要回复的邮件必须明确写出“需要什么、最晚什么时候”。不要指望收件人自行推断你的诉求。4. 保持可扫读。用短段落、项目符号与加粗关键词组织内容大多数收件人是在手机上扫读后才决定是否细看全文。5. 尊重收件箱容量。将相关事项合并进一封邮件而不是短时间内连续发送多封避免噪音。四、写作技巧从主题行到跟进预期在原则之上技能文档给出了六条可直接套用的技巧。4.1 主题行同时传达主题与紧迫度主题行要“既说清是什么、又说明有多急”。文档给出了正反例✅ 可执行Decision needed by Friday: Q3 budget allocation❌ 不可执行Quick question当主题行包含明确截止日期与决策主题时收件人在打开邮件前就能判断优先级。4.2 长邮件的三段式结构较长的邮件按以下结构组织Context背景12 句交代来龙去脉Details细节项目符号或编号列表承载信息主体Ask请求明确的下一步与截止时间。这个结构与技能的核心原则“结论先行”并不冲突——结论先行针对的是第一句话而三段式用于组织整封邮件的展开顺序。4.3 按收件人校准正式度文档给出的参考刻度同级同事Hi Alex正式外部联系人Dear Dr. Chen通用策略匹配对方回信所设定的语气把“对方如何称呼你”作为语气基准是跨文化、跨层级沟通中最稳妥的默认策略。4.4 有意图地使用 CC / BCCCC只包含需要“知情”的人BCC仅用于大规模分发列表如果收件人被加入的原因不明显在正文中说明为什么包含他们。这能避免收件人困惑“为什么有我的事”也降低被误解为“拉人施压”的风险。4.5 困难对话共情优先的框架处理延迟、拒绝、分歧等敏感话题时采用“共情优先”三段框架承认现状先认可对方处境或事态本身解释理由说明决策或延迟背后的原因给出替代方案或下一步提供可前进的路径。这套框架把对抗性沟通转化为协作性沟通是商务邮件中最难也最值钱的能力。4.6 设置跟进预期需要回复明确写出截止时间不需要回复明确写出No reply needed, just keeping you informed。这既是对收件人时间的尊重也避免对方因不确定是否该回复而焦虑或干脆忽略。五、常见模式四种可直接套用的邮件模板技能文档给出了四种高频商务场景的写作模式每个场景都对应明确的邮件骨架。5.1 状态更新Status Update主题包含项目名与日期BLUF 总结开篇一句话说明状态——正常推进 / 有风险 / 受阻关键进展自上次更新以来的主要成果即将到来的里程碑阻塞项与建议方案有问题必须同时带解决方案。5.2 决策请求Request for Decision明确陈述需要做的决策给出 23 个选项并附简要利弊包含你的推荐项指定决策截止时间。这条模式直接呼应了“让请求显式可执行”的原则给出选项与推荐把决策成本降到最低。5.3 介绍邮件Introduction Email简要说明为何撮合双方认识每人一句相关背景然后退后一步让双方自行继续对话。介绍邮件的核心是“低介入”不要代替双方聊起来只负责建立信任起点。5.4 升级邮件Escalation陈述已经尝试过什么说明为什么未能解决说明继续延迟的影响明确请求收件人具体需要的帮助。升级不是抱怨而是结构化地移交问题——让对方看到你的努力、代价与明确诉求。六、易犯误区写邮件时主动规避这五件事技能文档列出了最常见的五个坑写作时应有意识地自检1. 把请求或关键信息埋在第三段。扫读的收件人会完全错过它。关键信息必须前置。2. 使用被动攻击式语言。per my last email、as previously mentioned这类话术不如直接、中立地复述一遍。直接复述更有效也更能体现专业。3. 对大型线程无差别 Reply-All。只有当回复对每位收件人都确实相关时才使用回复全部否则用定向回复减少噪音。4. 立即发送情绪化邮件。写完草稿后至少等待一小时带着新鲜感重读一遍再决定是发送还是软化语气。这一条尤其适用于冲突场景——先写、先放、再发。5.隐含于原则中忘记给收件人一个可行动的出口。任何需要响应的邮件都应当让对方明确知道要做什么、何时完成。七、在 OpenFang 中使用与定制 email-writer7.1 让 Agent 挂载技能在 Agent 的 manifest 中通过skills字段引用参见 skill-development.md 的示例name exec-assistant version 0.1.0 description Executive assistant with email expertise module builtin:chat skills [email-writer, writing-coach] [model] provider groq model llama-3.3-70b-versatile [capabilities] tools [file_read, file_write] memory_read [*] memory_write [self.*]Agent 被生成时kernel 会从注册表加载email-writer的提示词上下文并合并进系统提示词使其在所有邮件相关任务中自动遵循上述方法论。7.2 查看与安装由于 email-writer 是内置技能安装后开箱即用无需额外安装# 查看所有已安装技能含内置 openfang skill list若想获得更新的社区版本或希望用自己的规范覆盖内置行为可在技能目录如~/.openfang/skills/中放置同名技能目录加载时用户技能将覆盖内置版本安装本地目录技能的命令为openfang skill install /path/to/email-writer7.3 安全与可验证性所有 SKILL.md包括内置的 email-writer在加载时都会通过 verify.rs 的 SHA256 校验与提示词注入扫描关键级别警告会直接阻止该技能注册。仓库内 bundled.rs 的测试还保证了每一个内置技能都能成功解析、拥有非空的name/description/prompt_context且source被正确标记为Bundled。这意味着你可以在代码层面确认email-writer 这份技能文档正是 Agent 每次写商务邮件时真正被喂给模型的完整知识。八、小结email-writer 是 OpenFang 提示词型技能的一个典型样本它没有一行执行代码却通过精心组织的原则BLUF、语气匹配、显式请求、可扫读、控制收件箱噪音、可操作的技巧主题行、三段结构、正式度、CC/BCC、共情优先、跟进预期、四种高频邮件模板与五条反模式清单完整定义了“专业商务邮件”的写作标准。理解它的内容你就掌握了一套可直接用于日常沟通的写作框架理解它的机制你就掌握了 OpenFang 技能系统中“用 Markdown 教模型”这一设计模式的全貌。延伸阅读技能文档原文crates/openfang-skills/bundled/email-writer/SKILL.mdSKILL.md 解析与转换实现crates/openfang-skills/src/openclaw_compat.rs内置技能注册与打包crates/openfang-skills/src/bundled.rs技能加载与安全扫描crates/openfang-skills/src/registry.rs、crates/openfang-skills/src/verify.rs提示词注入实现crates/openfang-runtime/src/prompt_builder.rs技能开发与使用指南docs/skill-development.md赞分享人工智能大模型AI Agent自主智能体Agent 编排MCP Clients知识图谱【免费下载链接】openfangOpen-source Agent Operating System项目地址https://gitcode.com/gh_mirrors/op/openfang点击查看免费下载相关推荐Wand-Enhancer 完整指南免费本地增强 Wand 专业版功能手机扫码远程控制Wand Enhancer 完整指南免费本地增强 Wand 专业版功能手机扫码远程控制 Boss 战正打到一半屏幕上飘出试用时间已结束的弹窗你想存一人工智能大模型AI Agent自主智能体Agent 编排MCP Clients知识图谱SurfSense 邮件起草技能email-drafting深度解析如何让 Agent 按你的语气写出结构化的邮件SurfSense 邮件起草技能email drafting深度解析如何让 Agent 按你的语气写出结构化的邮件 导读 本文以 email drafti人工智能AI 应用后端AI Agent网页爬虫RAG深度研究MCP 服务前端OpenFang Azure 专家技能解析基于 SKILL.md 的 Azure 云架构 Agent 实战指南OpenFang Azure 专家技能解析基于 SKILL.md 的 Azure 云架构 Agent 实战指南 导读 本文围绕 OpenFang 内置的 az人工智能大模型AI Agent自主智能体Agent 编排MCP Clients知识图谱上一篇Kubernetes实战使用kubectl patch命令原地更新API对象下一篇Mesos/Chronos REST API 完全指南从基础到高级应用创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考