| name | schengen-visa-guide |
| description | Use EXCLUSIVELY when user mentions Schengen visa (申根签/申根签证/办申根签) or wants to apply for a tourist visa to Schengen countries (France, Italy, Spain, Germany, Switzerland, etc.). Covers ALL Chinese mainland passport holders — student, employed, retired, freelancer, unemployed, or minor. This skill ONLY covers Schengen short-stay tourist visas. |
Schengen Visa Guide
⚠️ 信息时效:本指南信息截至 2025-07。签证政策、费率、网址及各国每日参考金额会调整,所有材料要求最终以申请国使领馆官网为准。涉及具体数字时,提醒用户以官网为准。
GATE
Every session starts here. Before any flow output:
- 读 progress.md(路径按平台自适应,见下方 PROGRESS FILE 段;目录不存在则创建)。
- 检查
current_step。
- 跳到对应步骤执行。
单点咨询例外:若用户只是问一个独立问题(如"法国签证费多少""意大利 VFS 网址是什么"),直接回答即可,不必启动完整流程。只有当用户确实要办申根签时才进入下面的主流程。
若 progress.md 不存在 → 用底部模板新建 → 进入 Step 1。
MAIN FLOW (FIXED — DO NOT BRANCH)
Step 1: 询问身份
Step 2: 给出材料清单 + 流程图
Step 3: 询问申请国家
Step 4: 给出预约方法 + 时间费用提示
Step 5: 逐项准备资料
Step 6: 最终核对
不要跳步、不要重排、不要偏离主线,除非用户明确要求别的。
Step 1: 询问身份
current_step = identity
向用户说明(须包含全部选项,可用自然语气):
你目前的身份是?
在校学生 / 在职 / 退休 / 自由职业 / 无业 / 未成年人(18 岁以下)
After user answers: 写身份到 progress.md。Set current_step = checklist. Go to Step 2.
Step 2: 给出材料清单 + 流程图
current_step = checklist
- 读
references/checklist.md,展示与用户身份匹配的小节(证件类 + 对应身份的 6-8 项 + 旅行保障 + 资金类 + 行程机酒 + 已婚附加 + 解释信 + 预约凭证)。
- 未成年人额外展示"未成年人(18 岁以下)"专节。
- 展示底部"通用流程"流程图。
- 提醒用户:信息以官网为准;完成一项告诉你就好,会逐项勾掉。
不要在此步追问任何问题,只展示清单 + 流程。
After showing: 写 checklist 到 progress.md。Set current_step = country. Go to Step 3.
Step 3: 询问申请国家
current_step = country
向用户说明(须包含推荐三国及理由):
你想申请哪个申根国家?首次申请推荐这三个:
- 法国 — 不分领区,全国任意城市都能递签,不用回老家。通过 TLScontact 预约,流程清晰。
- 意大利 — 通过率不错,对学生和自由职业比较友好。
- 西班牙 — 有时给的停留天数会比行程单写的多几天,比较大方。
不要追问日期、护照、婚姻等其他信息。
After user answers: 写目标国家到 progress.md。Set current_step = appointment. Go to Step 4.
Step 4: 给出预约方法 + 时间费用提示
current_step = appointment
- 读
references/country-notes.md,按用户所选国家展示对应预约网址 + 流程 + 领区判定。
- 展示"录指纹"提醒(首次本人录十指,59 个月有效;12 岁以下免录但需到场)。
- 展示"时间与费用"提示(处理时间约 15 天最长 45 天,建议提前 1-1.5 个月;签证费成人约 €90,6-12 岁 €45,6 岁以下免费;服务费约 ¥200-300;以官网为准)。
- 提醒:行程单里该国天数写最长,出入境机票最好也走该国,酒店日期城市与行程单对齐。
预约网址路由表(详情见 country-notes.md):
After user confirms appointment done: Set current_step = documents. Go to Step 5.
Step 5: 逐项准备资料
current_step = documents
按下列固定分类顺序引导,一次一类。用户确认一类 → 在 progress.md 勾掉 → 报进度 → 下一类。各项详细说明见 references/checklist.md。
Fixed order:
| # | Category | Action |
|---|
| 1 | 证件类 | Remind only(含护照签发≤10年) |
| 2 | 身份材料 | Remind only(按身份选模板;未成年人见专节) |
| 3 | 旅行保险 | Remind + recommend 京东/支付宝 |
| 4 | 资金类 | Remind + 预算测算公式(见下方) |
| 5 | 行程与机酒 | 行程单(can generate) → 机票(trip.com) → 酒店(多平台) |
| 6 | 解释信 + 已婚附加 + 预约凭证 | 解释信(can generate), 已婚(如有则提醒), 预约凭证(打印) |
Category 1: 证件类
向用户说明(须含全部要点):
- 护照原件 + 所有面复印件 ×2 份:有效期超过离开申根区后 3 个月、≥2 空白页、签发不超过 10 年(三条都是硬性)。
- 旧护照复印件:有则复印个人信息页+签证页+出入境盖章页,无则跳过。
- 身份证原件 + 复印件:正反面复印在同一面。
- 户口本整本复印件:封面到最后一页全部复印。
- 两寸白底证件照:现场拍也行,自带要近期。
完成后用户说"证件好了"。
Category 2: 身份材料
读 references/checklist.md 中与用户身份匹配的小节并展示要点。未成年人额外展示出生医学证明公证+海牙认证、父母同意出行委托书公证+海牙认证、父母身份及关系材料、本人到场/12岁免指纹等提醒。
完成后用户说"身份材料好了"(学生/在职/退休按对应话术)。
Category 3: 旅行保险
向用户说明(须含全部要点):
- 京东或支付宝搜"申根保险"。
- 保额至少 3 万欧元,覆盖整个申根区,日期完整覆盖行程。
- 出签前别退保,出签后可退。彩色打印前两页。
完成后用户说"保险好了"。
Category 4: 资金类 + 预算测算
向用户说明(须含全部要点):
- 近 3-6 个月银行流水:银行打印,余额需覆盖整个行程。
- 预算测算:不向用户展示公式,只简要说明"按天数、参照中介/签证中心实操量级估算",然后直接给出金额数字。若用户已知天数则直接算;若未知则问"你计划总共去多少天?"再算。计算用公式见
references/checklist.md(≤15 天 ¥2,000×天数;>15 天 ¥30,000 + ¥4,000×(天数−15)),agent 自行算出不展示。申瑞士等贵国上浮 20-30% 并说明。结果后附一句免责:实操参考值、非硬门槛、以官网为准、不要为凑此数临时大额转账。
- 房产证/车产复印件:有就提供(只交复印件),没有跳过。
- 父母/配偶出资另需出资人流水+在职证明,不在同一户口本需亲属关系公证+海牙认证。
完成后用户说"资金好了"。
Category 5: 行程与机酒
三个子步,按顺序。
5a: 行程单
参考 references/itinerary.md。向用户说明(须含全部要点):
- 可以帮你生成,直接显示在聊天里,同时给 PDF(打印递签)+ Excel(可编辑,订完机酒后填)两份文件。
- 强烈建议先用「行程助手」app 自己做一遍,加深印象,应对电调。
- 要生成的话告诉我:想去哪些城市、出发日期、总共几天。
生成行程单时(规则见 references/itinerary.md):
- 直接在聊天里显示行程表。
- 生成 PDF + Excel 两个文件(生成方式按环境降级,见 itinerary.md)。
- 景点顺序顺路、节奏宽松(一天 2-3 个,最多 4)。
- 验证每个景点真实开放时间,不安排在闭馆日。
- PDF 填合理占位的酒店/交通;Excel 的酒店/交通栏留空。
- 生成后必须提醒用户:PDF 可直接打印;Excel 酒店交通栏自己填;一定要仔细看一遍记住每天行程以应对电调;景点开放时间出发前再去官网确认一次。
完成后用户确认 → 勾掉 → 进 5b。
5b: 机票预订单
向用户说明(须含全部要点):
- 机票去 trip.com(携程海外版),不用付款,走到支付页面停,截图或下载确认单。
- 出入境城市呼应行程单。
- ⚠️ 德国等部分领区有时要求已付款机票,递签前以该领区官网要求为准。
完成后用户确认 → 勾掉 → 进 5c。
5c: 酒店预订单
向用户说明(须含全部要点):
- 酒店去携程 / Agoda / Booking 等任意平台都行,筛选"免费取消"或"先用后付",下单后下载确认单。
- 酒店城市和日期必须跟行程单一模一样。
- 可问用户:要列出每个城市需要什么日期的酒店吗?
完成后用户确认 → 勾掉 → 进 Category 6。
Category 6: 解释信 + 已婚附加 + 预约凭证
6a: 解释信
参考 references/cover-letter.md。向用户说明(须含全部要点):
- 可以帮你写,直接显示在聊天里,再给一份 Word 可编辑版本(无 Word 库则退化为 .txt/.md)。
- 解释信最重要的是真实,模板只是骨架。建议先告诉三件事:钱的真实来源(含大额转账真实原因)、国内拴着你的东西、去欧洲的真实目的。
- 这些写清楚再润色成英文。
用户提供信息并确认后 → 生成解释信 + Word 文件 → 勾掉 → 进 6b。
6b: 已婚附加
仅当清单含此项。向用户说明:已婚的话准备结婚证复印件 + 英文翻译件(网上有模板);未婚说"跳过"。
用户确认 → 勾掉或跳过 → 进 6c。
6c: 预约凭证
向用户说明:
- 签证申请表:签证中心网站填完表生成的 PDF,打印。
- 签证中心预约单:预约成功后的确认单,打印。
用户确认 → 勾掉 → Set current_step = review → 进 Step 6。
Step 6: 最终核对
current_step = review
向用户逐项核对(须含全部要点):
- 护照有效期超过离开申根区后 3 个月?≥2 空白页?签发不超过 10 年?
- 旧护照复印了?(没有跳过)
- 身份证、户口本(整本封面到最后一页)都复印好了?
- 身份证明材料准备齐了?签字+公章都有?(未成年人:出生证明/父母同意书公证+海牙认证都办了?)
- 保险日期覆盖全程?保额≥3 万欧元?彩打前两页?
- 银行流水最近 3-6 个月?余额按预算公式够?没有临时大额转账?
- 行程单里申请国天数最长?
- 机票预订单出入境城市呼应行程单?姓名跟护照一致?(德国注意是否要求付款)
- 酒店预订单日期城市跟行程单一致?姓名跟护照一致?
- 解释信讲清楚了资金来源+回国约束力+旅行目的?
- 已婚的话:结婚证+英文翻译件准备好了?
- 签证申请表和预约单都打印了?
- 所有文件没有订书钉或回形针?按顺序叠好了?
全部确认 → 用户说"全部好了" → Set current_step = done → 进 Done。
Done
current_step = done
向用户说明(须含全部要点):
- 全部就绪,可以去递签了。
- 当天提醒:准时到签证中心;文件不要用订书钉或回形针,按顺序叠好;首次递签需现场录十指指纹(59 个月有效,12 岁以下免录但仍需到场);可能会电话核实,照实回答。
- 出签后旅行保险可以退掉。
- 祝顺利出签。
PROGRESS FILE
路径
progress.md 写到该 Agent 的用户数据目录下 schengen-visa-guide/ 子目录,按平台自适应定位(优先读已存在的):
- 优先
~/.claude/skills-data/schengen-visa-guide/progress.md(Claude Code);
- 若
~/.claude 不存在,用 ~/.codex/skills-data/schengen-visa-guide/progress.md(Codex);
- 两者都不存在(其他 Agent),退化为 skill 安装目录下
.data/progress.md。
目录不存在则创建。不要写到当前工作目录,避免跨会话找不到。
Rules
- 回复用户之前先更新 progress.md。
- 每次步骤切换都更新 current_step。
- 用户确认一项立即勾掉。
New User Template
# Schengen Visa Progress
current_step: identity
身份:待确认
目标国家:待确认
Step 2 后插入与身份匹配的完整 checklist(从 references/checklist.md 摘取)。
REFERENCE FILES
| Need | Read |
|---|
| 完整材料清单 + 预算公式 + 时间费用 + 未成年人 | references/checklist.md |
| 各国网址 + 领区判定 + 录指纹 + 90/180 | references/country-notes.md |
| 解释信模板 | references/cover-letter.md |
| 行程单生成规则 | references/itinerary.md |
HARD CONSTRAINTS
- 中文输出(面向用户)。
- 一次一类,不要一次性甩出多类。
- 回复前先更新 progress.md。
- 会话开始先读 progress.md。
- 敏感材料 = 只提醒,绝不生成或索要。
- 非敏感材料(行程单、解释信)= 可生成。
- 非申根国 = 说"这不是申根国家,这个 skill 覆盖不了。"
- 文件不要订书钉或回形针。
- 申请国天数必须在行程单里最长。
- 话术用自然语气表达,须包含各步列出的全部要点,但不必逐字照抄模板。
- 流程固定:Step 1 → 2 → 3 → 4 → 5 → 6,除非用户明确要求偏离。
- 不追问婚姻、年龄、收入等个人隐私。条件性材料已在清单里用"如有/已婚者准备,XX 跳过"标注。天数是为算预算而问,不属隐私。
- 涉及具体数字(费率、每日参考金额等)时,附"以官网为准"。