PicoBot/skills/lark-doc/references/style/lark-doc-create-workflow.md
ooodc a7883dbed9 refactor(todo): 重构待办事项管理逻辑及更新状态规则
- 移除 TodoItem 中的 priority、created_at 和 updated_at 字段
- 强制每个任务都必须有唯一 id,且由用户负责生成
- 修改合并模式逻辑,merge=true 下保留未提及的旧任务
- 支持已完成和已取消任务重新激活(状态改回 pending 或 in_progress)
- 禁止 in_progress 状态退回到 pending,必须标记为 completed 或 cancelled
- 优化状态转换校验,允许特定状态间合法切换
- 简化任务变更消息,移除详细的新增/更新/移除统计
- 更新文档和示例,明确 id 必须由用户生成和使用
- 修复和补充测试,增强状态转换和合并模式验证
- 调整任务时间戳生成逻辑,统一使用当前时间及索引
- 该变更提供更合理的任务状态机械及管理模式,提升稳定性和易用性
2026-06-13 09:22:33 +08:00

3.9 KiB
Raw Blame History

从零创作工作流

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

核心方法论 — Code-Act Loop

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

  1. Plan规划 — 根据用户目标和文档当前状态,评估下一步该做什么
  2. Execute执行 — 运行相应的 lark-cli docs 命令,或 spawn Agent 子任务并行推进
  3. Observe观察 — 检查命令输出,验证正确性,核查样式是否达标
  4. Iterate迭代 — 如需调整,回到 Plan 继续循环

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

典型 Code-Act Loop 流程

第一波 — 规划与骨架(串行)

  1. 分析用户需求:受众、目的、范围
  2. 设计大纲——每个 h1/h2 章节至少规划 1 个非文本 block承载重要信息的章节优先规划画板
  3. docs +create --api-version v2 只建骨架:标题 + 开头 <callout> + 各级标题 + 每节一句占位摘要
    • ⚠️ 不要一次性把完整章节内容塞进 --content。超长 --content 容易触发字符/参数限制。
    • 完整内容留到第二波,由各 Agent 用 block_insert_after --block-id <章节标题 block_id> 分段写入。
    • ⚠️ @file 路径限制--content @file 只接受当前工作目录下的相对路径,传绝对路径(如 @/tmp/xxx.md)会报 unsafe file path。需要落盘时,将文件写在 cwd 下,用完自行清理。

第二波 — 内容撰写(并行 Agent

  1. Spawn Agent 并行撰写各章节。每个 Agent 需收到:
    • 文档 token、负责的章节范围、期望的 block 类型
    • lark-doc-xml.mdlark-doc-style.md 的完整路径Agent 须先读取)
    • 使用 block_insert_after --block-id <章节标题 block_id> 写入对应章节内容

第三波 — 整合审查 + 画板意图识别(串行)

  1. docs +fetch --api-version v2 --detail with-ids 获取文档,审查整体效果
  2. 评估样式达标(富 block 密度、元素多样性、连续 <p> 数量)
  3. 画板意图识别:逐章节扫描,按 lark-doc-style.md「画板意图识别」表判断是否有段落适合用图表达。重要信息优先画板化记录需要插图的章节、推荐画板类型、mermaid/SVG 路径和用于画图的源内容

第四波 — 画板与润色(并行 Agent

  1. 优先处理第三波识别出的画板需求 参考 lark-doc-whiteboard.md中的方式,插入图表画板。
  2. Spawn 内容改写 Agent 定向润色:
    • 文字密集章节转为 <table>/<grid>/<callout>
    • 主要章节间补充 <hr/>
    • 本地图片使用 docs +media-insert 插入

Agent 子任务要求

内容改写 Agent 必须收到:文档 token、章节范围标题/block IDlark-doc-xml.mdlark-doc-style.md 路径、具体的 docs +update command 和 --block-id

Mermaid 图由主 Agent 直接插入 <whiteboard type="mermaid">...</whiteboard>,无需 SubAgent。

SVG SubAgent 必须收到:文档 token、插入位置标题/block ID、图表目标、源内容片段、lark-doc-xml.md 路径,以及lark-doc-whiteboard.md 中的 "SVG 设计 Workflow" 指南。它只负责插入一个 <whiteboard type="svg">...</whiteboard>,不改其他正文,也不读取 lark-whiteboard

已有画板更新 SubAgent 必须收到board_token、图表目标、推荐画板类型、源内容片段、../../../lark-whiteboard/SKILL.md 路径。它只负责写入画板,不改文档正文。