tailor-cv
Skill0 starsChanged 2 months agoMITView on GitHub
Tailor your CV for a job - a tabellarischer Lebenslauf in German, or a CV in English
7 other projects use a version of this.
Adopted by
Most recently taken up by
- YanaNeycheva/lay-off-ai-assistanttheir own version, first seen Nov 7, 2026
- robbiehaynes/job-searchtheir own version, first seen Oct 20, 2026
- LoukasIatrou/ats-cv-tailortheir own version, first seen Oct 13, 2026
- sebagarciar/claude-skillstheir own version, first seen Oct 11, 2026
- nomanAliShah786/claude-code-job-searchtheir own version, first seen Oct 11, 2026
- Ben-Bot-22/job-hunt-kittheir own version, first seen Oct 9, 2026
Other versions7 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 7
- YanaNeycheva/lay-off-ai-assistant★ 11same name
- nomanAliShah786/claude-code-job-search★ 4same name
- Ben-Bot-22/job-hunt-kit★ 2same name
- LoukasIatrou/ats-cv-tailor★ 1same name
- UrBaneee/tailor-cv★ 1same name
- robbiehaynes/job-search★ 0same name
- sebagarciar/claude-skills★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository14 other files it gives its agents.
- AGENTS.mdAGENTS.md
- anschreibenSkill
- applySkill
- evaluateSkill
- followupSkill
- interview-prepSkill
- job-searchSkill
- mappeSkill
- network-scanSkill
- patternsSkill
- setupSkill
- trackerSkill
- visaSkill
- zeugnisSkill
The file
We split this skill into the rules it gives an agent
9 rules. 0 are common, 6 are distinctive, and 3 are very specific to this project.
0
Common
Most of the 7 edited versions we read keep these.
6
Distinctive
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 32
Read language.md. If it does not exist, run the language decision now.
- Distinctive: line 78
Vary the structure: Not every bullet the same shape.
- Distinctive: line 81
Read the first three bullets aloud.
- Very specific: line 85
Only what is in resume/ or profile.md.
- Distinctive: line 87
Never assume business model, company stage, or revenue type unless stated.
- Distinctive: line 88
Never widen scope: "revenue targets" is not "P&L ownership".
- Distinctive: line 89
Never add a cross-functional partner, tool, or responsibility that is not documented.
- Distinctive: line 90
Never change titles, dates, or employers: Never close a gap by moving a date.
- Very specific: line 120
If mappe reported a two-page Lebenslauf with a short orphan page, that is a required iteration, not optional polish.
“Common” is measured: kept by at least 6 in 10 of the 7 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Tailor CV
Documents:
shared/references/de-documents.md· Language:shared/references/language-decision.md· Templates:shared/templates/lebenslauf.md
Produces a tabellarischer Lebenslauf or an English CV, depending on language.md. These are genuinely different documents — not translations of each other.
| Lebenslauf (DE) | CV (EN) | |
| Structure | Tabular, dates against content | Narrative bullets |
| Summary section | None | Yes, 2–3 sentences |
| Grades | Included (Abschlussnote: 1,3) | Omitted |
| Language levels | Required, CEFR | Optional |
| Photo | Per profile preference | No |
| Gaps | Labelled explicitly | Usually glossed |
| References | Zeugnisse attached | "Available on request" |
| Signature | Ort, Datum, Unterschrift | None |
Step 0: Prerequisites
Per shared/references/prerequisites.md: CV and profile both required. Without a profile there is nothing to write from but the CV text, and the result is thin and full of guesses that the user then corrects for the next twenty applications. Say that and run /wingman:setup interview instead.
Step 1: Job and language
Get the posting (a URL, last, or ask). If no evaluation.md exists, run /wingman:evaluate first — tailoring against an unscored posting means tailoring toward requirements nobody checked.
Read language.md. If it does not exist, run the language decision now. Never guess the language, and never default to English because it is easier.
If the decision is Both, produce both documents — resume-de.md and resume-en.md. Write the German one first, since it is the harder constraint, then write the English one natively from the profile. Never translate one into the other: a translated Lebenslauf reads translated, which defeats the point of offering both. mappe will then render two PDFs.
Step 2: Match analysis
Before writing:
- Level — is this the candidate's level, a stretch, or a step down? Frame accordingly.
- Requirement mapping — for each requirement, the strongest sourced evidence from the profile. Direct, analogous, or transferable — and label which.
- Gaps — where there is no match, find genuinely adjacent experience. Never invent one.
- Keywords — the posting's own terminology, to mirror where it is honest.
Step 3a: Lebenslauf (German)
Follow shared/templates/lebenslauf.md exactly.
- Persönliche Daten — from profile. Photo, Geburtsdatum, Staatsangehörigkeit only per the stored preferences. Never Familienstand, never religion.
- Berufserfahrung — reverse chronological,
MM/JJJJformat. Bullets reordered so the two most relevant to this posting come first. 2–5 per role, fewer for older roles. Company descriptor on one line — „Muster AG, Stuttgart (Zahlungsabwicklung, ca. 250 Mitarbeitende)", not a sentence about the business. - Ausbildung — include the grade. Add the German equivalent of a foreign degree if anabin gives one.
- Kenntnisse — Sprachen with CEFR exactly as recorded in the profile, then technical skills ordered by what the ad asks for. Three or four rows, not one per technology group: Sprachen · Technologien · Arbeitsweise/Zertifikate. Certificates live here, not in a section of their own, unless there are enough to justify one.
- Lücken — labelled with the stored explanation, verbatim, so it never contradicts another document.
- Ort, Datum, Unterschrift — include for conservative employers, omit for startups.
German writing rules: natural Tech-Deutsch, never translated-sounding. Short sentences, active verbs, avoid Passiv. Keep established technical terms in English — Stack, Deployment, Pipeline, Embedding. No em dashes.
Length: under roughly ten years of experience, aim for one page. Two is the hard maximum, and a two-page Lebenslauf must be two full pages — one page and a three-row sliver reads as careless. If it runs over, cut in this order: company descriptors to one line, Kenntnisse rows merged, a redundant bullet from the most recent role (anything the Anschreiben already carries), then bullets from the oldest role. Never a role itself.
Save as resume-de.md.
Step 3b: CV (English)
Standard tailored CV: 2–3 sentence summary positioned for this role, experience with bullets reordered and rewritten, skills led by what the job asks for.
Save as resume-en.md.
Step 4: Writing quality (mandatory, before showing anything)
Go line by line. This pass is not optional — it is where the output stops sounding like a language model.
- One idea per bullet. More than one comma-joined clause → split it.
- No filler: "demonstrating ability to", "showcasing expertise in", "leveraging", "utilizing", "spanning", "with a track record of".
- No stacked adjectives: "cross-functional, data-driven, customer-centric" → pick the one that matters and give evidence.
- No compound noun piles: "AI-driven product opportunity identification" → say what you did.
- No em dashes anywhere.
- No preamble clauses: "Leveraging deep expertise in X, led..." → "Led...".
- Vary the structure. Not every bullet the same shape.
- Any bullet over two lines is doing too much. Split it.
Read the first three bullets aloud. If a sentence takes more than one breath, shorten it.
Step 5: Accuracy (non-negotiable)
- Only what is in
resume/orprofile.md. Nothing else. - Never inflate the language level. It is checked in the first phone call.
- Never assume business model, company stage, or revenue type unless stated.
- Never widen scope: "revenue targets" is not "P&L ownership".
- Never add a cross-functional partner, tool, or responsibility that is not documented.
- Never change titles, dates, or employers. Never close a gap by moving a date.
- Ambiguous → conservative wording, or omit.
Reframing means reordering and rewording what exists. It never means adding what does not.
Step 6: Present
Save to the job folder. Show the document plus:
[Lebenslauf / CV] for [Role] at [Company] — in [Deutsch / English]
Why this language: [one line from language.md]
Changes:
- [what was reordered and why]
- [what was added from your profile that wasn't on the original CV]
- [what was cut as irrelevant to this role]
Gaps I could not cover: [requirement] — [what adjacent evidence was used instead]Naming the uncovered gaps matters more than hiding them: it is what the interview will ask about.
Step 7: Iterate
Show the document and stop. Add one line on what you would change if pushed — a bullet you were unsure of, an ordering call that could go either way — so the candidate knows where the soft spots are without being asked to rule on them.
Do not open a picker asking whether it is alright: that is not a decision with options, and per shared/references/interaction.md it makes a finished document into another thing to answer. If they do want a change, options become real and a structured choice earns its place then.
If mappe reported a two-page Lebenslauf with a short orphan page, that is a required iteration, not optional polish. Cut per the order above until it is one full page or two full pages.
Every factual correction goes into profile.md immediately. That is what stops the same mistake recurring on the next twenty applications.
Response Format
- Document — the full CV or Lebenslauf
- Tailoring Notes — changes, and the uncovered gaps
- What's Next —
/wingman:anschreibenfor the letter
Permissions
{ "permissions": { "allow": [
"Read(~/.wingman/**)", "Write(~/.wingman/**)", "Edit(~/.wingman/**)",
"mcp__claude-in-chrome__*"
] } }Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

