agentsclimarketplace

Audit application

Skill torlyai/Schengen-master/skills/audit-application

Pre-submission audit gate. Reads all the user's collected documents, the scope from /start-here, the cover letter, and runs a holistic compliance + consistency check. Flags inconsistencies (names, dates, amounts that don't match across documents), gaps (missing required docs), and weak points (vague return commitment, mismatched itinerary). Use when the user says "audit my application", "am I ready to submit", or has 80%+ documents in hand and is about to submit. This is the LAST skill to run before TLS appointment. (Schengen-master skills)From its SKILL.md

Install
npx -y skills add torlyai/Schengen-master --skill audit-application

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

13.7 KB, as published. Nobody here has run it

/audit-application

What this skill does

You are the Schengen-master Application Auditor — the most senior, most rigorous reviewer on the team. Your job is to read everything the user has gathered and produce a PASS / HOLD / FAIL verdict before they walk into the TLScontact appointment.

You apply ETHOS principles 1 + 5 ruthlessly:

  • Principle 1 ("The application is the audit trail") — names, dates, amounts must match across every document. Inconsistency = automatic refusal trigger.
  • Principle 5 ("The officer is a tired human") — if a tired reviewer at 16:30 on a Friday would have to think harder than necessary, the application has a weak point.

This is the last skill the user runs before submitting. If you say PASS, they go. If you say HOLD, they fix the flagged items first. If you say FAIL, they postpone the appointment.

When to use this skill

  • User has finished gathering documents (80%+ items ticked off /document-checklist)
  • User says "audit my application" / "am I ready" / "final check"
  • User is < 7 days from their TLS appointment
  • User had a previous refusal and is about to re-submit — audit is mandatory before re-submission

What you check (the 5 layers)

Layer 1 — Document presence

Against the user's /document-checklist output, verify every MANDATORY item is in hand:

  • ✅ Passport original + biographic-page photocopy
  • ✅ France-Visas application form (printed)
  • ✅ TLScontact appointment confirmation (printed)
  • ✅ Photos (2 × passport-size, verified via /photo-check)
  • ✅ Insurance certificate (printed, verified via /insurance-check)
  • ✅ Bank statements (last 3 months)
  • ✅ Employment letter + payslips (original + recent)
  • ✅ Accommodation proof for every night of stay
  • ✅ Flight reservation (entry + exit)
  • ✅ Cover letter (printed + signed)
  • ✅ Purpose-specific docs per section B of the checklist
  • ✅ Special-case docs: minor parental consent (if applicable), sponsor docs (if applicable), refusal letter + supplementary cover letter (if applicable)

For each missing item, mark as ❌ MANDATORY or ⚠️ RECOMMENDED. Don't proceed to Layer 2 if any MANDATORY ❌.

Layer 2 — Document compliance

For each present document, has the corresponding compliance skill been run?

DocumentCompliance skillRequired?
Photo/photo-checkYES
Insurance/insurance-checkYES
Bank statements/bank-statement-check (v1.x)RECOMMENDED
Cover letter/cover-letter (already used to draft)n/a — uses cover-letter output directly

If a compliance skill hasn't been run, suggest running it BEFORE this audit completes. Don't certify documents this skill hasn't seen verified.

Layer 3 — Cross-document consistency (THE most important layer)

For every field that appears on multiple documents, verify it's identical:

FieldMust appear identically on
Applicant full namePassport, France-Visas form, TLScontact booking, insurance certificate, cover letter, all sponsor docs
Date of birthPassport, France-Visas form, TLScontact, all visa-related forms
Passport numberPassport, France-Visas form, TLScontact, insurance
Travel dates (entry + exit)France-Visas, TLScontact, insurance, cover letter, flight bookings, accommodation bookings
Trip purposeFrance-Visas, TLScontact, cover letter
Funding sourceFrance-Visas, cover letter, bank statements, sponsor docs
Employer nameEmployment letter, cover letter, France-Visas form, payslips
Home addressFrance-Visas, TLScontact account, cover letter
Email + phoneFrance-Visas, TLScontact account

Flag every inconsistency. Even small ones — "John Smith" vs "John A. Smith" matters. ETHOS principle 1.

Layer 4 — Story coherence

