doubao-ultimate-guide

统一攻略创作总控 Skill:根据用户需求路由到旅游攻略、健身攻略、美食烹饪教程、游戏攻略四个分支,默认先创建飞书/Lark 文档容器,再读取对应分支 Skill 生成内容并写入同一个文档。适用于旅行行程、训练健身、菜谱烹饪、游戏实战攻略等中文攻略类创作;不适用于泛资讯、商业分析、医疗诊断、金融投资、法律意见、纯文案包装、无明确攻略目标或不安全/违规请求。

SKILL.md

GitHub

Four-in-One Guide

目标

这是四合一攻略总控 Skill。它只负责:

  1. 判断用户是否真的需要攻略类产物;
  2. 在旅游、健身、美食、游戏四个分支中选择正确主干;
  3. 先创建一个飞书/Lark 文档容器;
  4. 再读取对应分支的 SKILL.md 和必要 reference,用“内容写入模式”生成攻略正文;
  5. 把内容、链接、检查清单等写入已创建的同一个文档;旅游分支不做搜图、生图或插图;健身分支按自身规则只搜真实可靠图,搜不到就不插图,严禁生图;
  6. 最终只交付文档标题、URL 和少量复查/亮点信息。

四个分支目录是能力来源,不在总控层重写其专业规则:

branches/
├── travel-planner-pro/
├── fitness-planner-pro/
├── cooking-tutorial/
└── game-guide/

最高优先级规则

1. 总控先创建文档,分支只写内容

在本四合一 Skill 中,文档创建权只属于总控。

正确顺序:

  1. 先用本文件完成轻量路由,判断主分支;
  2. 提取标题所需的最小信息;
  3. 创建一个飞书/Lark 文档容器;
  4. 读取被选中的分支 SKILL.md 和必要 reference;
  5. 按分支规则生成正文 XML / HTML 片段和质量检查;旅游不生成媒体计划,健身可按分支规则生成旁路 image-plan.tsv;
  6. 用 docs +update 把正文写入已创建文档;
  7. 仅在被选分支要求媒体时插入图片/媒体;
  8. 回读校验并交付。

禁止顺序:

  • 禁止先完整读取某个分支,然后被分支带着直接 docs +create。
  • 禁止分支创建一个文档后,总控自检时又读取 lark-doc 规则再创建第二个文档。
  • 禁止旅游/健身/游戏/美食分支各自创建独立文档。
  • 禁止把分支内部的工具状态、认证状态、image-plan.tsv、CLI 命令、失败过程写进正文。

2. 分支交付规则在本 Skill 中降级为“内容写入规则”

四个分支原文里凡是写到“默认创建飞书文档 / 输出 HTML / 最终交付文档”的部分,在本四合一模式下都解释为:

  • 分支负责生成对应类型的正文内容、结构计划、质量校验和最终写入片段;
  • 分支不得再次执行 docs +create;
  • 若分支需要 HTML,除非用户明确指定 HTML,否则优先转成可写入飞书文档的结构化 XML 内容;
  • 若飞书工具不可用,才按总控失败策略降级,不由分支各自降级。

3. 不把内部路由和执行过程写进用户文档

正文只写用户要看的攻略内容。不要写:

  • “已路由到旅游/健身/美食/游戏分支”;
  • “根据 skill 规则”;
  • “正在读取某某文件”;
  • “因为找不到图片所以……”;
  • “lark-cli / auth / token / scope / image-plan.tsv / no_reliable_image”;
  • “这是四合一 Skill 生成的内容”。

4. 四个分支不互相污染

每次只能有 1 个主分支。多意图时可以有辅助分支,但必须分区写入,不得混成一个四不像攻略。

例如:

  • “成都 3 天游 + 请假邮件”:主分支是旅游;请假邮件是附录,不读取健身/美食/游戏。
  • “练马甲线 + 国庆云南怎么玩”:两个独立攻略意图,应拆成“健身攻略”和“旅游攻略”两个章节,或询问用户是否需要生成两份文档;不要写成旅行健身混合攻略。
  • “原神角色培养 + 每天健身计划”:游戏和健身是两个独立主任务,默认拆分;若用户只要一个文档,文档内分成两个完整章节。

路由总览

旅游攻略分支

使用 branches/travel-planner-pro/。

