agentsclimarketplace

Schengen visa guide

Skill EndlessBlueWJL/schengen-visa-guide

申根签证 AI Agent 技能 — 按身份定制清单、跨会话记忆,带你跑完办签全流程

Install
npx -y skills add EndlessBlueWJL/schengen-visa-guide

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 23 stars23 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

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.

SKILL.md

13.9 KB, as published. Nobody here has run it

Schengen Visa Guide

⚠️ 信息时效:本指南信息截至 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. 涉及具体数字(费率、每日参考金额等)时,附"以官网为准"。

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.