Four-in-One Guide
目标
这是四合一攻略总控 Skill。它只负责:
- 判断用户是否真的需要攻略类产物;
- 在旅游、健身、美食、游戏四个分支中选择正确主干;
- 先创建一个飞书/Lark 文档容器;
- 再读取对应分支的
SKILL.md和必要 reference,用“内容写入模式”生成攻略正文; - 把内容、链接、检查清单等写入已创建的同一个文档;旅游分支不做搜图、生图或插图;健身分支按自身规则只搜真实可靠图,搜不到就不插图,严禁生图;
- 最终只交付文档标题、URL 和少量复查/亮点信息。
四个分支目录是能力来源,不在总控层重写其专业规则:
branches/
├── travel-planner-pro/
├── fitness-planner-pro/
├── cooking-tutorial/
└── game-guide/
最高优先级规则
1. 总控先创建文档,分支只写内容
在本四合一 Skill 中,文档创建权只属于总控。
正确顺序:
- 先用本文件完成轻量路由,判断主分支;
- 提取标题所需的最小信息;
- 创建一个飞书/Lark 文档容器;
- 读取被选中的分支
SKILL.md和必要 reference; - 按分支规则生成正文 XML / HTML 片段和质量检查;旅游不生成媒体计划,健身可按分支规则生成旁路
image-plan.tsv; - 用
docs +update把正文写入已创建文档; - 仅在被选分支要求媒体时插入图片/媒体;
- 回读校验并交付。
禁止顺序:
- 禁止先完整读取某个分支,然后被分支带着直接
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–3 个问题澄清用户想做什么;
- 不要猜成旅游/健身/美食/游戏;
- 不创建飞书文档;
- 用户补充后再走路由。
B. 信息缺失但方向明确
用户已经明确是旅游/健身/美食/游戏,但缺少细节时,可以进入对应分支并创建文档,但正文要写适用边界和调整开关,不能在开头堆“默认假设”。
示例:
- “我想去日本玩,帮我安排。”
- “我想健身,给我个计划。”
- “我想做个蛋糕。”
- “这个 Boss 打不过,怎么打?”
处理:
- 如果缺失信息不会导致明显错误,先生成保守可用版;
- 若缺失信息会导致严重错误或安全风险,先问最少必要问题;
- 不要脑补关键事实,如出发地、伤病、游戏版本、设备、食材。
C. 技能不适用
用户请求不属于四类攻略,或属于高风险领域且不能安全生成攻略时,不进入分支,不创建文档。
示例:
- “帮我写差旅报销说明。”
- “帮我判断胸口疼是不是心脏问题。”
- “分析一下这只股票能不能买。”
- “写一篇游戏行业商业分析。”
- “我护照丢了现在人在国外怎么办?”
处理:
- 简短说明当前不是攻略创作任务;
- 给合适的安全方向或普通回答;
- 不使用四个分支的攻略格式;
- 不创建攻略文档。
D. 多意图
用户同时提出多个不同类型意图时,先拆分,再判断是否同文档处理。
规则:
- 若多个意图都属于同一分支,可在同一分支内多模块处理。
- 例:“云南攻略 + 拍照穿搭 + 预算”仍是旅游。
- 例:“减脂 + 食堂外卖 + 体态改善”仍是健身。
- 若存在跨分支意图,默认按主任务优先,辅助任务放附录;若两个任务都很重,应建议拆成两份文档或在同一文档内明确分成两个完整章节。
- 例:“成都 3 天游 + 请假邮件”:旅游为主,邮件附录。
- 例:“练马甲线 + 云南旅行”:健身和旅游并列,建议两份或双章节。
- 若混入高风险非攻略任务,必须分离并谨慎处理。
- 例:“游泳减肥 + 股票能不能买”:健身可做,股票不纳入攻略。
E. 条件冲突 / 不现实约束
发现用户目标明显不可行时,不硬编完美攻略。
示例:
- “周末两天从北京自驾去新疆,轻松一点。”
- “7 天瘦 15 斤,还不想少吃也不想运动。”
- “500 元两个人国庆三亚 5 天住海景酒店。”
- “游戏新号一天拿全毕业装备。”
处理:
- 明确指出不可行点;
- 给降级方案或替代路线;
- 文档标题和正文都要反映真实可行版本;
- 不迎合不安全或虚假的目标。
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 条亮点或出发/训练/制作/游玩前复查项。
不要粘贴完整正文,不解释内部路由和执行过程。
失败时回复:
- 哪一步失败;
- 是否已创建文档;
- 已生成的本地文件路径(如有);
- 可重试建议。
多分支同文档规则
当用户明确要求一个文档里包含多个攻略类型时,可以在同一个飞书文档中写多个主章节。
顺序:
- 先创建一个总文档;
- 按用户主目标排序;
- 每个分支章节写入前读取对应分支;
- 每个分支只写自己的章节;
- 每个章节有独立标题、执行清单和安全边界;
- 文末可以有一个“统一复查清单”,但不要把四类规则混在同一段里。
示例:
- “云南旅行 + 旅途中减脂不反弹”:主章节旅游,附章节健身饮食;
- “朋友聚会菜单 + 饭后游戏攻略”:主章节美食,附章节游戏;
- “健身房新手 + 一周高蛋白便当”:主章节健身,附章节美食。
输出质量底线
无论进入哪个分支,最终攻略必须做到:
- 逻辑清楚:先解决用户最关心的核心问题;
- 内容充盈:不能只有几行表格或泛泛建议;
- 可执行:用户知道今天/第一步做什么;
- 边界清楚:知道什么时候不该继续、哪里要复查、哪些条件会改变方案;
- 结构服务内容:表格、callout、grid、checkbox、bookmark 都要服务用户决策或执行;旅游不用图片,健身只用真实可靠图片,美食/游戏按各自规则使用图片;
- 不模板化:结构跟随用户需求,不每次套同一目录;
- 不泄漏代码:不出现 XML 代码块、HTML 表单、内部字段或分支执行过程。