触发信号:

  • 旅行、旅游、自由行、行程、路书、周末游、城市怎么玩、去哪玩;
  • 景点、美食、住宿、交通、预算、天气、门票、预约、签证、亲子/老人/情侣/独旅/自驾/穷游/轻奢;
  • 目的地对比、路线优化、旅行飞书文档。

不触发:

  • 差旅报销、请假邮件、旅行行业分析、护照丢失应急、航班赔付争议、纯酒店投诉。

分支入口:

  • branches/travel-planner-pro/SKILL.md

读取策略:

  • 先读该分支 SKILL.md;
  • 再按其场景路由最多读取必要 reference;
  • 其中“创建飞书文档”步骤改为“生成 XML 片段并写入总控已创建文档”。
  • 本四合一版本中旅游分支不搜图、不生图、不插图,靠路线、天气、交通、预算、预约、备选方案、表格、callout、grid、bookmark 和清单提升内容深度。

健身攻略分支

使用 branches/fitness-planner-pro/。

触发信号:

  • 健身计划、训练安排、减脂、增肌、塑形、力量、跑步、游泳、居家训练、健身房新手;
  • 动作教学、组数次数、饮食恢复、食堂外卖、体态改善、打卡复盘、坚持困难;
  • 训练日志、动作替代、安全边界。

不触发:

  • 胸痛/晕厥等医疗诊断、急性伤病用药、健身行业市场分析、纯产品选购、医疗康复处方。

分支入口:

  • branches/fitness-planner-pro/SKILL.md

读取策略:

  • 先读该分支 SKILL.md;
  • 再按其场景路由读取必要 reference;
  • 分支内“创建飞书文档”步骤改为“生成 XML 片段并写入总控已创建文档”;
  • 本四合一版本中健身分支沿用自身图片规则:核心动作、错误对照、餐盘等只有在搜到真实可靠图片时才插图;搜不到就不插图,用真实视频/图解 bookmark + 动作卡补足;严禁生图。

美食烹饪分支

使用 branches/cooking-tutorial/。

触发信号:

  • 做菜、菜谱、甜品、烘焙、饮品、菜单、一桌菜、一周餐;
  • 食材利用、失败补救、配方替代、备菜保存、火候技巧、厨房操作;
  • 图文烹饪教程、食材清单、步骤状态判断。

不触发:

  • 餐厅探店攻略、外卖推荐、餐饮行业分析、短视频脚本、小红书文案、直播稿,除非用户明确要求烹饪教程外的包装内容。

分支入口:

  • branches/cooking-tutorial/SKILL.md

读取策略:

  • 先读该分支 SKILL.md;
  • 默认读图片与安全相关规则;
  • “文档/HTML 二选一”在本四合一模式下优先落到已创建的飞书文档;用户明确要 HTML 时,作为文档附件/附录或降级产物处理。

游戏攻略分支

使用 branches/game-guide/。

触发信号:

  • 具体游戏的实际游玩目标:怎么过、怎么打、怎么走、任务怎么做、地点/道具在哪、Boss 打不过;
  • Build、配装、角色培养、配队、解谜、收集、成就、新手、资源效率、活动机制;
  • 上传游戏截图询问当前位置、下一步或解决方法。

不触发:

  • 游戏新闻、发售时间、价格、配置、纯推荐测评、行业分析、剧情赏析、电竞预测、同人创作、游戏开发设计;
  • 外挂、破解、代练、账号交易、绕过反作弊等违规请求。

分支入口:

  • branches/game-guide/SKILL.md

读取策略:

  • 先读该分支 SKILL.md;
  • 游戏攻略必须检索核验当前版本和多来源玩家反馈;
  • 分支内“必须生成飞书文档或 HTML”的交付要求改为“必须写入总控已创建的飞书文档;飞书失败时才由总控降级”。

边界路由

A. 需求不明 / 指代不清

用户话没有说完整、没有可识别对象、指代“那个/之前那个/帮我弄一下”但当前上下文不足时,不进入任何分支,不创建文档。

示例:

  • “欸,那个啥来着,帮我搞一下。”
  • “就按之前那个来一版。”
  • “帮我安排一下,快点。”

处理:

  1. 用 1–3 个问题澄清用户想做什么;
  2. 不要猜成旅游/健身/美食/游戏;
  3. 不创建飞书文档;
  4. 用户补充后再走路由。

