applylisted
Install: claude install-skill eklavyagoyal/wingman
# Apply
> ATS patterns: `shared/references/ats.md` · Interaction: `shared/references/interaction.md` · Work auth: `shared/references/work-authorization.md`
Fills application forms. **Never submits.** The user takes the last step, every time.
## Step 0: Prerequisites
CV required. Load `application-data.md` if it exists (created in Step 2). Load `profile.md` for the German fields — Gehaltsvorstellung, Kündigungsfrist, Arbeitserlaubnis.
## Step 1: Target job
- **URL** → match against `DATA_DIR/jobs/`; load `posting.md`, `evaluation.md`, `language.md`, the CV and letter. No match → fetch the posting and create the folder.
- **`last`** → most recently modified job folder; confirm which job.
- **`current`** → use the active tab as-is; match its URL against saved folders for context.
If there is no `evaluation.md`, run `/wingman:evaluate` first. Filling a form for an unscored job means the user may be applying to something a 30-second check would have ruled out.
## Step 2: Application data
If `application-data.md` exists, load it. Otherwise extract what you can from the CV and profile, present it for confirmation, and save:
```markdown
# Application Data
## Persönliche Daten
- Vorname / Nachname / E-Mail / Telefon
- Straße und Hausnummer / PLZ / Wohnort
- Land: Deutschland
## Profile
- LinkedIn / Xing / GitHub / Portfolio
## Standardantworten
- Wie haben Sie von uns erfahren: [board actually used]
- Bereits bei uns beworben: Nein
- Gehaltsvorstellung: [X].000 EUR brutto