Refine SKILL.md: DIN 5008 cover letter rules, do's/don'ts, template handling

This commit is contained in:
Tobias J. Endres 2026-08-21 23:16:20 +02:00
parent 84514d3fcb
commit 2d2e4379fc

View file

@ -1,6 +1,6 @@
---
name: job-application
description: Activate when the user wants to find jobs and create tailored applications (cover letters, CVs). Use when they mention job search, Bewerbung, cover letter, or applying for positions.
description: Activate when the user wants to find jobs and create tailored applications. Use for Bewerbung, job search, cover letter, application, Stellenuche.
allowed-tools:
- "openviking_search"
- "openviking_recall"
@ -10,73 +10,103 @@ allowed-tools:
- "sharelatex_*"
- "Read"
- "Write"
- "Bash"
---
# Job Application Skill
Find matching positions and create tailored applications in ShareLaTeX.
Find matching positions and create tailored applications (Anschreiben + Lebenslauf) in ShareLaTeX.
## Reference Project
The existing CV template is at ShareLaTeX project `6a873cad300b2c1747bdf4c4`. Use it as base for all new applications.
Template: ShareLaTeX project `6a873cad300b2c1747bdf4c4`
All files from this project are copied verbatim into each new project.
Only two files are rewritten: `variables.tex` and `cover-letter.tex`.
All other files (resume.tex, sections/*, _header.tex, TLCresume.sty) stay UNCHANGED.
## Process
### 1. Read User Profile
### 1. Profile
Search OpenViking for the user's professional data:
- Skills, technologies, expertise
- Work experience and projects
- Education, certifications
- Personal data (name, address, contact)
Read user profile from OpenViking: skills, experience, projects, personal data.
Use `openviking_search` with queries like "professional profile", "work experience", "skills".
### 2. Search
### 2. Search for Jobs
Search for jobs via websearch. Use the user's query or infer from profile.
Collect 8-10 candidates with: role, company, location, source URL.
Use `websearch` to find relevant positions. Target job boards matching the user's field (Arbeitsagentur, LinkedIn, StepStone, etc.).
### 3. Prioritize
### 3. Present Candidates
Present top 4 as table:
Show a prioritized table of 3-4 best matches:
| # | Role | Company | Location | Why |
|---|------|---------|----------|-----|
| # | Role | Company | Location | Why it fits |
|---|------|---------|----------|-------------|
| 1 | ... | ... | ... | ... |
Wait for user selection before proceeding.
Wait for user to select which ones to pursue.
### 4. Create ShareLaTeX Projects
### 4. Create Projects
For each selected job:
1. `sharelatex_create_project` with name "Bewerbung {Company} {Role}"
2. Copy all files from template project `6a873cad300b2c1747bdf4c4`:
- `resume.tex`, `_header.tex`, `TLCresume.sty`, `variables.tex`
- All files under `sections/`
3. Update `variables.tex` with company-specific values (`\Company`, `\Position`, `\Subject`, `\Salutation`)
4. Rewrite `cover-letter.tex` with a tailored letter
1. Create ShareLaTeX project: "Bewerbung {Company} {Role}"
2. Copy ALL files from template (resume.tex, sections/*, _header.tex, TLCresume.sty, variables.tex, cover-letter.tex, README.md)
3. Rewrite `variables.tex` with job-specific values
4. Rewrite `cover-letter.tex` with tailored Anschreiben
5. Do NOT modify any other files
### 5. Cover Letter Rules
### 5. Cover Letter Rules (DIN 5008)
- Language: German (formal, DIN 5008)
- Length: one page max
- Structure: greeting → role reference → 2-3 matching qualifications with concrete examples → closing
- Tone: professional but personal
- Reference specific projects and skills from OpenViking profile
#### Format
- Language: German (unless job posting is English)
- Length: exactly one A4 page
- Font: 12pt, matching the template (already set in LaTeX)
- Structure: DIN 5008 business letter format
### 6. Compile & Verify
#### Variables to set (in variables.tex)
- `\Company`: full company name (e.g. "R+V Allgemeine Versicherung AG")
- `\Position`: exact job title from posting
- `\RefNumber`: job reference number if available
- `\Subject`: "Bewerbung als {Position}" (bold in LaTeX)
- `\Salutation`: "Sehr geehrte/r Frau/Herr {Name}," if known, else "Sehr geehrte Damen und Herren,"
After writing all files:
1. `sharelatex_compile` to check for errors
2. Fix any issues
3. Return project links to user
#### Structure of cover-letter.tex
1. Sender block (already in template)
2. Recipient block
3. Date (right-aligned)
4. Subject line (bold, no "Betreff:" prefix)
5. Salutation
6. Opening (3-5 sentences): state position, where found, one compelling reason why
7. Body (2 paragraphs, ~100 words each):
- Paragraph 1: 2-3 matching qualifications with concrete examples from OpenViking profile
- Paragraph 2: Why this company specifically (researched values, projects, mission)
8. Closing: availability for interview, "Mit freundlichen Grüßen"
9. Anlagen list
#### Do's
- Research company before writing (website, recent news, values)
- Reference specific company projects or values
- Use concrete examples with numbers/metrics
- Match language to job posting (German posting → German letter)
- Use keywords from job posting (ATS optimization)
- Keep sentences short and factual
- End with call to action (interview availability)
#### Don'ts
- Never start with "Hiermit bewerbe ich mich" (used by 90% of applicants)
- Never use "Mit großem Interesse habe ich Ihre Stellenanzeige gelesen"
- Don't repeat CV content verbatim
- Don't use generic phrases like "innovativ", "teamfähig", "motiviert"
- Don't include personal details (age, marital status)
- Don't exceed one page
- Don't use humor or informal language
- Don't copy-paste between applications (recipients notice)
- Don't make claims you can't back up with examples
### 6. Compile
Compile each project. Fix errors. Return project links.
## Output
Present a summary table:
| Role | Project | Status |
|------|---------|--------|
| ... | link | Created |