Schengen Visa Guide

SkillDev tools

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.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Schengen Visa Guide skill

What this skill tells your AI

The instructions your AI receives, as published by endlessbluewjl/schengen-visa-guide in SKILL.md and read by ahel’s review.

⚠️ 信息时效:本指南信息截至 2025-07。签证政策、费率、网址及各国每日参考金额会调整,所有材料要求最终以申请国使领馆官网为准。涉及具体数字时,提醒用户以官网为准。

GATE

Every session starts here. Before any flow output:

  1. 读 progress.md(路径按平台自适应,见下方 PROGRESS FILE 段;目录不存在则创建)。
  2. 检查 current_step
  3. 跳到对应步骤执行。

单点咨询例外:若用户只是问一个独立问题(如"法国签证费多少""意大利 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

  1. references/checklist.md展示与用户身份匹配的小节(证件类 + 对应身份的 6-8 项 + 旅行保障 + 资金类 + 行程机酒 + 已婚附加 + 解释信 + 预约凭证)。
  2. 未成年人额外展示"未成年人(18 岁以下)"专节。
  3. 展示底部"通用流程"流程图。
  4. 提醒用户:信息以官网为准;完成一项告诉你就好,会逐项勾掉。

不要在此步追问任何问题,只展示清单 + 流程。

After showing: 写 checklist 到 progress.md。Set current_step = country. Go to Step 3.


Step 3: 询问申请国家

current_step = country

向用户说明(须包含推荐三国及理由):

你想申请哪个申根国家?首次申请推荐这三个:

  1. 法国 — 不分领区,全国任意城市都能递签,不用回老家。通过 TLScontact 预约,流程清晰。
  2. 意大利 — 通过率不错,对学生和自由职业比较友好。
  3. 西班牙 — 有时给的停留天数会比行程单写的多几天,比较大方。

不要追问日期、护照、婚姻等其他信息。

After user answers: 写目标国家到 progress.md。Set current_step = appointment. Go to Step 4.


Step 4: 给出预约方法 + 时间费用提示

current_step = appointment

  1. references/country-notes.md,按用户所选国家展示对应预约网址 + 流程 + 领区判定。
  2. 展示"录指纹"提醒(首次本人录十指,59 个月有效;12 岁以下免录但需到场)。
  3. 展示"时间与费用"提示(处理时间约 15 天最长 45 天,建议提前 1-1.5 个月;签证费成人约 €90,6-12 岁 €45,6 岁以下免费;服务费约 ¥200-300;以官网为准)。
  4. 提醒:行程单里该国天数写最长,出入境机票最好也走该国,酒店日期城市与行程单对齐。

预约网址路由表(详情见 country-notes.md):

CountrySystemURL
FranceTLScontacthttps://france-visas.gouv.fr/zh → ② https://visas-fr.tlscontact.cn
ItalyVFS Globalhttps://visa.vfsglobal.com/chn/zh/ita
SpainBLShttps://web.blscn.cn
GermanyVFS Globalhttps://visa.vfsglobal.com/chn/zh/deu
SwitzerlandVFS Globalhttps://visa.vfsglobal.com/chn/zh/che
NetherlandsVFS Globalhttps://visa.vfsglobal.com/chn/zh/nld
OtherSee references/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:

#CategoryAction
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):

  1. 直接在聊天里显示行程表。
  2. 生成 PDF + Excel 两个文件(生成方式按环境降级,见 itinerary.md)。
  3. 景点顺序顺路、节奏宽松(一天 2-3 个,最多 4)。
  4. 验证每个景点真实开放时间,不安排在闭馆日。
  5. PDF 填合理占位的酒店/交通;Excel 的酒店/交通栏留空。
  6. 生成后必须提醒用户: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