B. 信息缺失但方向明确

用户已经明确是旅游/健身/美食/游戏,但缺少细节时,可以进入对应分支并创建文档,但正文要写适用边界和调整开关,不能在开头堆“默认假设”。

示例:

  • “我想去日本玩,帮我安排。”
  • “我想健身,给我个计划。”
  • “我想做个蛋糕。”
  • “这个 Boss 打不过,怎么打?”

处理:

  1. 如果缺失信息不会导致明显错误,先生成保守可用版;
  2. 若缺失信息会导致严重错误或安全风险,先问最少必要问题;
  3. 不要脑补关键事实,如出发地、伤病、游戏版本、设备、食材。

C. 技能不适用

用户请求不属于四类攻略,或属于高风险领域且不能安全生成攻略时,不进入分支,不创建文档。

示例:

  • “帮我写差旅报销说明。”
  • “帮我判断胸口疼是不是心脏问题。”
  • “分析一下这只股票能不能买。”
  • “写一篇游戏行业商业分析。”
  • “我护照丢了现在人在国外怎么办?”

处理:

  1. 简短说明当前不是攻略创作任务;
  2. 给合适的安全方向或普通回答;
  3. 不使用四个分支的攻略格式;
  4. 不创建攻略文档。

D. 多意图

用户同时提出多个不同类型意图时,先拆分,再判断是否同文档处理。

规则:

  • 若多个意图都属于同一分支,可在同一分支内多模块处理。
    • 例:“云南攻略 + 拍照穿搭 + 预算”仍是旅游。
    • 例:“减脂 + 食堂外卖 + 体态改善”仍是健身。
  • 若存在跨分支意图,默认按主任务优先,辅助任务放附录;若两个任务都很重,应建议拆成两份文档或在同一文档内明确分成两个完整章节。
    • 例:“成都 3 天游 + 请假邮件”:旅游为主,邮件附录。
    • 例:“练马甲线 + 云南旅行”:健身和旅游并列,建议两份或双章节。
  • 若混入高风险非攻略任务,必须分离并谨慎处理。
    • 例:“游泳减肥 + 股票能不能买”:健身可做,股票不纳入攻略。

E. 条件冲突 / 不现实约束

发现用户目标明显不可行时,不硬编完美攻略。

示例:

  • “周末两天从北京自驾去新疆,轻松一点。”
  • “7 天瘦 15 斤,还不想少吃也不想运动。”
  • “500 元两个人国庆三亚 5 天住海景酒店。”
  • “游戏新号一天拿全毕业装备。”

处理:

  1. 明确指出不可行点;
  2. 给降级方案或替代路线;
  3. 文档标题和正文都要反映真实可行版本;
  4. 不迎合不安全或虚假的目标。

F. 强时效 / 资源准确性

旅游、游戏、部分美食/健身资源涉及时效或外部材料时,必须核验当前信息。

  • 旅游:天气、交通、门票、开放时间、签证、汇率、近期活动;
  • 健身:训练逻辑、权威健康安全边界、动作教学链接;
  • 美食:食品安全、保存复热、真实状态图;
  • 游戏:版本、赛季、活动、卡池、机制、社区反馈。

不能编链接、编图片、编视频、编当前版本。

总工作流

0. 快速路由,不读取分支全文

先只用本文件判断:

  • 是否属于四合一攻略;
  • 是否需求不明;
  • 是否技能不适用;
  • 是否多意图;
  • 主分支是哪一个。

只有确定主分支后,才读取该分支 SKILL.md。

1. 创建飞书文档容器

在读取分支正文规则前,先创建最小文档容器。

文档初始内容只包含:

  • <title>:根据用户核心需求生成的标题;
  • 一个简短 <callout>:说明文档正在生成或写入攻略主体;
  • 可选空的一级章节占位。

要求:

  • 文档标题必须面向用户需求,不要叫“四合一攻略”;
  • 不要把路由、skill 名、内部执行状态写进文档;
  • 创建失败时,停止进入分支写作,按总控失败策略处理。

2. 读取主分支

创建成功后,读取主分支:

branches/{selected-branch}/SKILL.md

并按分支说明读取必要 reference。读取分支时始终附加本模式:

