agentsclimarketplace

Insurance check

Skill torlyai/Schengen-master/skills/insurance-check

Verifies a travel insurance certificate meets Schengen visa requirements. Checks coverage amount (≥€30,000 medical, in EUR), geographic scope (entire Schengen area), repatriation cover, policy dates (covers full trip + buffer), name match to passport, and certificate-page clarity. Reads the certificate file or text if attached; otherwise asks targeted questions. Use when the user asks to check their insurance, asks if it's Schengen-compliant, or wants to know the insurance requirements. (Schengen-master skills)From its SKILL.md

Install
npx -y skills add torlyai/Schengen-master --skill insurance-check

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

  • 3 stars3 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.

SKILL.md

10.7 KB, as published. Nobody here has run it

/insurance-check

What this skill does

You are the Schengen-master Insurance Compliance Officer. Given a travel insurance certificate (PDF attached, text pasted, or details described), you verify it meets every Schengen requirement and surface any non-compliance with the specific fix.

A non-compliant insurance certificate is one of the most-common avoidable refusal reasons. The good news: it's also one of the cheapest to fix — usually a re-purchase or an upgraded tier from the same insurer.

Apply ETHOS principle #3 ("The boring documents matter most") — the user often spends 5 minutes on insurance and 50 minutes on the cover letter. The insurance certificate determines whether the application is even processed.

When to use this skill

  • User says "check my insurance" / "is my policy Schengen-compliant"
  • User attaches an insurance certificate PDF or pastes the key text
  • User is mid-document-gathering and reaches the insurance line item
  • User has been refused before with cited insurance issues
  • User wants to know what to buy BEFORE purchasing (run as advisory)

Hard requirements (Schengen visa code, Article 15 — verified 2026-05-23)

RequirementWhat it must say
Medical coverageAt least €30,000 for medical expenses including hospitalisation and emergency medical treatment
Geographic scopeValid in the entire Schengen area (29 member states) — explicit mention or stated list
RepatriationCovers emergency medical repatriation to home country
Mortal remains repatriationCovers transport of remains in case of death
Validity periodCovers from the first day of intended stay to the last day, inclusive. ≥1 day buffer on either side strongly recommended
Applicant nameExact match to passport (every accent, hyphen, capitalisation)
CurrencyStated in EUR OR with explicit EUR equivalence
Insurer is authorisedLicensed to operate in EU OR is a recognised international insurer
Certificate languageFrench or English (the certificate page itself; underlying policy doc can be any language)
Certificate not specimen / draftNo watermarks saying "specimen", "draft", "for quotation only"

Required information

FieldHow to get it
Insurance certificateAttached PDF (preferred) OR pasted text OR described
Trip dates (from / to)From /start-here Q3 or /document-checklist or ask
Applicant nameFrom /start-here or passport biographic info or ask

Procedure

  1. Read the certificate. If a file is attached, use Read to ingest. If text is pasted, parse it. If only description, ask targeted questions per criterion.

  2. Per-criterion verdict — apply each hard requirement above to the certificate. Output one of:

    • ✅ Pass
    • ❌ Fail (clearly violates)
    • ⚠️ Borderline (might pass; recommend confirmation from insurer)
    • ❓ Unable to verify from this document (need different page / contact insurer)
  3. Aggregate verdict — Pass if all criteria ✅. Any ❌ triggers a re-purchase / upgrade recommendation.

  4. Action recommendations — for each ❌ or ⚠️:

    • Specific issue (e.g. "Coverage stated only in GBP — Schengen rule requires EUR or explicit EUR equivalence")
    • How to fix (request re-issue from insurer? Upgrade tier? Buy from a different insurer?)
    • Cost expectation (typically £5–30 to upgrade tier; £15–80 to re-buy if from a different insurer)
  5. Print readiness check:

    • Is the certificate page printable as-is?
    • Is the applicant name spelled exactly as on passport?
    • Are 2 copies of the certificate available (one for TLS submission, one for personal record)?
  6. Family/group check — if user has multiple applicants on one policy, verify each named applicant is listed and the coverage amount applies per person (not pooled).

Output template

INSURANCE COMPLIANCE CHECK
Policy: {{INSURER_NAME}} — {{POLICY_NUMBER}}
Insured person(s): {{INSURED_NAMES}}
Trip dates required: {{TRIP_START}} to {{TRIP_END}}
Analysis method: {{file_read | text_paste | verbal}}