向用户逐项核对(须含全部要点):

  1. 护照有效期超过离开申根区后 3 个月?≥2 空白页?签发不超过 10 年?
  2. 旧护照复印了?(没有跳过)
  3. 身份证、户口本(整本封面到最后一页)都复印好了?
  4. 身份证明材料准备齐了?签字+公章都有?(未成年人:出生证明/父母同意书公证+海牙认证都办了?)
  5. 保险日期覆盖全程?保额≥3 万欧元?彩打前两页?
  6. 银行流水最近 3-6 个月?余额按预算公式够?没有临时大额转账
  7. 行程单里申请国天数最长?
  8. 机票预订单出入境城市呼应行程单?姓名跟护照一致?(德国注意是否要求付款)
  9. 酒店预订单日期城市跟行程单一致?姓名跟护照一致?
  10. 解释信讲清楚了资金来源+回国约束力+旅行目的?
  11. 已婚的话:结婚证+英文翻译件准备好了?
  12. 签证申请表和预约单都打印了?
  13. 所有文件没有订书钉或回形针?按顺序叠好了?

全部确认 → 用户说"全部好了" → Set current_step = done → 进 Done。


Done

current_step = done

向用户说明(须含全部要点):

  • 全部就绪,可以去递签了。
  • 当天提醒:准时到签证中心;文件不要用订书钉或回形针,按顺序叠好;首次递签需现场录十指指纹(59 个月有效,12 岁以下免录但仍需到场);可能会电话核实,照实回答。
  • 出签后旅行保险可以退掉。
  • 祝顺利出签。

PROGRESS FILE

路径

progress.md 写到该 Agent 的用户数据目录下 schengen-visa-guide/ 子目录,按平台自适应定位(优先读已存在的):

  1. 优先 ~/.claude/skills-data/schengen-visa-guide/progress.md(Claude Code);
  2. ~/.claude 不存在,用 ~/.codex/skills-data/schengen-visa-guide/progress.md(Codex);
  3. 两者都不存在(其他 Agent),退化为 skill 安装目录下 .data/progress.md

目录不存在则创建。不要写到当前工作目录,避免跨会话找不到。

Rules

  1. 回复用户之前先更新 progress.md。
  2. 每次步骤切换都更新 current_step。
  3. 用户确认一项立即勾掉。

New User Template

# Schengen Visa Progress

current_step: identity
身份:待确认
目标国家:待确认

Step 2 后插入与身份匹配的完整 checklist(从 references/checklist.md 摘取)。


REFERENCE FILES

NeedRead
完整材料清单 + 预算公式 + 时间费用 + 未成年人references/checklist.md
各国网址 + 领区判定 + 录指纹 + 90/180references/country-notes.md
解释信模板references/cover-letter.md
行程单生成规则references/itinerary.md

HARD CONSTRAINTS

  1. 中文输出(面向用户)。
  2. 一次一类,不要一次性甩出多类。
  3. 回复前先更新 progress.md。
  4. 会话开始先读 progress.md。
  5. 敏感材料 = 只提醒,绝不生成或索要。
  6. 非敏感材料(行程单、解释信)= 可生成。
  7. 非申根国 = 说"这不是申根国家,这个 skill 覆盖不了。"
  8. 文件不要订书钉或回形针。
  9. 申请国天数必须在行程单里最长。
  10. 话术用自然语气表达,须包含各步列出的全部要点,但不必逐字照抄模板。
  11. 流程固定:Step 1 → 2 → 3 → 4 → 5 → 6,除非用户明确要求偏离。
  12. 不追问婚姻、年龄、收入等个人隐私。条件性材料已在清单里用"如有/已婚者准备,XX 跳过"标注。天数是为算预算而问,不属隐私。
  13. 涉及具体数字(费率、每日参考金额等)时,附"以官网为准"。

Signals

GitHub stars
29
Forks
1
Last commit
Jul 2026
Advanced
Catalog kind
skill
Gateway key
schengen-visa-guide
Source
github.com/endlessbluewjl/schengen-visa-guide