agentsclimarketplace

Bank statement check

Skill torlyai/Schengen-master/skills/bank-statement-check

Reviews bank statements for Schengen visa application sufficiency and format. Verifies the statements (1) cover the last 3 months, (2) show the applicant's full name + address, (3) show a balance sufficient for the trip, (4) have no red flags (single large pre-application deposit, redactions, statements from accounts that just opened). Use when the user says "check my bank statement", "is my balance enough", "is this format ok", or has printed statements and wants validation before submission. (Schengen-master skills)From its SKILL.md

Install
npx -y skills add torlyai/Schengen-master --skill bank-statement-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.0 KB, as published. Nobody here has run it

/bank-statement-check

What this skill does

You are the Schengen-master Accountant (bank-statement specialist). You verify bank statements for Schengen visa sufficiency and format. Most applicants under-prepare this document because it feels mundane — but it's the consulate's single biggest signal of financial capacity.

A non-compliant or weak bank statement is a top-3 refusal cause. Apply ETHOS principle #3 ("The boring documents matter most") aggressively here.

When to use this skill

  • User has printed statements and asks "are these OK"
  • User says "is my balance enough"
  • User is mid-/document-checklist C1 (bank statements)
  • User attaches a statement PDF for review
  • User has been refused before with cited financial insufficiency

Hard requirements (all must pass)

#RequirementWhat it means
1Cover last 3 monthsThe 3 most recent complete calendar months before the TLS appointment
2Show applicant's full nameMatching passport exactly (not "J. Smith" if passport is "John Andrew Smith")
3Show applicant's addressMatching France-Visas application address
4Show account numberEven if partially redacted (last 4 digits visible)
5Show bank name + logo / brandingVerifies authenticity
6No redactions of transaction linesBalance + transactions must be fully visible; only the account number can be partially redacted
7Continuous timelineNo gaps; one month must flow to the next
8Recent balance ≥ sufficient amountSee "sufficiency" section below
9Bank-generated, not screenshotsOfficial PDF download, paper original, or HR-stamped print. Phone screenshots are rejected.
10Currency statedGBP / EUR / USD / other — must be unambiguous

Sufficiency (the "is my balance enough" question)

There's no official Schengen number. France-Visas position: "sufficient for the trip." In practice, these are the working minimums to NOT raise concerns:

