本 Skill 旨在解决飞书云文档(Lark Doc)在自动化编辑中常见的格式问题,重点提升文档的视觉层次感和可读性。它基于对飞书 Markdown 渲染引擎底层逻辑(API vs. 交互式编辑)的深入理解,提供了一套经过验证的“最佳实践”。
权重:最高 (Critical)
定义:任何格式优化都必须是“手术刀式”的精准微调,严禁因为修改一个标点而重写整个段落,更不可重写整篇文档。
❌ 绝对禁止:
overwrite 模式:除非旨在清空文档重写,否则绝不允许使用 overwrite 进行修改,这会导致评论、历史记录、图片 Token 和未知的富文本属性丢失。selection_with_ellipsis 不得跨越多个不相关的段落或标题。✅ 最佳实践:
selection 应短至仅仅包含“待修改目标 + 确保唯一的最小上下文”。selection="token=\"xxx\"...**标题" (利用 Token 定位)selection="。**下一标题" (利用标点定位)selection="上一段开头...下一段结尾" (范围太广,极易误伤)insert_before / insert_after 插入内容,而非 replace_range 替换内容。权重:高 (High)
问题:API 写入的 Markdown 纯文本会被飞书解析器进行“空白清洗”(Whitespace Optimization),导致标准的空行被合并,文档显得拥挤。
✅ 解决方案:使用 带属性的占位段落 {align="center"}。
只有带有非默认属性(如 Center)的空段落,才会被解析器视为“有意义的内容”而强制保留。
📜 书写规范(基于最小修改原则):
insert_before 在标题前插入 Spacer,而非 Replace 整个标题块。 {align...(无空格会被渲染为乱码文本)。\n\n 先结束列表,再插入标记。权重:中 (Medium)
加粗规范:
标题: 正文(推荐:冒号在加粗外,且有空格)标题: 正文(若必须在内,冒号后必须分开)标题:正文(粘连)列表标点规范:
、 等标签。fetch-doc 获取 Token,并在 markdown 参数中原样写回。获取文档内容,重点检查:
使用 replace_range 在目标位置精确插入 Spacer。
场景 A:标准标题前(H1-H3)
mcp_FeishuMCP_update-doc(
mode="replace_range",
selection_with_ellipsis="前文结尾。\n## 标题",
markdown="前文结尾。\n\n {align=\"center\"}\n\n## 标题"
)
场景 B:列表后的标题(高风险点)
mcp_FeishuMCP_update-doc(
mode="replace_range",
selection_with_ellipsis="- 列表项结尾\n## 标题",
# 注意:双换行 + Spacer + 双换行
markdown="- 列表项结尾\n\n {align=\"center\"}\n\n## 标题"
)
修复粘连的加粗或排版错误。
mcp_FeishuMCP_update-doc(
mode="replace_range",
selection_with_ellipsis="**粘连标题**正文",
markdown="**粘连标题:** 正文"
)
| 现象 | 原因 | 解决方案 |
|---|---|---|
| :--- | :--- | :--- |
页面显示 {align="center"} 文字 | 缺少起始空格 | 替换为 {align="center"} |
| 标题依然拥挤 | 列表后未双换行,或 Spacer 未独立占行 | 确保前后都有 \n |
出现 width="100" 乱码 | 破坏了 标签 | Undo,重写时保留完整 Token |
| 段落莫名消失/重复 | replace_range 范围太大或定位不准 | 缩小定位范围,包含更多唯一的上下文标点 |
selection_with_ellipsis 是否足够短且唯一? {align="center"} 的空格和换行?\n\n?共 1 个版本