APM-Packages/omos/examples/package/.apm/skills/job-application/SKILL.md
Tobias J. Endres f0f1915251 feat(omos): example package, team profile, mapping and setup skill
- examples/package: copy of the job-application APM package with
  corentic.team-profile/v1 declaration (orchestrator, researcher,
  writer, checker, notifier)
- examples/model-mapping.yaml: user-side model class mapping with
  simple and extended entries
- skills/omos-setup: skill guiding users through
  resolve-validate-render and activation
2026-08-23 17:03:40 +02:00

112 lines
3.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
name: job-application
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"
- "openviking_read"
- "websearch"
- "webfetch"
- "sharelatex_*"
- "Read"
- "Write"
---
# Job Application Skill
Find matching positions and create tailored applications (Anschreiben + Lebenslauf) in ShareLaTeX.
## Reference Project
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. Profile
Read user profile from OpenViking: skills, experience, projects, personal data.
### 2. Search
Search for jobs via websearch. Use the user's query or infer from profile.
Collect 8-10 candidates with: role, company, location, source URL.
### 3. Prioritize
Present top 4 as table:
| # | Role | Company | Location | Why |
|---|------|---------|----------|-----|
Wait for user selection before proceeding.
### 4. Create Projects
For each selected job:
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 (DIN 5008)
#### 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
#### 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,"
#### 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
| Role | Project | Status |
|------|---------|--------|
| ... | link | Created |