mirror of
https://github.com/MadsLorentzen/ai-job-search.git
synced 2026-09-17 00:26:26 +00:00
feat(apply): make CV language a profile setting, defaulting to English (#179)
The CV was hardcoded 'Always in English' - fine for the Danish/English demonstration profile, a real disadvantage for fork users in markets where applications are expected in the local language (cover letters already match the posting's language). /setup now asks once and records 'CV language:' in CLAUDE.md's Identity section; /apply reads it with English as the default, so existing users see zero behavior change. The ATS keyword rule is reworded language-neutrally. Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
3847088986
commit
de91a97fe8
@@ -65,7 +65,7 @@ Also read the most recent existing CV and cover letter files for concrete struct
|
||||
- Read any existing `cover_letters/cover_*.tex` or `cover_letters/Cover_*.tex` file as a template reference
|
||||
|
||||
### CV (`cv/main_<company>_<role>.tex`)
|
||||
- Always in **English**
|
||||
- In the **CV language from the profile** (the `CV language:` line in CLAUDE.md's Identity section). When the profile does not set one, default to **English**. Never switch language per posting - the CV language is a profile-level choice, so all CVs stay consistent and reusable
|
||||
- Follow the moderncv/banking format from `05-cv-templates.md`
|
||||
- Tailor the profile statement and experience bullets to the specific role
|
||||
- Reframe skills and achievements to match job requirements
|
||||
@@ -245,7 +245,7 @@ Read the `.txt` file.
|
||||
|
||||
Failures here are template-level problems: fix them in the `.tex` (e.g. print the email as text rather than icon-only), then re-run 5a–5c and re-extract. If a custom template's layout fundamentally scrambles extraction order, tell the user prominently — they may be trading ATS compatibility for looks.
|
||||
|
||||
**3. Keyword coverage.** Reuse the required/preferred keyword list you extracted in Step 1 — do not re-derive it. Match each keyword against the extracted text, **in the posting's language** (a Danish posting's keywords are matched in Danish even though the CV is in English — where the CV legitimately covers the concept in English, count it as synonym-only and note the language difference). Report a table:
|
||||
**3. Keyword coverage.** Reuse the required/preferred keyword list you extracted in Step 1 — do not re-derive it. Match each keyword against the extracted text, **in the posting's language** (when the posting's language differs from the CV language — e.g. a Danish posting against an English CV — a concept the CV legitimately covers in its own language counts as synonym-only; note the language difference). Report a table:
|
||||
|
||||
| Keyword | Priority | Status | Note |
|
||||
|---------|----------|--------|------|
|
||||
|
||||
@@ -314,6 +314,7 @@ Ask about:
|
||||
- **Target companies (optional):** "Are there specific companies you'd like to monitor for openings?"
|
||||
- **Geographic scope:** "Which cities or regions should I search in? How far are you willing to commute?" Use this to define the location filter tiers (ideal, acceptable, borderline, too far).
|
||||
- **Job portals:** "The framework ships country-agnostic search CLIs (`linkedin-search`, `freehire-search`) plus Danish portal demos (Jobindex, Jobbank, Jobdanmark, Jobnet). `/scrape` auto-discovers whatever portal skills are installed under `.agents/skills/`. Which of these fit your market, and do you use other job boards?" If the user needs a local board that is not shipped, guide them to `/add-portal` (market-specific skills live in their fork). WebSearch/`site:` queries remain the fallback for portals without a CLI skill.
|
||||
- **CV language:** "Should your CVs be written in English (the default, accepted in most markets), or in your market's language?" Record the answer as a `CV language: <language>` line in CLAUDE.md's Identity section. Cover letters always match each posting's language automatically; this setting governs the CV only. If the user is unsure, keep English and note they can re-run `/setup --section search` to change it.
|
||||
|
||||
**Important:** Also suggest role types the user may not have considered, based on their skill profile. For example:
|
||||
- If they have strong Python + domain expertise: "Have you considered roles like 'Technical Consultant' or 'Solutions Engineer' in your domain?"
|
||||
|
||||
@@ -19,6 +19,8 @@ This repo is a job application workspace. Claude acts as a career advisor and ap
|
||||
- **Name:** [YOUR_NAME]
|
||||
- **Location:** [YOUR_CITY], [YOUR_COUNTRY] ([YOUR_COMMUTE_CONSTRAINTS])
|
||||
- **Languages:** [YOUR_LANGUAGES]
|
||||
- **CV language:** [YOUR_CV_LANGUAGE] <!-- English unless your market expects otherwise; /setup asks -->
|
||||
|
||||
- **Status:** [YOUR_EMPLOYMENT_STATUS]
|
||||
- **LinkedIn headline:** "[YOUR_LINKEDIN_HEADLINE]"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user