Files
Starlight_Lancher/.agents/skills/lark-doc/references/style/lark-doc-create-workflow.md

4.7 KiB
Raw Blame History

从零创作工作流

用户提供主题、需求或简要说明,需要生成一份新的飞书文档时,遵循本工作流。

核心方法论 — Code-Act Loop

通过自适应的 Code-Act Loop 驱动文档创作,而非固定模板式的工作流。每次任务都循环执行:

  1. Plan规划 — 根据用户目标和文档当前状态,评估下一步该做什么
  2. Execute执行 — 由主 Agent 自己运行 lark-cli docs 命令推进正文;仅画板渲染按需隔离到 SubAgent见步骤三
  3. Observe观察 — 检查命令输出,验证正确性,确认内容是否满足用户目标
  4. Iterate迭代 — 如需调整,回到 Plan 继续循环

循环在文档达到质量标准且满足用户需求时结束。不要试图一次性产出完美内容——迭代打磨效果更好。根据用户实际需求灵活决定文档结构和版块,而不是套用固定模板。

典型 Code-Act Loop 流程

步骤一:规划与撰写(单 Agent 串行)

正文由主 Agent 串行维护,不按章节拆给并行 Agent,避免上下文割裂、重复矛盾和全文级约束失效。

  1. 分析用户需求:受众、目的、范围
  2. 设计大纲根据任务自然选择结构。可以是短文、纪要、FAQ、方案、报告、清单或其他形式不要默认套固定章节、固定开头或固定富 block 配比
  3. docs +create 创建并撰写:
    • 短文档:一次写入完整内容。使用 Markdown 时,避免同时传入 --title 和同名 # 标题
    • 长文档:先建骨架(标题 + 各级标题),再由主 Agent 顺序逐节block_insert_after --block-id <章节标题 block_id> 补全正文;写完一节再写下一节,始终带着已写内容的上下文,保证衔接、不重复
    • ⚠️ 不要一次性把超长完整内容塞进 --content,容易触发字符/参数限制;长文按节分次写入
    • ⚠️ 同一节内多次插入时,要锚到上一个新插入的 block(按 lark-doc-update.md 的「Block ID 生命周期」),否则反复锚同一个标题会让段落顺序颠倒
    • ⚠️ 若先建骨架写了占位摘要,补正文时删除占位摘要,不要留残渣
    • ⚠️ @file 路径限制--content @file 只接受当前工作目录下的相对路径,传绝对路径(如 @/tmp/xxx.md)会报 unsafe file path。需要落盘时,将文件写在 cwd 下,用完自行清理

步骤二:整合审查与画板识别(串行)

  1. docs +fetch --api-version v2 --detail with-ids 获取文档,审查整体效果
  2. 评估内容是否满足用户目标:事实是否完整、结构是否清楚、语气是否匹配、是否保留必要素材;检查跨节有无重复、矛盾或断流。再按 lark-doc-style.md 的「写完自检」快速核对,发现问题就地定向修正
  3. 画板识别:逐章节扫描,判断是否有段落用图明显比文字更易懂(流程 / 架构 / 时间线 / 对比 / 占比等,见 lark-doc-style.md 的画板原则。默认用文字只有确需图示才记录需要插图的章节、推荐画板类型、mermaid/SVG 路径和用于画图的源内容

步骤三:画板处理与润色

  1. 优先处理步骤二识别出的画板需求:读取并按 lark-doc-whiteboard.md 选型和插入;正文本身不交给 SubAgent
  2. 主 Agent 自行润色(不另起内容子 Agent正文始终一人维护文字密集且不易读时优先拆段、加小标题或调整顺序——叙述内容保持成段不要默认改成列表,只有确属并列要点 / 步骤才用列表(见 lark-doc-style.md);只有确实存在行列数据时才用 <table>。其余富 block 的取舍一律遵循 lark-doc-style.md 的写作原则,不主动堆叠。需要明显分隔的主题可补充 <hr/>,不强制章节间都使用。本地图片使用 docs +media-insert 插入

步骤四:专项校验

  1. 字数门禁如果用户给出任何明确字数要求如“700-800 字”“1000 字左右”“不少于 500 字”“控制在 800 字以内”),本步骤必须执行,不属于按需项。读取并执行 lark-doc-word-stat.md 的「字数遵循校验」;未得到脚本统计结果前,不得向用户声明“符合字数要求”。若没有明确字数要求,则跳过本项,不读取该 workflow。若执行了专项校验向用户呈现目标区间、word_count 和达标结论
  2. 重复标题检查:文档生成后,检查文档标题和正文第一个标题块是否重复;若重复,删除或改写正文第一个标题块,避免读者看到同一标题连续出现