Travel Guide Builder(出境游新手攻略生成器)
Overview
把「给没出过国的人做旅行攻略」沉淀为可复用流程。每次任务的产物是:一份按时间线+场景组织、图形化、少文字的攻略,最终交付手机屏 9:16 PDF(一页刚好一屏)和/或可勾选交互式 HTML 网页。
本 skill 的最大价值不是排版,而是事实核查纪律:新手攻略里的常识性错误(尤其中国与海外相反的地方)可能造成安全隐患(打错紧急电话、带违禁品入境被起诉)。每个目的地都必须走完 14 项核查清单(含治安、法律合规、风俗禁忌)。
工作流总览
Step 1 旅伴画像问卷 → Step 2 信息收集(14项) → Step 3 事实核查(先确认再改)
→ Step 4 内容设计(幼儿园友好+人群专属) → Step 5 HTML制作(1080×1920) → Step 6 PDF生成验证+交付
Step 1: 旅伴画像问卷(一步一步引导,问完再动笔)
先问清「和谁去」,再谈「去哪怎么玩」。 完整问题清单和引导流程见 references/traveler-profile-questionnaire.md(Step 1 必读)。要点:
- 分五组逐组问(用 AskUserQuestion,每组 ≤4 题选项化勾选,不开放问答、不挤牙膏):
- 第一组 基础:目的地+日期、天数、谁看攻略(有无出国经历)、交付形式。
- 第二组 旅伴构成:总人数;有没有女性;有没有老人(多大年纪);有没有孩子。
- 第三组 孩子年龄段(有孩子才问):0-2 / 3-6 / 7-12 / 13-17 岁,多孩分别确认——不同年龄段攻略内容完全不同。
- 第四组 健康药物:慢性病(糖尿病/高血压/心脏病/哮喘/过敏);长期服药药名;目的地环境特殊药(晕车晕船/高原反应/防疟疾/肠胃)。
- 第五组 饮食习惯:口味偏好(能吃辣/清淡/咸/甜——中国地域差异大,用户来自哪里先做推断再确认);忌口与过敏(素食/清真/花生/海鲜/麸质,逐个点名确认);主食习惯(米饭/面食/西餐);美食冒险度(只吃熟食 / 愿试街头小吃 / 什么都敢吃)。多人同行口味冲突要记录。 - 每个答案直接路由到专属内容(映射表见问卷文件):女性→女生专属 3 页;老人→老人专属页+全行程节奏复核;孩子→按年龄段定制儿童页;慢性病/特殊药→药物页(必须先核查该国药品入境合法性)。
- 问完输出旅伴画像表给用户确认,确认后才进入 Step 2。
Step 2: 信息收集(14 项必查)
逐项用 WebSearch 查证当前最新信息(签证政策、汇率、入境规则经常变)。前 12 项见 references/fact-check-checklist.md,每项都标注了「查什么」和「中国 vs 海外差异点」。前 12 项:
- 签证(类型/费用/对中国公民的优惠)
- 插座与电压(用 D/M/G 等插头代码,不要只说"英标")
- 汇率与现金(实时查询,标注 1¥≈?₨ 仅供参考)
- 出发当月天气(雨季/旱季/季风,海滩是否安全)
- 入境流程(入境卡是否还需要!数字入境卡可能已取消)
- 海关限制(烟/酒/现金/农产品/茶叶/无人机,出境限值)
- 紧急电话(报警/急救/火警+中国使馆+外交部领保 12308)
- 支付方式(Visa/MC/Amex/银联/本地移动支付+现金必要性)
- 交通与安全(火车/突突车/包车,本地特有的安全风险)
- 小费文化(给不给/给多少/哪些场景不用给)
- 语言(基础英语场景句+当地语言高频词+数字+发音)
- APP 与网络(国内先装什么/当地用什么/eSIM)
- 目的地法律与合规(毒品量刑、枪支、赌博、电子烟、无人机、拍照禁令、处方药违禁成分)——见
references/destination-compliance-checklist.md,按 🔴违法坐牢级 / 🟠高罚款风险 / 🟡文化冒犯级 分级警示 - 治安环境与风俗习惯(外交部安全提醒等级、高风险街区、针对游客的犯罪、宗教禁忌、着装与身体语言)——见
references/destination-compliance-checklist.md;若旅伴画像有女性/老人/孩子,治安结论要按人群复核
另有目的地饮食核查(主食结构、口味特征、生食与饮水风险、街头小吃安全度、宗教饮食规则、中餐馆兜底分布)——见 references/dietary-preferences-checklist.md 第三节,与 Step 1 第五组问卷答案交叉使用。
还有时差与夏令时核查(差几小时、是否跨夏令时切换日、飞行方向)——见 references/jet-lag-checklist.md。时差 ≥3 小时或跨夏令时切换日的行程,Step 4 必须追加时差调整内容,且行程头两天按「半功率」设计。
Step 3: 事实核查(最关键,不可跳过)
这是本 skill 的灵魂步骤,来自真实教训(斯里兰卡攻略曾把报警/火警电话写反)。
- 逐项交叉验证:每个关键数字/规则至少 2 个来源,优先政府官网、使领馆、权威旅游部门。
- 重点排查「中国 vs 海外」相反点,这是新手最容易踩坑、也最常出错的地方:
- 紧急电话(如斯里兰卡 110=火警、119=报警,与中国相反)
- 烟酒/药品携带限制(有些国家香烟完全禁止,不是"限 200 支")
- 插座标准(可能是 D/M/G 多种混用,带万能转换插头)
- 靠左行驶、小费文化、自来水安全、点头=摇头等 - 发现错误先列清单给用户确认,得到确认后再改文件。不要直接改。清单按严重程度排序(安全隐患 > 事实错误 > 建议补充),用对比表呈现「原文 → 事实 → 影响」。
- 存档核查依据:把查证结果和来源写进项目记忆,方便日后修订。
Step 4: 内容设计(幼儿园友好原则 + 人群专属路由)
4.1 基础设计(所有攻略通用)
- 双维度组织:时间线(出发前 1 个月/2 周/1 周)+ 场景(行李/海关/APP/生活/安全/小费/语言),场景化内容放时间线之后。
- 一页只讲一件事:每页一个主题,不要堆砌。
- 红绿灯标签体系:🟢 必须(t-must)/ 🔵 推荐(t-rec)/ 🔴 禁止(t-ban),全篇统一。
- 图标化:emoji + 大色块卡片代替长句;正文一句话能说清绝不用两句话。
- 实物示意图:需要采购的物品(转换插头、eSIM、防蚊喷雾等)用内嵌 SVG 画实物示意,标注电商搜索关键词 + 参考价区间,让用户能直接下单。
- 对话参考:海关、小费、打车等场景做「一问一答气泡」,像剧本一样照着演。
- 安全警告:红色醒目边框 + ⚠️,放在页面显眼位置,语言要绝对明确(如「报警打119,不是110!」)。
- 语言页:基础英语用「照着念」的短句(小学生水平),当地语言给高频词+音译+数字 1-10。
4.2 人群专属内容(按 Step 1 旅伴画像路由,缺什么补什么)
| 画像特征 | 追加页面 | 必读文件 |
|---|---|---|
| 有女性 | 女生专属 3 页:行李(护肤美妆/生理用品)/ 安全场景 / 生理期应对 | references/women-friendly-checklist.md |
| 有老人 | 老人专属页:节奏/保险/药物/无障碍/防走失;并以老人体力为基准重新复核全行程(砍早起、留午休、高强度活动后跟轻松日) | references/elderly-kids-checklist.md |
| 有孩子 | 儿童专属页,按年龄段分别定制:0-2「怎么带」/ 3-6「怎么哄」/ 7-12「怎么玩」(含活动年龄身高限制核查)/ 13-17「怎么放」(含父母同意书、年龄法) | references/elderly-kids-checklist.md |
| 有慢性病/特殊药物 | 药物页:常用药携带规则 + 目的地环境药箱 + 🔴「这些药别乱带」违禁成分警示(与第 13 项核查联动) | references/health-medication-checklist.md |
| 有忌口/口味偏好 | 饮食页:「吃得惯吗」家乡口味 vs 当地风味对比 + 必吃&慎吃清单 + 当地语过敏原卡 + 分人群饮食红线(老人软食/儿童不辣/糖尿病低糖/痛风忌海鲜啤酒/素食清真友好度) | references/dietary-preferences-checklist.md |
| 时差 ≥3 小时或跨夏令时 | 时差调整页:双钟表 SVG 对照卡 + 出发前/机上/落地 48h/回程四阶段建议 + 分人群(儿童硬过渡、老人放松一档、慢病服药对照卡);并联动行程设计(大时差 Day1 不排重头戏) | references/jet-lag-checklist.md |
| 第 13-14 项合规核查有 🔴/🟠 结论 | 「🔴 这些事在中国不算事,在那会坐牢」页 + 「🙏 当地规矩」页 | references/destination-compliance-checklist.md |
专属人群页放在主体场景页之后、结尾页之前;页数有专属内容时可放宽到 30 页。
Step 5: HTML 制作(手机屏 1080×1920)
- 页面设计规范、CSS 骨架、典型页面结构见
references/mobile-guide-html-template.md。 - 要点:
@page { size:1080px 1920px; margin:0 };每页<div class="page">,page-break-after:always;每页底部统一 footer(章节名 + 页码 + 总页数)。 - 所有示意图一律内嵌 SVG,禁止外链图片:沙箱网络常无法访问 Wikimedia 等图床,外链图片在 PDF 里会裂图。
- 字体只用系统字体(Microsoft YaHei / PingFang SC),避免渲染缺字。
- 页数控制在 20-25 页;有专属人群页(女性/老人/儿童/药物)时放宽到 30 页。
Step 6: PDF 生成与验证
- 用
scripts/make_mobile_pdf.sh <input.html> <output.pdf>生成(封装了 Edge headless 全部踩坑参数)。 - 若脚本不可用,手写命令也参照
references/pdf-generation.md里的完整命令(必须--headless=new --no-sandbox,Windows 下缺了会静默失败)。 - 用 pymupdf 验证:页数是否等于 HTML 中
.page数、每页尺寸 810×1440pt、渲染关键页为 PNG 目检(新页面、紧急电话页、封面、目录必查)。验证脚本见references/pdf-generation.md。 - 用 present_files 交付 PDF;同时更新项目记忆(daily log + MEMORY.md)。
Resources
scripts/
make_mobile_pdf.sh:Edge headless 转手机屏 PDF 的封装脚本(含 Windows 踩坑参数)。
references/
traveler-profile-questionnaire.md:Step 1 必读。旅伴画像分步问卷(5 组问题+选项)、「画像→内容」映射表。人数、女性、老人、孩子年龄段、慢性病与药物、口味忌口与美食冒险度,一次问清。fact-check-checklist.md:前 12 项必查清单,每项含查什么 + 中国/海外差异警示。Step 2-3 必读。destination-compliance-checklist.md:第 13-14 项:目的地治安、法律法规(毒品/枪支/赌博/电子烟/无人机/处方药)、风俗禁忌,按 🔴🟠🟡 分级呈现。Step 2-4 必读。health-medication-checklist.md:慢性病用药携带规则 + 目的地环境特殊药箱 + 违禁药品成分警示。旅伴画像有用药需求时必读。dietary-preferences-checklist.md:Step 1 第五组必读。中国地域口味差异推断表、目的地饮食核查项(主食/生食/街头小吃/宗教饮食规则)、分人群(女性/老人/儿童/糖尿病/高血压/痛风/素食/清真)饮食建议与警告、当地语过敏原卡规范。jet-lag-checklist.md:时差与夏令时核查(差值/方向/DST 切换日/日期变更线)、影响分级(≤2h 一行提示 / ≥6h 完整页面)、出发前-机上-落地 48h-回程四阶段调整建议、分人群差异(儿童/老人/慢病服药/易失眠)、褪黑素入境管制提醒、与行程头两天设计联动。Step 2 必查、时差 ≥3 小时时 Step 4 必读。elderly-kids-checklist.md:老人专属内容 + 儿童按年龄段(0-2/3-6/7-12/13-17)分别定制的攻略规范。旅伴画像有老人或孩子时必读。women-friendly-checklist.md:当受众是女性时,补充护肤美妆、生理用品、衣物穿搭、安全场景、生理期应对。Step 4 若受众为女性则必读。mobile-guide-html-template.md:手机屏 HTML 的 CSS 骨架、页面结构规范、SVG 示意图规范。Step 5 必读。