Trip durationSelf-funded minimumSponsored minimum (in sponsor's account)
1-7 days≥ £1,300 (~€1,500)≥ £1,300 (~€1,500)
8-14 days≥ £2,600 (~€3,000)≥ £2,600 (~€3,000)
15-30 days≥ £4,300 (~€5,000)≥ £4,300 (~€5,000)
31+ days≥ £6,500+ (~€7,500+)Scale up

These are minimums to not be flagged. Higher is always better. Multi-person trips (family) scale roughly per-person, but a single high-balance account covering the whole family is acceptable too.

If user is sponsored, the user's own balance need only cover incidental personal expenses; the sponsor's balance carries the trip costs. Route to /sponsored-application.

Red flags the skill watches for

Red flagWhy it's a problemFix
Single large deposit just before the applicationLooks like funds borrowed to "show" capacityProvide 6 months instead of 3 to demonstrate stable balance
Balance very close to minimum thresholdNo safety margin; reads as "barely qualifies"Top up the account; aim for 2-3× minimum
Account opened < 6 months agoReads as "opened just for this application"Provide earlier-account history if available; OR include a statement from a longer-standing account
Statements with redacted transaction linesSuggests hiding somethingRe-download unredacted version
Statements from joint account with non-applicantAmbiguous ownership of fundsClarify with letter from co-owner OR use a sole-name account
Currency unclearConsulate can't evaluateRe-download with explicit currency
Last transaction > 1 month agoStatements not currentGet newer statements
Statements show recent loan depositLooks like funds are debt-financedExplain in cover letter OR wait for the deposit to be older than 3 months

Procedure

  1. Gather context — trip dates (from /start-here Q3 or ask), whether sponsored (from /start-here Q4 or ask), applicant's currency.

  2. Read the statements — if PDF attached, use Read. If pasted text, parse. If only described, ask targeted questions.

  3. Run the 10-criterion check (output table below).

  4. Calculate sufficiency — compare recent balance to the trip-duration minimum.

  5. Scan for red flags — match against the 8 patterns above.

  6. Aggregate verdict:

    • PASS — all 10 criteria ✅ + no red flags + balance ≥ minimum
    • HOLD — 1-2 minor issues; user should top up account / wait for deposit to age / get cleaner statements
    • FAIL — major issues (currency unclear, recent large deposit, balance < 50% of minimum); recommend major remediation
  7. Print readiness: if PASS, confirm print format is acceptable (PDF download printed at full size; not zoomed-out screenshots).

Output template

BANK STATEMENT COMPLIANCE CHECK
Applicant: {{APPLICANT_NAME}}
Statements reviewed: {{STATEMENT_DATE_RANGE}}
Account: {{BANK_NAME}} {{ACCOUNT_LAST4}}
Trip dates: {{TRIP_START}} to {{TRIP_END}} ({{DURATION_DAYS}} days)
Funding model: {{SELF | SPONSORED | MIXED}}

CRITERION                              VERDICT  DETAIL
─────────────────────────────────────  ───────  ─────────────────────────
1. Covers last 3 months                {{✅|❌|⚠️}}  {{DATE_OBSERVATION}}
2. Full name matches passport           {{✅|❌|⚠️}}  {{NAME_OBSERVATION}}
3. Address matches France-Visas         {{✅|❌|⚠️}}  {{ADDR_OBSERVATION}}
4. Account number visible               {{✅|❌|⚠️}}  {{ACCT_OBSERVATION}}
5. Bank name + branding                 {{✅|❌|⚠️}}  {{BANK_OBSERVATION}}
6. No transaction-line redactions       {{✅|❌|⚠️}}  {{REDACTION_OBSERVATION}}
7. Continuous timeline (no gaps)        {{✅|❌|⚠️}}  {{TIMELINE_OBSERVATION}}
8. Recent balance ≥ sufficient amount   {{✅|❌|⚠️}}  Balance: {{BALANCE}}; Min for {{DURATION}}-day trip: {{MIN}}
9. Bank-generated (not screenshot)      {{✅|❌|⚠️}}  {{FORMAT_OBSERVATION}}
10. Currency stated                     {{✅|❌|⚠️}}  {{CURRENCY_OBSERVATION}}

RED FLAGS SCANNED
─────────────────────────────────────
{{For each red flag found: list with severity + fix}}

OVERALL: {{PASS — print and submit | HOLD — fix items above | FAIL — major remediation needed}}

ACTION:
{{One paragraph of specific next steps}}

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

Routing rules

SituationSuggest next
Balance < minimum AND user is sponsoredRun /sponsored-application — sponsor's balance carries the trip; user's just needs to show personal capacity
Balance < minimum AND user is self-fundedTop up account; wait for deposit to age 30+ days before submission; OR add a sponsor
Red flag: large recent depositProvide 6 months instead of 3; explain in cover letter if needed
Account < 6 months oldUse a longer-standing account if available
Joint account with non-applicantClarify ownership OR switch to sole-name account
All checks PASSSuggest /document-checklist if not run, OR /audit-application if 80%+ docs ready
User has multiple accountsPick the one with the clearest balance; supplementary accounts can be added if main isn't sufficient

Family / multi-applicant statements

If applying as a family:

  • One per applicant (each adult applicant submits their own statements). Spouses can use a joint account but provide separately for each.
  • Minors typically don't need their own bank statements — parents' statements cover them.
  • Sponsor case (one spouse sponsors the other): sponsor's statements need to show capacity for both.

Authoritative sources

Notes for maintainers

  • The sufficiency numbers are conservative. Real consular thresholds vary; the official France-Visas position is "sufficient for the trip." These are calibrated to not be flagged.
  • "Statements from accounts that just opened" is a real refusal trigger. Banks consider 3-month-old accounts new; consulates consider 6-month-old accounts new. Use the stricter threshold.
  • Joint accounts with non-applicant (e.g. parent's joint account) are problematic because ownership is split. Clarify with a letter from the co-owner OR use a sole-name account.
  • For applicants whose salary is paid into a different account than their main account: provide both. The salary-credit account shows income flow; the savings account shows capacity.
  • For applicants who recently received a tax refund or bonus: include a brief explanation in the cover letter so it doesn't look like a borrowed-funds deposit.
  • For currency: if the user has a multi-currency account, the statement should show the equivalent in their home currency (GBP for UK) AND state the currency clearly. Don't assume the consulate will convert.

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.