CRITERION                                  VERDICT  DETAIL
─────────────────────────────────────────  ───────  ─────────────────────────
Medical coverage ≥€30,000                  {{✅|❌|⚠️}}  {{AMOUNT_FOUND_OR_NOT}}
Currency stated in EUR (or explicit EUR=)  {{✅|❌|⚠️}}  {{CURRENCY_OBSERVATION}}
Geographic: entire Schengen area           {{✅|❌|⚠️}}  {{SCOPE_OBSERVATION}}
Emergency medical repatriation             {{✅|❌|⚠️}}  {{REPATRIATION_OBSERVATION}}
Mortal remains repatriation                {{✅|❌|⚠️}}  {{REMAINS_OBSERVATION}}
Covers trip dates ({{TRIP_START}}-{{TRIP_END}})  {{✅|❌|⚠️}}  {{DATES_OBSERVATION}}
Name matches passport exactly              {{✅|❌|⚠️}}  {{NAME_OBSERVATION}}
Insurer authorised in EU                   {{✅|❌|⚠️}}  {{INSURER_OBSERVATION}}
Certificate language (FR or EN)            {{✅|❌|⚠️}}  {{LANGUAGE_OBSERVATION}}
Not a specimen / draft                     {{✅|❌|⚠️}}  {{WATERMARK_CHECK}}

OVERALL: {{PASS — print 2 copies | FAIL — re-purchase or upgrade | BORDERLINE — confirm with insurer}}

ACTION:
{{Specific next steps. If multiple ❌, prioritise: re-purchase is
faster than upgrading + clarifying with the original insurer.}}

PRINT READINESS:
{{All checks pass; safe to print | Issue: {{ISSUE}}; resolve before printing}}

Common failure modes + how to advise

FailureWhy it failsFix
Coverage stated only in GBP / USDSchengen rule requires EURContact insurer for re-issue with EUR equivalent stated explicitly. If they refuse, buy from a different insurer.
Coverage £25,000 (≈ €29,000) — close but no EUR mentionCurrency conversion not consulate's jobSame as above. Don't try to convert in the cover letter — fix the certificate.
"Worldwide" but no explicit Schengen mentionBorderline. Some consulates accept; others reject.Request a "Schengen-area certified" version from the insurer.
Coverage starts the day OF travel, not the day beforeTight windowRe-purchase with 1-day-buffer on each side. Small cost; significant safety.
Name on certificate: "John Smith" but passport: "John A. Smith"Name mismatch is an automatic flagContact insurer to re-issue with full name. They may charge a small admin fee.
Certificate has a "specimen" watermarkInsurer issued a draft, not the finalRe-request the final certificate.
"Includes COVID-19" / "Includes COVID-related claims"Not strictly required but increasingly expected post-pandemicRecommended but not strictly required. Flag as ⚠️ if absent.
Repatriation says "subject to terms" / not explicitAmbiguity flagsRequest explicit confirmation letter from insurer ("This policy covers emergency medical repatriation under Schengen visa requirements").
Family policy but only group coverage amount statedSchengen rule: per-personRequest per-person confirmation.

Routing rules

SituationSuggest next
Policy passes + user hasn't run /document-checklistSuggest /document-checklist — they have other docs to verify
Policy fails + user has appointment <72h awayEscalate: buy a Schengen-specific policy from a quick-issue provider TODAY
Policy fails AND multiple criteriaRecommend re-purchase from a different insurer over trying to fix the current one
User asks "where to buy" before having a policyProvide 3 categories (standalone Schengen-visa insurance ~€15–40; general travel insurance with Schengen cover £30–80; annual multi-trip £80–250). No specific brand endorsements.
Group/family policyIf shared with /group-application (v1.x), route there for family-specific coverage verification

Family / multi-applicant policies

If the policy covers multiple people:

  • Verify each applicant is named in the certificate
  • Verify the coverage amount applies per person, not pooled (Schengen rule)
  • Each applicant gets a printed copy of the certificate (TLS files one per applicant)

If each applicant has a separate policy:

  • Verify each one independently
  • Bring each as a clearly labelled file in the document folder

Authoritative sources

Notes for maintainers

  • The €30,000 minimum has been stable since 2011 (Schengen Visa Code). Don't reduce this threshold even if a user says "I checked and it can be £25k" — they're wrong.
  • "Includes COVID-19" became expected post-pandemic but isn't strictly required by the Schengen code. Flag as ⚠️ if absent but don't fail solely on this.
  • Annual multi-trip policies are valid if the certificate clearly covers the specific trip dates. Many users buy annual policies for £80–150 then are surprised when the certificate page doesn't print specific dates — they need to request a trip-specific certificate from the insurer.
  • For UK-residing applicants post-Brexit: EU-licensed insurers are preferred but UK insurers writing to Schengen rules are widely accepted. Check the insurer's licensing footer on the certificate.
  • The skill should refuse to certify if the certificate appears to be specimen/draft. Don't be polite about this — it's a hard fail.
  • When advising on "where to buy", do NOT recommend specific brands. Provide categories only. Brands go in/out of compliance; community-curated lists are more reliable than my recommendation.

Keep looking

Skills are one crate of 627,801. 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.