结构化商务写作与 Markdown 输出
目标
对用户正文进行有限、克制、可追溯的商务写作:
- 结果、状态和结论优先;
- 改善清晰度、商务语气和逻辑层级;
- 按语义添加少量 Markdown/HTML 格式;
- 最终只交付一个按日报日期或周报日期区间命名的 Markdown 文件。
本 Skill 不得补写事实,不得代替用户作出新的业务判断。
daily_report 是日报润色/结构化模式,保持逐字符保护、不总结、不删减、不合并。
weekly_report 是周报归纳生成模式,允许基于多日材料归纳、去重和合并同类项,但不得虚构事实、数字、日期、责任人、结论或计划。
输入参数
用户可在正文前提供参数;未提供时使用默认值。
document_type: auto # auto | daily_report | email_body | weekly_report | progress_report | exception_report | meeting_minutes | decision_request
report_date: auto # 日报日期,可由 #日报(日期)提供
report_period: auto # 周报日期区间,可由 #周报(日期区间)提供
source_mode: pasted_text # pasted_text | multi_daily
polish_level: restrained # restrained | structural
audience: auto # auto | manager | peer | cross_function | supplier | customer
tone: neutral # formal | neutral | concise
protected_terms: [] # 用户临时补充的逐字符保护词
output_basename: auto # 根据日报日期或周报日期区间自动生成
场景规则见 references/scenario_rules.yaml。
快捷指令
用户可在输入正文第一行使用快捷指令切换模式:
#日报(2026.07.17)
#周报(2026.07.13-2026.07.17)
#日报(日期)等价于document_type: daily_report和report_date: 日期;#周报(日期区间)等价于document_type: weekly_report和report_period: 日期区间;- 兼容中文括号
( )和英文括号( ); - 快捷指令与显式 YAML 参数冲突时立即停止,提示用户确认,不得自行选择其一;
- 没有快捷指令时,继续按
document_type和正文内容判断。
不可违反的边界
逐字符保护
保持以下内容的原始字符完全一致,包括大小写、空格、标点、连接符和书写格式:
- 专业名词、内部术语、项目名、产品名、供应商名、部门名和人名;
- 英文缩写、型号、料号、版本号、文件名、设备名和软件名;
- 数字、日期、时间、比例、金额和单位;
- 反引号、引号或
protected_terms指定的文本; references/protected_terms.yaml中命中的词。
不得展开缩写、互译、统一大小写或格式化数字和日期。例如 Cpk 不得改成 CPK,7月18日 不得改成 2026-07-18。
事实与语义强度
- “可能”不得改成“确定”;
- “初步分析”不得改成“根本原因”;
- “建议”不得改成“决定”;
- “计划”不得改成“已安排”;
- “存在风险”不得改成“已经发生”;
- 不得新增原因、责任人、截止时间、数据、影响范围、措施或结论。
重复、矛盾、周报和邮件
daily_report不得以重复或冗余为由删除或合并信息;weekly_report可以归纳、去重和合并同类项,但必须保留关键事实、日期、数字、异常、风险、待确认事项和下周计划依据;weekly_report遇到材料缺失日期时不得补写,只能在## 待确认事项中提示材料缺失;- 发现矛盾时保留两种表述,在正文末尾添加
## 待确认事项,只提示不修正; email_body只处理正文,不生成主题、收件人、抄送、签名或新称呼。
极速执行流程
默认只使用项目内统一脚本两次,禁止自行增加步骤、安装依赖或调用外部渲染工具。
1. 一次准备
运行:
python scripts/markdown_workflow.py prepare \
--input source.txt \
--lexicon references/protected_terms.yaml \
--workdir tmp/business-writing
需要临时保护词时,使用 UTF-8 文本文件逐行列出,再增加:
--extra-terms-file protected_terms_extra.txt
prepare 一次完成:读取词库、识别快捷指令、抓取日期或日期区间、生成文件名和保护快照。日期规则如下:
- 首行
#日报(日期)优先作为日报日期; - 首行
#周报(日期区间)优先作为周报日期区间; - 优先取“今日工作”到“明日计划”之间的首个日期;
- 找不到该区间时,取全文首个日期;
- 支持
2026年7月13日、2026-07-13、7月13日、7.13等形式; - 周报日期区间支持
2026.07.13-2026.07.17、7.13-7.17、7月13日-7月17日; - 无年份时仅在文件名中补充运行年份,不得修改正文;
- 找不到日期时立即停止并提示补充,不得使用系统日期兜底。
日报目标文件名格式为 日志_yyyy.mm.dd.md,例如 日志_2026.07.13.md。
周报目标文件名格式为 周报_yyyy.mm.dd-yyyy.mm.dd.md,例如 周报_2026.07.13-2026.07.17.md。
使用准备脚本输出的文件名写入 Markdown,不得自行改名。
2. 识别与润色
仅基于原文识别核心结论、已完成结果、确认异常、潜在风险、原因分析、后续计划、责任人和待确认事项。
默认使用 restrained:保留主要段落,轻度拆句、调序和结果前置;只有用户明确指定 structural 时才增加小标题、列表或行动项表格。不得创建空栏目。
周报模式可跨日期提炼“本周总体结果、关键完成事项、异常/风险/偏差、复盘与待确认事项、下周计划与支持需求”。不得为了结构完整创建空栏目或补写原文没有的信息。
3. 添加语义格式
格式覆盖完整语义片段,并保持克制:
已确认未达标、异常、失败或逾期:红色
仅用于已经确认发生的负面事实:
<span class="status-failed" style="color:#B42318;font-weight:700;">Cpk未达到目标要求。</span>
不得将“可能”“预计”“待确认”“初步怀疑”标红。
潜在风险、待确认、不确定性和逻辑矛盾:风险色
风险色固定为 RGB (252, 194, 5),即 #FCC205:
<span class="status-risk" style="color:#FCC205;">若本周无法完成复测,交付计划可能受到影响。</span>
正常完成且对进展重要:绿色,可选
绿色固定为 RGB (2, 177, 78),即 #02B14E:
<span class="status-done" style="color:#02B14E;font-weight:600;">已完成供应商报告初审。</span>
斜体和加粗
- 原文需要斜体时使用
<u><em>内容</em></u>,不得只使用单纯斜体; - 重要结论可使用
**重要结论**; - 一个中文逗号分句内最多使用一个语义包装,禁止堆叠颜色、加粗和斜体;
- 禁止在
<span>内嵌套**、*或_。
错误示例:
<span class="status-failed" style="color:#B42318;font-weight:700;">整个流程**超5天**</span>
正确示例:
<span class="status-failed" style="color:#B42318;font-weight:700;">整个流程超5天</span>
如果只需突出“超5天”,则只包裹该短语,且不得再嵌套 Markdown 加粗。
4. 写入 Markdown
将正文写入准备脚本输出的目标文件名:
- 使用 UTF-8;
- 允许标准 Markdown 和内嵌 HTML
<span>; - 不插入修改说明、原文对照或处理过程;
- 不为邮件正文生成主题;
- 不额外生成纯文本、HTML 或说明文件。
5. 一次合并校验
运行:
python scripts/markdown_workflow.py validate \
--input 日志_yyyy.mm.dd.md \
--snapshot tmp/business-writing/protected_snapshot.json \
--expected-name 日志_yyyy.mm.dd.md \
--cleanup-dir tmp/business-writing
校验失败时必须就近回退,不得从头线性重跑:
route=protection:只恢复保护词、数字、日期或单位,然后直接重新校验;route=filename:只重新抓取日期或修正文件名,然后直接重新校验;route=style:只修正对应颜色、下划线或嵌套样式,然后直接重新校验。
校验通过后,脚本清理工作目录,只交付一个 Markdown 文件。
输出质量标准
每次输出必须满足:
- 事实零新增;
- 语义强度不升级、不弱化;
- 保护项逐字符一致;
- 日报信息零删除、零无依据合并;周报仅做有依据的归纳和合并;
- 结果优先;
- 红色、风险色、绿色和强调格式符合固定语义;
- 矛盾只提示不修正;
- 日报只交付
日志_yyyy.mm.dd.md,周报只交付周报_yyyy.mm.dd-yyyy.mm.dd.md。