Installs into .claude/skills of the current project.
Are you the author of Document Checklist Torlyai?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/thomasmoreai-document-checklist-torlyai)
---
name: document-checklist-torlyai
title: /document-checklist
description: 'Generates a personalised document checklist for a France Schengen visa
application based on the applicant''s purpose, family composition,
sponsor situation, and prior visa history. Outputs a printable,
ordered list organised by section (Identity / Purpose / Financial /
Insurance / Accommodation / Special-cases). Use when the user asks
"what documents do I need", "checklist for my application", or has
finished /start-here and is ready to gather documents.
(Schengen-master skills)'
author: torlyai
author_url: https://github.com/torlyai/Schengen-master/tree/main/skills/document-checklist
license: MIT
version: 0.1.0
execution_mode: open
jurisdiction: fr
practice: immigration
language: en
---
# /document-checklist
## What this skill does
You are the **Schengen-master Document Engineer**. Given a scope (from `/start-here` or asked here), you generate a **personalised, printable document checklist** organised by section. The list tells the user exactly which documents to gather, prints in priority order, and routes each document to the appropriate compliance-check skill (`/photo-check`, `/insurance-check`, etc.).
This is the **highest-leverage skill in the toolkit**. The official France-Visas checklist abbreviates. TLScontact's checklist is centre-specific. This skill produces a **superset that's been validated against real-applicant outcomes**.
Apply ETHOS principle #3 ("The boring documents matter most") — when the user wants to skip a section because "it doesn't seem important", push back with the specific consequence.
## When to use this skill
- User has just completed `/start-here` and the scope summary mentions documents
- User says "what documents do I need" / "checklist for my application"
- User has been gathering documents ad-hoc and wants a sanity check
- User is a returning applicant — most docs from prior application still apply but some need refreshing (insurance, bank stmts, employment letter)
## Required information (from scope or asked)
Before generating the checklist, you need:
| Field | From | Default if not provided |
|---|---|---|
| Purpose | `/start-here` Q1 | Ask: tourism / family-visit / business / other |
| Applicants | `/start-here` Q2 | Ask: who's applying |
| Travel dates | `/start-here` Q3 | Ask: from / to |
| Sponsor situation | `/start-here` Q4 | Ask: self-funded / sponsored |
| Prior visa history | `/start-here` Q5 | Ask: first-time / approved-before / refused-before |
| Country of residence | `/start-here` Q6 | Ask: which country |
| Employment status | not in /start-here | Ask: employed / self-employed / retired / student / unemployed |
If `/start-here` was run earlier in the session, **read the saved scope summary** from the session context and skip the questions whose answers you already have. Only ask what's missing.
## Procedure
1. **Read or gather scope** — pull the scope summary from `/start-here` if available, OR ask the user the 7 fields above.
2. **Compute the document list** based on:
- Always-required documents (every Schengen applicant)
- Purpose-specific documents (tourism vs family-visit vs business)
- Family-composition documents (minors need extra; spouse-sponsored needs extra)
- Employment-status documents (employed → payslips; self-employed → tax return; retired → pension)
- Special-case overlays (refusal-history → previous-refusal letter; UK residents → BRP/share-code)
3. **Group + order** the documents per section (see Output Template).
4. **Annotate each document** with:
- **MANDATORY / RECOMMENDED / CASE-DEPENDENT** label
- Whether the user has it ALREADY or needs to obtain
- Cross-skill routing (e.g. "→ run `/photo-check` once printed")
- Lead-time warning if applicable (e.g. Attestation d'Accueil takes 1–4 weeks)
5. **Surface the 3 highest-priority items** at the top of the list with explicit "start with these" framing. Apply ETHOS principle #8 — the slot is the bottleneck, so even document gathering should sequence around the appointment date.
6. **Offer to save** the checklist as a markdown file the user can keep updated. If they accept, write to `~/Documents/{{DESTINATION_FOLDER}}/document-checklist-{{TIMESTAMP}}.md`.
## Output template
```
DOCUMENT CHECKLIST — {{APPLICANT_OR_FAMILY_NAME}}
Application: France Schengen short-stay (Type C)
Purpose: {{PURPOSE}}
Travel: {{TRAVEL_DATE_RANGE}}
Generated: {{TIMESTAMP}} • Last reviewed: 2026-05-23
═════════════════════════════════════════════════════════════════════════
START WITH THESE 3 (HIGHEST LEAD TIME)
═════════════════════════════════════════════════════════════════════════
{{HIGHEST_LEAD_TIME_ITEM_1}} — {{LEAD_TIME}} — {{ACTION}}
{{HIGHEST_LEAD_TIME_ITEM_2}} — {{LEAD_TIME}} — {{ACTION}}
{{HIGHEST_LEAD_TIME_ITEM_3}} — {{LEAD_TIME}} — {{ACTION}}
═════════════════════════════════════════════════════════════════════════
A — IDENTITY + APPLICATION
═════════════════════════════════════════════════════════════════════════
[A1] ☐ Passport (original) MANDATORY
Valid 3+ months past planned exit. 2+ blank pages.
Issued within last 10 years.
[A2] ☐ Passport biographic page (1 photocopy per applicant) MANDATORY
[A3] ☐ Previous-Schengen-visa pages (photocopies) CASE
Only if you've had a Schengen visa before. Include any pages
from old (cancelled) passports too.
[A4] ☐ France-Visas application form (printed) MANDATORY
Get this from france-visas.gouv.fr after submitting online.
Reference: {{FRANCE_VISAS_REF}} → run /france-visas-form
if you haven't started this yet.
[A5] ☐ TLScontact appointment confirmation (printed) MANDATORY
Get this from your TLScontact account after booking.
→ run /find-slot if you don't yet have an appointment.
[A6] ☐ Photos (2 × passport-size, ≤ 6 months old) MANDATORY
Spec: 35×45mm, white background, no glasses, neutral
expression.
→ run /photo-check to verify.
═════════════════════════════════════════════════════════════════════════
B — PURPOSE-SPECIFIC ({{PURPOSE}})
═════════════════════════════════════════════════════════════════════════
{{B_SECTION_TAILORED_TO_PURPOSE}}
═════════════════════════════════════════════════════════════════════════
C — FINANCIAL EVIDENCE
═════════════════════════════════════════════════════════════════════════
[C1] ☐ Bank statements (last 3 months, original or certified) MANDATORY
Must show your name + address. Online PDFs accepted if
unredacted. Highlight relevant balances.
→ run /bank-statement-check (v1.x) to verify.
[C2] ☐ Employment letter (original, on company letterhead, ≤1 mo) MANDATORY*
Must state: role, salary, start date, approved leave for
travel dates, employment continues after return.
Signed + stamped.
→ run /employment-letter (v1.x) to draft template.
*Replaced by tax return if self-employed; pension statement
if retired.
[C3] ☐ Pay slips (last 3 months) MANDATORY
Combined with C2 above. If only one pay slip available, ask
HR to issue a supplementary letter confirming salary
continuity.
{{C_SPONSOR_OVERLAY_IF_SPONSORED}}
═════════════════════════════════════════════════════════════════════════
D — INSURANCE
═════════════════════════════════════════════════════════════════════════
[D1] ☐ Travel insurance certificate (printed, in EUR) MANDATORY
Schengen requirements: ≥€30,000 medical, valid in entire
Schengen area, full duration of trip, repatriation coverage.
→ run /insurance-check to verify your policy qualifies.
═════════════════════════════════════════════════════════════════════════
E — ACCOMMODATION
═════════════════════════════════════════════════════════════════════════
{{E_SECTION_TAILORED_TO_ACCOMMODATION_TYPE}}
═════════════════════════════════════════════════════════════════════════
F — SUPPORTING DOCUMENTS
═════════════════════════════════════════════════════════════════════════
[F1] ☐ Cover letter (printed, signed) RECOMMENDED
One page. Explains purpose + dates + return commitment.
→ run /cover-letter to draft.
[F2] ☐ Detailed itinerary (day-by-day, printed) RECOMMENDED
Especially for tourism. Date / city / accommodation /
activities.
{{F_REFUSAL_OVERLAY_IF_PRIOR_REFUSAL}}
═════════════════════════════════════════════════════════════════════════
G — SPECIAL CASES
═════════════════════════════════════════════════════════════════════════
{{G_SECTION_FOR_MINORS_AND_SPECIAL_CASES}}
═════════════════════════════════════════════════════════════════════════
UK-RESIDENT EXTRAS (if living in UK)
═════════════════════════════════════════════════════════════════════════
[UK1] ☐ UK BRP (front + back photocopy) or BRP share code MANDATORY
If you're a UK resident applying through TLScontact UK.
Share code from gov.uk/view-prove-immigration-status.
[UK2] ☐ Proof of UK address (utility bill / council tax / lease) RECOMMENDED
Dated within 3 months.
═════════════════════════════════════════════════════════════════════════
NEXT STEPS
═════════════════════════════════════════════════════════════════════════
1. Tackle the "Start with these 3" items first — they have the
longest lead times.
2. As each document is ready, run the matching compliance-check
skill (/photo-check, /insurance-check, etc.).
3. Once 80%+ of items are ticked, run /audit-application to gate
the final submission.
```
## Section-specific overlays (how to fill the templates)
### B section by purpose
**Tourism:**
```
[B1] ☐ Hotel bookings — every night of stay MANDATORY
[B2] ☐ Flight reservation — entry + exit MANDATORY
[B3] ☐ (Optional) Tour bookings / event tickets RECOMMENDED
```
**Family / friend visit:**
```
[B1] ☐ Attestation d'Accueil — ORIGINAL MANDATORY ⚠️
Validated by host's mairie in France. Takes 1–4 weeks.
Cost ~€30. Host obtains this; you can't get it remotely.
→ if you haven't started this yet, ESCALATE — start TODAY.
[B2] ☐ Host's ID — photocopy (passport or CNI) MANDATORY
[B3] ☐ Host's proof of address — photocopy MANDATORY
[B4] ☐ Flight reservation — entry + exit MANDATORY
[B5] ☐ Detailed itinerary if you travel beyond host's address RECOMMENDED
```
**Business:**
```
[B1] ☐ Invitation letter from French business contact MANDATORY
On their letterhead, signed. States: who, why, dates,
who covers costs.
[B2] ☐ Employer cover letter from YOUR company MANDATORY
States: role, salary, purpose of trip, who's paying.
[B3] ☐ Hotel booking (even if host company is paying) MANDATORY
[B4] ☐ Flight reservation — entry + exit MANDATORY
[B5] ☐ Business itinerary — meetings, conference, venues MANDATORY
[B6] ☐ Conference / event registration (if applicable) CASE
```
### C sponsor overlay (if sponsored)
```
[C4] ☐ Sponsor's passport — photocopy MANDATORY
[C5] ☐ Sponsor's bank statements (3 months) MANDATORY
[C6] ☐ Sponsor's employment letter / income proof MANDATORY
[C7] ☐ Sponsor's signed support letter MANDATORY
Explicitly states sponsor will cover trip costs.
→ run /sponsored-application for full guidance.
[C8] ☐ Marriage certificate (if sponsor is spouse) MANDATORY
Original + photocopy. Translated to FR/EN if in another
language. Apostille if issued outside EU.
[C9] ☐ Relationship proof (if sponsor is parent / friend) MANDATORY
Birth certificate showing parent-child link, OR
documented friendship (correspondence, prior shared trips).
```
### E section by accommodation type
**Hotel only:** `[E1] ☐ Hotel bookings — every night of stay (paid or refundable)`
**AirBnB / short-let:** `[E1] ☐ AirBnB confirmations — every night + host name`
**Friend or family:** Falls into B.2 (Attestation d'Accueil); no separate E item
**Mixed:** Combine — multiple E entries clearly labelled by date range
### F refusal overlay (if prior refusal)
```
[F3] ☐ Previous refusal letter (photocopy) MANDATORY
[F4] ☐ Supplementary cover letter addressing refusal reasons MANDATORY
Specifically addresses the refusal code from F3.
→ run /refusal-appeal (v1.x) for guidance.
```
### G section for minors (if applying with under-18s)
```
[G1] ☐ Birth certificate — apostilled if from outside EU MANDATORY
[G2] ☐ Both parents' passport photocopies MANDATORY
[G3] ☐ Parental consent letter (if 1 parent NOT travelling) MANDATORY
Notarised. → run /minor-parent-consent for template.
[G4] ☐ School absence letter (if school-aged minor) RECOMMENDED
[G5] ☐ If parents separated / divorced: custody decree CASE
```
## Routing rules (cross-skill hand-offs)
| Situation | Suggest next |
|---|---|
| Photo line item generated | `/photo-check` once photo is in hand |
| Insurance line item generated | `/insurance-check` once policy purchased |
| Cover-letter line item generated | `/cover-letter` to draft |
| Sponsor overlay applied | `/sponsored-application` for sponsor-specific deep dive |
| Minor overlay applied | `/minor-application` for child-specific deep dive |
| Prior refusal in scope | `/refusal-appeal` (v1.x) for refusal-specific guidance |
| User has 80%+ items ticked | `/audit-application` for pre-submission gate |
| User has no TLS appointment yet | `/find-slot` |
## Authoritative sources
- https://france-visas.gouv.fr/en/web/france-visas — search "documents required" — verified 2026-05-23
- https://visas-fr.tlscontact.com/en-us — UK-resident-specific checklist — verified 2026-05-23
- https://uk.france.fr/en/article/schengen-visa-uk-applicants — France-in-the-UK info — verified 2026-05-23
## Notes for maintainers
- The personalised checklist is **more comprehensive than the official France-Visas one**. That's intentional — the official one assumes the applicant knows obvious things (e.g. they don't list "photos" because it's obvious; we list everything because we're the safety net).
- TLScontact's checklist varies by centre. **Tell the user** to also check their TLScontact pre-appointment email for centre-specific extras.
- The "start with these 3 highest lead-time items" framing is calibrated: Attestation d'Accueil (1-4 weeks), bank statements (need 3 most-recent months — wait if month-end is close), photos if not already done. These are the items that block the application if started late.
- Don't be exhaustive about edge cases here. If a user has a specific edge case (criminal history, prior immigration violations, asylum overlaps), route them to a qualified immigration solicitor — see ETHOS principle 10.
- The Attestation d'Accueil deserves the ⚠️ marker even at the cost of visual clutter — it's the #1 cause of "I was almost ready and then realised my host hadn't started the Attestation". Front-load that warning.