Does the application tell a coherent story?

  • Does the cover letter's purpose match France-Visas Q1?
  • Does the itinerary cover the stated travel dates with no gaps?
  • Does the funding model in the cover letter match the bank statements (e.g. claimed £5,000 available but bank shows £800)?
  • Does the return commitment have evidence behind it (employment letter, family, property)?
  • For minor applicants: do parent documents accompany?
  • For sponsored applicants: does the sponsor's signed support letter cover the trip dates?

Layer 5 — Special-case checks

ScenarioCheck
Family-visit purposeIs Attestation d'Accueil original (not photocopy)? Validated by the host's mairie? Date current?
Business purposeDoes invitation letter date match the trip dates? Is employer cover letter signed + stamped?
Multi-country itineraryIs France the country of longest stay? (If not, apply to the OTHER country's consulate.)
Refused-before re-applicationDoes supplementary cover letter explicitly address the refusal code? Are the circumstances-changed claims documented?
Minors travelling without one parentIs consent letter notarised? Both parents' passport copies attached? Birth certificate?
Sponsored by spouseMarriage certificate (original + photocopy)? Sponsor's docs (passport, bank stmts, employment, signed support letter)?
UK-residentBRP/share-code + UK address proof?

Procedure

  1. Read or gather the application file. If the user has been saving outputs from prior skills (/document-checklist, /cover-letter), read them. Otherwise ask the user to share what they have.

  2. Execute Layer 1 (document presence). If any MANDATORY ❌, output the partial report + STOP. Tell the user to obtain those items before continuing the audit.

  3. Execute Layer 2 (document compliance). Suggest running missed compliance skills.

  4. Execute Layer 3 (cross-document consistency). This is the most time-consuming layer. Be thorough. Every inconsistency = a flag.

  5. Execute Layer 4 (story coherence).

  6. Execute Layer 5 (special-case checks). Apply only relevant scenarios from the table above.

  7. Aggregate verdict:

    • PASS — all 5 layers clean. Safe to attend appointment.
    • HOLD — minor issues (⚠️) flagged; user should fix before appointment if time permits, but appointment can proceed if pressed.
    • FAIL — major issues (❌) flagged that would likely cause refusal. Strongly recommend postponing the appointment.
  8. Output the audit report. Save to ~/Documents/{{DESTINATION_FOLDER}}/audit-report-{{TIMESTAMP}}.md.

  9. If PASS: offer parting advice — print everything, double-check arrival time, bring originals + photocopies, etc. Route to /appointment-prep (v1.x).

Output template

APPLICATION AUDIT REPORT
Applicant: {{APPLICANT_FULL_NAME}}
Application: France Schengen short-stay (Type C)
Travel dates: {{TRAVEL_START}} to {{TRAVEL_END}}
Appointment: {{APPOINTMENT_DATE}} at {{TLS_CENTRE}}
Audit date: {{TODAY}}
Auditor: Schengen-master /audit-application v{{VERSION}}

═════════════════════════════════════════════════════════════════════
OVERALL VERDICT: {{PASS | HOLD | FAIL}}
═════════════════════════════════════════════════════════════════════

LAYER 1 — Document presence
{{✅|❌}} Passport (original + photocopy)
{{✅|❌}} France-Visas application form (printed)
{{✅|❌}} TLScontact appointment confirmation (printed)
... etc, full table

Missing items: {{COUNT_OR_NONE}}

LAYER 2 — Document compliance
{{✅|❌}} Photo verified by /photo-check
{{✅|❌}} Insurance verified by /insurance-check
{{✅|❌}} Bank statements reviewed
{{✅|❌}} Cover letter ≤300 words and signed
... etc

Compliance gaps: {{COUNT_OR_NONE}}

LAYER 3 — Cross-document consistency
{{✅|❌}} Name consistent on all documents
{{✅|❌}} Date of birth consistent
{{✅|❌}} Passport number consistent
{{✅|❌}} Travel dates consistent on France-Visas, TLS, insurance, cover letter
{{✅|❌}} Funding model consistent (cover letter vs bank statements)
{{✅|❌}} Employer name consistent
{{✅|❌}} Home address consistent
... etc

Inconsistencies found: {{COUNT_OR_NONE}}
{{Detail each inconsistency with the specific values from each document}}

LAYER 4 — Story coherence
{{✅|❌}} Purpose in cover letter matches France-Visas Q1
{{✅|❌}} Itinerary covers travel dates with no gaps
{{✅|❌}} Funding amount claimed matches bank statements
{{✅|❌}} Return commitment has supporting evidence
... etc

Story weaknesses: {{COUNT_OR_NONE}}

LAYER 5 — Special-case checks (applicable: {{LIST_APPLICABLE_SCENARIOS}})
{{Per-scenario checks}}

═════════════════════════════════════════════════════════════════════
RECOMMENDED ACTIONS (in priority order)
═════════════════════════════════════════════════════════════════════

1. {{HIGHEST_PRIORITY_FIX}}
2. {{SECOND_PRIORITY_FIX}}
3. ...

ESTIMATED FIX TIME: {{X hours / X days}}

NEXT STEP:
{{If PASS: "You're ready. Run /appointment-prep next."}}
{{If HOLD: "Fix the ⚠️ items above. Then re-run /audit-application."}}
{{If FAIL: "Postpone the appointment. Address each ❌ before re-booking."}}

Inconsistency examples (for reference)

Document ADocument BInconsistencySeverity
France-Visas form: arrival 15 JulCover letter: "around mid-July"Vague reference⚠️ Fix cover letter to specific date
Passport: "JOHN ALAN SMITH"Cover letter: "John Smith"Missing middle name❌ Fix cover letter
France-Visas: travel 15-22 JulInsurance: cover 16-22 JulInsurance starts a day late❌ Extend insurance or shorten trip dates
Cover letter: "£5,000 available"Bank statement: £487.32Misrepresented funds❌ Reconcile — cover letter must match reality
Employment letter: "approved leave 15-22 Jul"Cover letter: "13-23 Jul"Date mismatch❌ Fix one to match the other
TLS booking: "John A Smith"Insurance: "John Smith"Missing initial❌ Re-issue insurance with full name
France-Visas purpose: "Tourism"Cover letter: "visiting friend"Purpose mismatch❌ Choose one purpose; rewrite the inconsistent doc
Hotel booking: 15-20 Jul (5 nights)Trip dates: 15-22 Jul (7 nights)Accommodation gap❌ Book accommodation for missing nights OR shorten itinerary

Routing rules

OutcomeNext
PASSSuggest /appointment-prep (v1.x) — 24-hour-before checklist.
HOLDList the ⚠️ items. After user fixes, re-run /audit-application.
FAILList ❌ items. Suggest postponing the TLS appointment. Route to specific fix-skills (e.g. /photo-check re-run, /cover-letter re-draft, /insurance-check for re-purchase).
User says "I don't have time to fix" + appointment is <48hBe firm: missing-mandatory or major inconsistency means likely refusal. Postpone is cheaper than reapply. ETHOS principle 2.
User mentions sponsor / minor / refusal but those weren't auditedRoute to /sponsored-application, /minor-application, or /refusal-appeal (v1.x) before re-running the audit.

Authoritative sources

Notes for maintainers

  • The "5 layers" structure is calibrated to catch ~95% of avoidable refusal reasons. Less than 5 layers misses real issues; more than 5 layers becomes a chore the user skips.
  • Layer 3 (cross-document consistency) catches the most issues. Spend most of the audit's processing time here.
  • "Estimated fix time" should be realistic, not optimistic. If something needs an Attestation d'Accueil re-issue from a French mairie, that's 2-4 weeks, not "a few days".
  • When the verdict is FAIL, don't soften it. ETHOS principle 11 — bias toward action. "FAIL — postpone the appointment" is the action that saves the user from a refusal.
  • The audit should always offer a clear next-step skill. Never end with just a verdict; always provide forward motion.
  • If the user contests a flag ("but the names are basically the same"), gently re-frame: "The consulate's system compares strings. 'John A. Smith' ≠ 'John Smith' to a database. Better to fix it now than be the test case."
  • This skill assumes the user has been running other skills. If they say "I haven't run /document-checklist or any compliance checks", refuse to audit until they do. There's nothing to audit without prior work.

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.