Imported from sickn33/agentic-awesome-skills (
skills/travel-planner/SKILL.md). Install upstream withnpx skills add sickn33/agentic-awesome-skills --skill travel-planner. Copyright stays with the author (MIT).
旅行规划 (Travel Planner)
When to Use
- 用户提出任何旅行、出游、行程规划相关需求时使用;用户未明说"规划"但请求涉及目的地、天数、路线或行程安排的,同样适用
- 覆盖自由行、家庭游、亲子游、商务出差、自驾等所有类型
为用户的旅行需求生成一份完整、可执行、节奏合理的规划。输出一律用中文。 以下四个步骤按顺序执行,不得跳步、不得提前输出。
第一步:收集需求(必问预算)
在开始任何联网查询或规划前,先收集齐以下信息。用户请求里没明确给出的,用一次提问问清(不要逐条追问,按顺序打包成 4-7 个问题):
- 出发地:用户所在城市/出发城市(影响大交通与预算口径;用户未提时默认按用户所在地推断,并在输出页眉注明推断假设)
- 目的地:城市/地区,必要时细分到区域
- 日期与天数:起止日期或"X天"+ 大致出发时间
- 同行人与人数:个人 / 情侣 / 带老人 / 带孩子 / 团队——老人小孩直接影响节奏
- 预算——必须问:人均或总预算、口径(含不含机票/购物)。用户没提预算就必须问,不能跳过、不能自己默认。若用户说"没想好",给出档位让他选:经济(青旅/公共交通)、舒适(中档酒店/地铁为主)、奢华(高星酒店/包车)。**预算未确认前,只输出问题清单,不输出任何行程内容——包括草稿、框架、示例,都不要给。**若用户明确拒绝提供预算,默认按舒适档规划,并在输出页眉注明"按默认舒适档估算"。用户回答预算后,才进入第二步。
- 偏好:节奏(松弛/紧凑/无所谓)、兴趣(美食/人文/自然/购物/夜生活/小众)、避雷内容
- 限制:签证/证件、身体条件、天气敏感度、是否需要 WiFi/翻译/无障碍
目的地范围红线:行程范围严格等于用户指定的目的地(指定城市名即其行政市域,指定地区即该地区域)。不得擅自加入其他城市/区域——包括"顺路""高铁 1 小时内"的周边一日游,哪怕你认为单城天数偏长。若天数确实偏多:(1)优先放慢节奏、加深单城玩法——冷门点位、博物馆、街区深度游、留半天休息日;(2)周边一日游只能作为问题清单里的一道选择题先问用户("X天单城可能偏长,是否考虑加 1-2 天周边一日游?"),用户明确同意后才纳入主行程;未获同意则主行程保持单城。若用户明确要求"环线/深度游"等跨区域形态,当行程必须覆盖跨出指定区域的部分时,在输出开头向用户明确解释每个跨区点的原因,并给出严格限定在指定区域内的替代方案,让用户拍板,不得擅自决定。
第二步:联网调研(实时信息)
用 WebSearch/WebFetch 联网核实以下内容,输出中标注信息来源与查询日期:
- 目的地当前状况:最佳季节、当月天气气温、节庆或大型活动(影响人流与价格)
- 大交通:出发地→目的地航班/高铁/大巴的价格区间与耗时、机场/车站→市区方式
- 住宿:按预算档位推荐区域,各区域特点与大致价位
- 景点:必去景点开放时间、门票、预约要求、排队预期;小众景点
- 签证/入境(国际旅行必查):要求、材料、办理时间
- 当地实用信息:时差、货币、语言、安全、电源插头
调研纪律:
- 搜索时带年份/月份关键词,优先取最新信息;区分"攻略观点"与"事实性信息"(开放时间、票价、签证政策以官方为准)
- 来源分级:事实性数据(票价/开放时间/政策)优先官方渠道(景区官网、政府公告、12306、航司、场馆官方公众号),权威媒体次之;自媒体与"野榜"(小红书、自媒体榜单、平台号攻略)只作线索不作依据——仅出自自媒体的信息须标注"来源为自媒体,需官方确认",不得当确定事实写;美食/口碑类推荐须多个本地来源交叉验证,单一榜单不作推荐理由
- 可追溯:每个事实性数据(票价、开放时间、闭馆日、签证要求、班次时刻)都要能追溯到来源——查询所得项标注来源与查询日期(如"某航司官网 2026-08""官方公告 2026-02"),未查到的一律明确写"未查到,需自行确认"
- 绝不编造:查不到或不确定的,明确写"需以官网/预订平台为准"
- 若联网工具不可用,在输出开头声明:"以下为知识库信息,票价/开放时间/航班等实时信息可能过期,请以官方渠道为准"
第三步:构建行程框架
先定优先级,再排天,然后逐条校验以下规则(R1-R13 全部必须满足,编号用于对照,不是可选项):
R1 优先级分级:用调研结果与目的地公认热度,把候选景点分为必去级(城市顶级地标——5A/国家级场馆/当地共识必打卡)、值得去级(有特色但可取舍)、可选级(锦上添花,如次级景点、小众点位)。必去级必须进主行程,绝不放备选;可选级只作补充,不能当行程主卖点。排序依据是热度数据与官方评级,不是模型自己的偏好。若必去级总量超出天数可承载(按 R3 体量、R4 独占一天计算排不下),不得静默删减:按热度与官方评级降序,把取舍选项一次写入问题清单让用户拍板(如"3 天排不下全部必去景点,以下二选一:…)",用户同意后才可移出主行程,并在自检表备注注明原因与依据。
R2 高商业化旅游街避雷:商业化严重、目标客群是游客的街区/美食街(特征:全国统一的小吃摊、网红店聚集、本地人不去),不得排为必去级,也不得作为美食推荐的主要来源。这类地点要么降级为"顺路可逛",要么写进避雷说明(标注"商业化严重、餐饮全国统一、坑多,逛可以、吃住别选这里");美食推荐以本地人常去为主——老字号、居民区、菜场周边小店。
R3 体量定负荷:判断"赶不赶"看体量而非个数。每天 2-3 个主景点(或 1 个大景点 + 周边);两个重量级(大型景区/国家级场馆/纪念地)不得同日,重量级只能配轻量级(街区/广场/商场)。自驾行程中,长途驾驶本身计入每日体量:单日车程 ≥4 小时视为一个重量级,"车程+游玩"合并评估当天负荷;两个长驱日之间必须隔开。
R4 顶流园区独占一天:一天都逛不完的顶流园区(如口碑顶流的超大型园区)必须独占一天,不得与任何其他主景点同日——宁可整体少排景点,也不压缩大园。唯一例外见 R5。
R5 收尾型并日(例外):主景点玩完后,同区域次一级景点的**"收尾型"并日**可接受(经实测验证的成熟玩法)——前提:次一级点只安排核心区段(如主园林 4-5h 后接次一级景区遗址区夕阳收尾 2-2.5h,非全园),并注明可替换为休整/商圈。不得做全园。
R6 时间预估带缓冲:每个景点先按纯浏览时间估算,再统一加 1-2 小时缓冲,覆盖入场/安检/排队、找路、吃饭、休息、拍照、离场等实际因素,避免按两套口径重复计入。热门大型园区直接按一整天到闭园估,绝不压缩。宁可排松,不可排满。
R7 不砍核心景点:5 天及以上的单城行程不得砍核心景点——必去级与热门值得去级都要保住;排不下就拆天、挪位、合并轻量级,而不是从行程里删景点。
R8 大型博物馆半天起步:国家级大馆(藏品数十万件的省级以上博物馆)至少 4-6 小时,标注建议时长前先确认场馆体量,不许把大馆塞进"上午 3 小时"。
R9 顶级商圈:中档及以上预算的行程应纳入顶级商场/商圈体验,放在晚间、雨天或休整日。以本地人日常消费为主的品质商圈为准;若该商圈同时属于 R2 所述高商业化游客街,降级为"顺路可逛",改为推荐商场内部高品质餐饮/展览作为替代;用户明确无购物偏好时不强制纳入。
R10 行程锚定住宿区域:先定住宿区域(按预算+全程动线),之后每一天都从"酒店出发"的视角估算交通衔接——住市中心枢纽则各日从容;住宿偏远时逐日重估通勤,不允许出现"从偏远酒店出发还要 1 小时才到第一站"的安排。全程建议住同一家酒店,避免中途搬行李;自驾环线无法同店连住时,以"行李随车、每晚只收拾次日小包"变通并注明。
R11 地理就近:同一天排同一区域,减少来回奔波。
R12 全局去重:所有天排完后整体检查一遍——同一街区/市集/夜游点不得在多个晚上重复出现(顺路路过与专门安排视为重复)。重复的合并或替换为同类替代(如换本地人常去的另一处),保证每天体验有差异,不把行程排成"同一批地方的循环"。
R13 主观体验类项目列为可选:实景演出、大型演出、游船/画舫夜游、主题乐园夜场、摩天轮等高单价、强主观喜好的项目,默认列入"可选加项"供用户拍板,不自动占主行程晚间位置。用户未明确偏好时,全行程此类晚间项目至多保留 1 个(选最经典的那个),其余进可选清单(注明价格与确认渠道)。必要交通性乘船(如登岛只能坐船)不算游船项目,正常排。
通用要求(适用于每一天):
- 节奏默认中等;带老人小孩或用户要求松弛时每日主景点数减至 1 个或只排半天,商务出差留弹性
- 受天气影响的活动(户外、夜景、游船)必须有备选方案
- 热点餐厅/博物馆等标注预约提示
第四步:按模板输出
输出前强制检查(不可跳过):正式撰写输出前,重读本文件"第三步"的 R1-R13 与文末"质量红线",逐条对照已排定的行程;发现不合规(体量失衡、必去级缺失或进了备选、重复安排、时长未带缓冲等)先在草稿中修正,再进入模板输出。输出完成后,按模板末尾的"规则自检表"逐条填写。
严格按照以下模板输出,顺序与层级不变,Markdown 格式:
[目的地] X天Y夜行程规划
规划日期 / 信息查询日期 / 人数与类型 / 预算档位
📋 行程总览
- 天数、日期、季节与天气概要
- 每日一句话主题(如 D1 老城区漫步、D2 海边)
🗓️ 逐日行程表
Day 1(日期 星期)
- 上午:…
- 下午:…
- 晚上:…
- 交通:…(地铁/公交/步行/打车/自驾里程 + 大致耗时)
- 备选:…(天气/预约不上时的方案)
💰 预算估算(人均)
| 项目 | 经济 | 舒适 | 奢华 | 备注 |
|---|---|---|---|---|
| 往返大交通 | ||||
| 住宿(X晚) | ||||
| 餐饮 | ||||
| 门票/活动 | ||||
| 市内交通 | 自驾含租车/油费/过路费/异地还车费 | |||
| 合计 |
说明:预算表只输出用户所选档位对应的列(经济/舒适/奢华);哪些项为联网查询所得(注明来源与查询日期),哪些为估算(注明口径)。查询所得金额逐一标注,如"¥1200(航司官网 2026-08)"
🚄 交通与住宿建议
- 抵达/离开交通:班次建议时段、价格区间、订票平台提醒
- 市内交通:地铁卡/APP/打车软件与大致成本;自驾含租车车型/取还车点/保险/加油提示
- 住宿区域:按预算档位推荐,列出各区域优缺点与价位
🏞️ 景点与美食清单
- 必去:理由 + 建议时长 + 预约提示
- 小众/隐藏:值得绕路去的
- 避雷:商业化严重/口碑差/坑多的地方,写明避雷原因(全国统一小吃、宰客、溢价);顺路可一句带过,不推荐专门安排时间
- 美食:当地必吃 + 推荐餐厅类型/区域,以本地人常去为主(老字号/居民区/菜场周边),标注需预约的
⚠️ 注意事项
- 签证/证件(国际旅行)、气候与穿衣、安全与风俗、实用信息(时差/货币/网络/电源);自驾含驾驶安全、限行时段、边防/边境证件、加油点
✅ 出行前二次确认清单
把最容易变化、且规划时依赖查询结果的信息集中列出,提醒用户在预订/出发前核对官方渠道(每一项注明:查到什么、什么时候查的、去哪里确认):
- 签证政策(入境要求/材料/办理时间)——官方:使领馆/出入境管理局
- 航班/高铁时刻与行李额——官方:航司/12306
- 景点开放时间、闭馆日、预约——官方:景点官网/官方小程序
- 汇率与当地支付方式——官方:银行/支付平台
- 天气预警(雨季/台风/寒潮)——官方:气象部门
📎 数据来源索引
按景点/事项分组列出本次规划引用的所有事实性数据:项目 → 查到值 → 来源 → 查询日期。仅列确有查询结果的数据;未查到的在逐日行程相应位置标"⚠️需自行确认"。
✅ 规则自检表(置于行程文档最末,交付前必须逐条填写)
| 规则 | 判定 | 备注(具体证据,不得留空) |
|---|---|---|
| R1 优先级分级:必去级全部在主行程、绝不在备选 | ||
| R2 高商业化旅游街:未排为必去、未作美食主来源 | ||
| R3 体量:无两重量级同日,重量级只配轻量级;自驾单日车程≥4h 计入体量 | ||
| R4 顶流园区独占一天(R5 收尾型例外除外) | ||
| R5 收尾型并日:只游核心区段、注明可替换 | ||
| R6 时长带缓冲:每段含排队/交通/拍照余量,顶流按整天 | ||
| R7 5 天及以上单城:核心景点无删减 | ||
| R8 大馆半天起步(4-6h) | ||
| R9 中档及以上预算含品质商圈(高商业化游客街除外,无购物偏好不强制) | ||
| R10 住宿锚定:每日从酒店出发算通勤 | ||
| R11 地理就近:同日同区域 | ||
| R12 全局去重:无同一街区/市集/夜游点多晚重复 | ||
| R13 主观体验类(演出/游船/夜场/摩天轮):默认可选加项,晚间至多1个 | ||
| 红线① 预算已确认后才规划(拒绝提供预算时注明按默认舒适档) | ||
| 红线② 范围=指定目的地,无擅自加城市 | ||
| 红线③ 实时数据可追溯(来源+查询日期),无编造 | ||
| 红线④ 节奏合理:无塞满行程,每天安排人能走完 | ||
| 红线⑤ 模板结构与输出语言(中文)固定不变 |
- 判定:✓ 符合 / △ 检查中发现并已修正后符合 / — 不适用(如非国际行程)
- 规则编号与正文 R1-R13 一一对应;任何一条为 △ 都意味着交付前修改过,备注应说明改了什么
以下排版规则与质量红线为技能内部约束,仅供规划时执行,不得作为行程文档的一部分输出:
排版规则(与模板同等重要):
- 来源与行程分层:逐日行程主体只写时间/地点/活动/交通衔接,行内不逐句挂"来源:xxx";来源集中到"数据来源索引"小节(位于二次确认清单之后、规则自检表之前);仅有争议或未查到的数据才在行内标"⚠️需自行确认"
- 预算表:来源统一放表下"说明"或数据来源索引,不在备注列逐格贴来源
- 推荐与事实分层:景点美食清单中,推荐理由(为什么值得去/吃)与事实数据(票价/开放时间/预约)分行或分列呈现,不揉杂
以上信息查询于 [日期],票价与开放时间以官方渠道为准。需要调整节奏、预算或某一天安排,直接说。
质量红线(最后兜底,优先级最高,与正文冲突时以红线为准)
- 必问预算——用户没给预算就只提问、不出行程(任何形式的草稿/框架都不行),预算确认后才开始规划;拒绝提供时按舒适档并注明
- 范围红线——主行程只覆盖用户指定目的地,未经同意不得添加其他城市的周边一日游。想加必须先问;未获同意时,周边游至多在"备选方案"小节约一句并注明"超出你要求的范围,仅作参考"
- 不编造——实时数据可追溯(来源+查询日期);查不到就写"需自行确认"
- 节奏合理优先于塞满行程,每天的安排必须是人能走完的;因节奏删减项目时,被删项目须经用户确认(R1 取舍机制),不得静默丢弃
- 模板结构与输出语言(中文)固定不变
Examples
示例 1:标准规划流程
用户:"帮我规划成都 3 天 2 晚,带父母,预算舒适档。"
技能:一次提问补齐剩余信息(出发地、具体日期、节奏偏好、是否忌口等),等待用户确认预算与答案;预算确认后联网调研,再按模板输出。输出片段:
# 成都 3天2夜行程规划
> 规划日期:2026-08-08 / 信息查询日期:2026-08-08 / 2 成人 2 老人 / 舒适档
## 📋 行程总览
- 3 天 2 夜,8 月下旬,晴热多雷阵雨(来源:气象部门 2026-08)
- D1 武侯祠—锦里老城区 / D2 熊猫基地一整天 / D3 杜甫草堂—宽窄巷子
## 🗓️ 逐日行程表
### Day 1(2026-08-21 周五)
- **上午**:武侯祠(约 2.5h 含缓冲,门票 50 元,来源:景区官网 2026-08)
- …
示例 2:预算未确认时不输出行程
用户:"帮我规划去西安玩。"
技能:只输出问题清单(目的地细节、日期天数、同行人、预算档位、偏好、限制),不给出任何行程草稿或示例。
Limitations
- 实时信息(票价/开放时间/签证政策/航班班次)以规划时的联网查询为准,可能过期,须以官方渠道确认;技能不保证其准确性
- 查询不到的数据只能标注"需自行确认",不得编造
- 行程为建议而非预订承诺,预订前须走完"出行前二次确认清单"
- 突发情况(大型活动临时管制、极端天气、景点临时闭园)无法提前预测,备选方案不能替代现场确认
- 无联网环境时只能输出知识库级信息,并按要求在输出开头声明