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 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: allowed-tools:
- "openviking_search" - "openviking_search"
- "openviking_recall" - "openviking_recall"
@ -10,73 +10,103 @@ allowed-tools:
- "sharelatex_*" - "sharelatex_*"
- "Read" - "Read"
- "Write" - "Write"
- "Bash"
--- ---
# Job Application Skill # 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 ## 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 ## Process
### 1. Read User Profile ### 1. Profile
Search OpenViking for the user's professional data: Read user profile from OpenViking: skills, experience, projects, personal data.
- Skills, technologies, expertise
- Work experience and projects
- Education, certifications
- Personal data (name, address, contact)
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 | Wait for user selection before proceeding.
|---|------|---------|----------|-------------|
| 1 | ... | ... | ... | ... |
Wait for user to select which ones to pursue. ### 4. Create Projects
### 4. Create ShareLaTeX Projects
For each selected job: For each selected job:
1. `sharelatex_create_project` with name "Bewerbung {Company} {Role}" 1. Create ShareLaTeX project: "Bewerbung {Company} {Role}"
2. Copy all files from template project `6a873cad300b2c1747bdf4c4`: 2. Copy ALL files from template (resume.tex, sections/*, _header.tex, TLCresume.sty, variables.tex, cover-letter.tex, README.md)
- `resume.tex`, `_header.tex`, `TLCresume.sty`, `variables.tex` 3. Rewrite `variables.tex` with job-specific values
- All files under `sections/` 4. Rewrite `cover-letter.tex` with tailored Anschreiben
3. Update `variables.tex` with company-specific values (`\Company`, `\Position`, `\Subject`, `\Salutation`) 5. Do NOT modify any other files
4. Rewrite `cover-letter.tex` with a tailored letter
### 5. Cover Letter Rules ### 5. Cover Letter Rules (DIN 5008)
- Language: German (formal, DIN 5008) #### Format
- Length: one page max - Language: German (unless job posting is English)
- Structure: greeting → role reference → 2-3 matching qualifications with concrete examples → closing - Length: exactly one A4 page
- Tone: professional but personal - Font: 12pt, matching the template (already set in LaTeX)
- Reference specific projects and skills from OpenViking profile - 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: #### Structure of cover-letter.tex
1. `sharelatex_compile` to check for errors 1. Sender block (already in template)
2. Fix any issues 2. Recipient block
3. Return project links to user 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 ## Output
Present a summary table:
| Role | Project | Status | | Role | Project | Status |
|------|---------|--------| |------|---------|--------|
| ... | link | Created | | ... | link | Created |