当前处于 four-in-one-guide 总控模式:
已存在飞书文档容器。你只负责生成内容片段、媒体计划和质量检查。
不要执行 docs +create,不要创建新的飞书文档,不要输出独立最终交付。
所有正文写入已创建文档。

3. 生成内容片段

分支应产出:

  • content.xml 或可转换为飞书 XML 的正文片段;
  • 图片/媒体计划(旅游不生成;健身、美食、游戏按各自分支规则决定是否生成);
  • 质量检查结果;
  • 需要插入的 bookmark、checkbox、table、grid、callout 等结构。

正文片段必须能独立写入已创建文档,不包含 <title> 重复标题,不包含内部注释,不包含工具字段。

4. 写入已创建文档

使用 docs +update 写入正文。

建议策略:

  • 初始容器只有占位内容时,可以用 overwrite 写入完整正文,但只对刚创建的空文档使用;
  • 若文档已含用户内容或多分支章节,必须使用局部 block_insert_after / block_replace;
  • 严禁覆盖用户已有文档的无关部分。

5. 插入图片/媒体

旅游分支跳过本步骤,不搜图、不生图、不插图。

健身分支只在分支 image-plan.tsv 中存在 status=ready 的真实可靠本地图片时插图;如果没有可靠图片,直接跳过插图,不解释缺图原因,不把检索过程写入正文,严禁生图。

对仍需要媒体的美食或游戏分支,图片必须服务攻略执行,不随机堆叠。

统一规则:

  • 图片不写进 XML 内联外链;
  • 先下载本地并验证是真图;
  • 用 docs +media-insert 插到正文锚点附近;
  • 必须防止图片堆文末;
  • 游戏严禁用生成图冒充真实游戏画面;
  • 美食关键状态优先真实图,视觉封面/信息图可生成,但避免不可控文字。

6. 回读校验

交付前至少检查:

  • 文档已真实创建;
  • 正文不是空壳;
  • 没有重复标题;
  • 没有 XML/HTML 代码块泄漏;
  • 没有 <input>、<card>、<section> 等非白名单标签裸露;
  • 没有内部锚点、image-plan.tsv、no_reliable_image、CLI 命令露出;
  • 分支内容没有串场;
  • 如该分支要求媒体,图片在对应章节附近;旅游无需图片校验;健身若插图则校验图片在对应动作/餐盘章节附近,未插图时校验真实视频/图解 bookmark 和动作卡足够;
  • 链接真实可打开或已标明需复查;
  • 高风险/不可行点没有被硬编通过。

7. 最终回复

成功时只回复:

  • 文档标题;
  • 飞书 URL;
  • 1–3 条亮点或出发/训练/制作/游玩前复查项。

不要粘贴完整正文,不解释内部路由和执行过程。

失败时回复:

  • 哪一步失败;
  • 是否已创建文档;
  • 已生成的本地文件路径(如有);
  • 可重试建议。

多分支同文档规则

当用户明确要求一个文档里包含多个攻略类型时,可以在同一个飞书文档中写多个主章节。

顺序:

  1. 先创建一个总文档;
  2. 按用户主目标排序;
  3. 每个分支章节写入前读取对应分支;
  4. 每个分支只写自己的章节;
  5. 每个章节有独立标题、执行清单和安全边界;
  6. 文末可以有一个“统一复查清单”,但不要把四类规则混在同一段里。

示例:

  • “云南旅行 + 旅途中减脂不反弹”:主章节旅游,附章节健身饮食;
  • “朋友聚会菜单 + 饭后游戏攻略”:主章节美食,附章节游戏;
  • “健身房新手 + 一周高蛋白便当”:主章节健身,附章节美食。

输出质量底线

无论进入哪个分支,最终攻略必须做到:

  • 逻辑清楚:先解决用户最关心的核心问题;
  • 内容充盈:不能只有几行表格或泛泛建议;
  • 可执行:用户知道今天/第一步做什么;
  • 边界清楚:知道什么时候不该继续、哪里要复查、哪些条件会改变方案;
  • 结构服务内容:表格、callout、grid、checkbox、bookmark 都要服务用户决策或执行;旅游不用图片,健身只用真实可靠图片,美食/游戏按各自规则使用图片;
  • 不模板化:结构跟随用户需求,不每次套同一目录;
  • 不泄漏代码:不出现 XML 代码块、HTML 表单、内部字段或分支执行过程。