learn
/learn
Zapisuje w lokalnym pliku notatek podstawowy kontekst wniosku wizowego Schengen, taki jak daty podróży, skład grupy, sponsor, pracodawca i etap, aby kolejne sesje kontynuowały od miejsca przerwania.
- Autor
- torlyai ↗
- Repozytorium
- schengen-master ↗
- Licencja
- MIT
- Ostatnia zmiana repozytorium
- 12.06.2026
Ocena i bezpieczeństwo
- Pliki w paczce
- 1
- Skrypty
- 0
- Komentarze HTML
- 0
- Adresy URL w SKILL.md
- 0
Brak sygnałów. Repozytorium zmienione 12.06.2026, bez odwołań do wycofanych modeli i API.
MIT, otwarta: można używać i zmieniać, z zachowaniem informacji o autorze.
Co robi i kiedy
Zapisuje w lokalnym pliku notatek podstawowy kontekst wniosku wizowego Schengen, taki jak daty podróży, skład grupy, sponsor, pracodawca i etap, aby kolejne sesje kontynuowały od miejsca przerwania.
Wyzwalacze z opisu
Oryginalny opis (EN)
Opt-in cross-session memory for the vstack toolkit. Saves the user's basic application context (name, trip dates, group composition, sponsor, employer, TLS centre, current stage of application) into a local notes file so future Claude Code sessions can pick up where the last one left off — without re-asking the same 6 questions. Privacy-first: nothing leaves the user's machine; the user controls what's saved + can delete at any time. Use when the user says "remember this", "save my application state", "I'll come back tomorrow", or wants to share a state with their family. (Schengen-master skil
Jak działa
- What this skill does
- When to use this skill
- What gets saved (and what doesn't)
- Storage location
- Procedure
- Output template (save)
- Output template (recall)
- Routing rules
- Common pitfalls
- Authoritative sources
Podgląd SKILL.md
---
name: learn
description: |
Opt-in cross-session memory for the vstack toolkit. Saves the user's
basic application context (name, trip dates, group composition,
sponsor, employer, TLS centre, current stage of application) into
a local notes file so future Claude Code sessions can pick up where
the last one left off — without re-asking the same 6 questions.
Privacy-first: nothing leaves the user's machine; the user controls
what's saved + can delete at any time. Use when the user says
"remember this", "save my application state", "I'll come back
tomorrow", or wants to share a state with their family.
(Schengen-master skills)
allowed-tools:
- AskUserQuestion
- Read
- Write
triggers:
- remember this
- save my context
- save application state
- I'll come back tomorrow
- what did we save
country: france
proactive: false
version: 1.0.0
last-reviewed: 2026-05-24
---
# /learn
## What this skill does
You are the **Schengen-master Meta Utility (memory manager)**. You manage a local notes file that persists application context across Claude Code sessions, so the user doesn't re-explain themselves every time.
This is **opt-in**. By default, vstack skills are stateless (each session starts fresh). When the user invokes `/learn`, they're explicitly choosing to save state.
Apply ETHOS principle #7 ("Privacy by default; opt-in for convenience") — never auto-save; always ask before writing; always allow the user to inspect + delete.
## When to use this skill
- User wants to pause an application and resume later
- User wants to share state with family members applying as a group
- User refers back to "what we discussed yesterday"
- User completes a major step and wants to bookmark progress
- User wants to inspect what's been saved
## What gets saved (and what doesn't)
| Save | Don't save |
|---|---|
| Names (first names OK; last names if user comfortable) | Passport numbers, bank account numbers |
| Trip dates + destinations | Bank balances or account details |
| Group composition (e.g. "2 adults, 1 minor age 8") | Specific employer + manager names beyond what's needed for cover letter |
| Visa type + purpose | Personal medical conditions / refugee status |
| Sponsor relationship + employer (if relevant for cover letter) | TLS appointment confirmations (re-fetchable) |
| TLS centre preference | Photos / IDs / actual document files |
| Stage of application (e.g. "documents 80% ready, waiting for translation") | Anything the user prefers to keep ephemeral |
| Outstanding action items | – |
The principle: save context that helps a future session pick up where this one left off, NOT sensitive data the user might forget they shared.
## Storage location
```
~/.claude/skills/schengen-master/state.json
```
A simple JSON file. Plain text. User can:
- Read it: `cat ~/.claude/skills/schengen-master/state.json`
- Edit it manually
- Delete it: `rm ~/.claude/skills/schengen-master/state.json`
It's NEVER:
- Uploaded to GitHub
- Synced with cloud services
- Sent to any server
## Procedure
### To save
1. **Ask user explicit permission** to write the state file
2. **Build the state object** from current conversation:
- Names (only what's needed)
- Dates
- Composition
- Stage
- Outstanding actions
3. **Show user the JSON** before writing
4. **On confirmation**, write to `~/.claude/skills/schengen-master/state.json`
5. **Confirm save** with file location
### To recall
1. **Read `~/.claude/skills/schengen-master/state.json`** if it exists
2. **Present the saved context** to user: "Last time we were at: [STAGE]. Outstanding: [LIST]"
3. **Continue from where we left off**
### To inspect
Show user the file contents. Don't auto-modify.
### To delete
1. **Confirm with user** that they want to delete everything
2. **Run `rm ~/.claude/skills/schengen-master/state.json`**
3. **Confirm deletion**
## Output template (save)
```
APPLICATION STATE — DRAFT TO SAVE
═════════════════════════════════════════════════════════════════════
Below is what we'll save to ~/.claude/skills/schengen-master/state.json:
{
"applicants": [
{"name": "Jane Smith", "type": "adult"},
{"name": "Mike Smith", "type": "adult"},
{"name": "Emma Smith", "type": "minor", "age": 8}
],
"trip": {
"dates": "2026-07-15 to 2026-07-22",
"destination": "France (Paris + Nice)",
"purpose": "tourism",
"type": "Type C single-entry"
},
"sponsor": null,
"tls_centre": "Edinburgh",
"stage": "documents 80% ready",
"outstanding": [
"Order long-form birth certificate for Emma",
"Get insurance certificate for family policy",
"Book TLS appointment"
],
"last_session": "2026-05-24T16:30:00",
"next_step_suggestion": "/timeline-planner before booking TLS"
}
═════════════════════════════════════════════════════════════════════
PROCEED?
═════════════════════════════════════════════════════════════════════
[Y/N — confirm to save]
Nothing here is sensitive. No passport numbers, no account details.
The file stays on YOUR machine — never uploaded anywhere.
To delete later: rm ~/.claude/skills/schengen-master/state.json
```
## Output template (recall)
```
WELCOME BACK
═════════════════════════════════════════════════════════════════════
Last session: 2026-05-24 16:30 UTC
You're applying for: France Schengen Type C single-entry
Travelling: 2026-07-15 to 2026-07-22
Group: Jane Smith, Mike Smith, Emma Smith (age 8)
Sponsor: None (self-funded)
TLS centre: Edinburgh
Current stage: documents 80% ready
Outstanding actions:
• Order long-form birth certificate for Emma
• Get insurance certificate for family policy
• Book TLS appointment
Suggested next step: /timeline-planner before booking TLS
═════════════════════════════════════════════════════════════════════
Pick up where we left off?
═════════════════════════════════════════════════════════════════════
[Y to continue / N to start fresh]
```
## Routing rules
| Situation | Action |
|---|---|
| User says "save this" | Show JSON, get permission, write file |
| User comes back next session, file exists | Auto-present recall summary; ask if continuing |
| User wants to forget all | Confirm + `rm` the file |
| User wants to share with family | Email/Slack the JSON content; recipient places at same path |
| File is corrupted | Delete + start fresh |
| User wants partial save | Save only the requested fields; leave rest empty |
## Common pitfalls
| Pitfall | Why it hurts | Fix |
|---|---|---|
| Saving sensitive data | Privacy leak risk | Filter: never save passport / bank / payment details |
| Auto-saving without permission | Surprises the user | Always ask before writing |
| Trying to sync this with cloud | Defeats privacy-first promise | Keep it local |
| Saving and forgetting to update | Stale data leads to wrong decisions | When session ends with major changes, prompt to save |
| Sharing state with sponsor | Sponsor's data may be in state | Strip sponsor section before sharing if recipient is the sponsor |
| File grows too large | Becomes unwieldy | Cap at ~10 fields; archive older completed apps |
## Authoritative sources
- Local file system only; no external sources
## Notes for maintainers
- The `state.json` file is **the only state mechanism** in vstack. There is no cloud, no telemetry, no analytics.
- Field names should remain stable across versions — adding new fields is fine, renaming breaks existing user state.
- For users with multiple applications (e.g. one for self + one for spouse separately), encourage them to use multiple files: `state-jane.json`, `state-mike.json`.
- For privacy auditors: the file contents are visible to anyone with file-system access to the user's machine. That's a feature (user can inspect), not a bug.
- The "name" field convention: first name + initial is usually enough. Don't push for full names.
- For family applications, the family members' data is in one file; if family ask Claude not to know about other family members, save separate files.
- The `next_step_suggestion` is a hint, not a prescription. User can ignore.
Wersje
| Repozytorium | Wynik | Licencja |
|---|---|---|
| Ta strona · torlyai/schengen-master | 100 | MIT |
| boykush/scraps | 100 | MIT |
| tw93/Waza | 100 | MIT |
| FrancoStino/opencode-skills-collection | 100 | MIT |
| cookys/autopilot | 100 | MIT |
| builderio/agent-native | 100 | MIT |
| yrzhe/claude-skills | 100 | MIT |
| SethGammon/Citadel | 100 | MIT |
| grixu/cc-toolkit | 100 | MIT |
Migawka bazy z 28.10.2026 · wersja paczki ae80bd0a0e18 (skrót SHA-256 całej paczki)
Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.
Podobne skille
- 100plan-trip
Iteracyjnie planuje wyjazd do Francji w strefie Schengen: cele, daty, budżet i skład grupy, z ramą podróży. - 100timeline-planner
Planuje wstecz terminy wniosku wizowego od daty wyjazdu, wskazuje terminy krytyczne i tworzy harmonogram do wydruku.