agentleFS
eklavyagoyaleklavyagoyal/wingman/skills/anschreiben/SKILL.md

anschreiben

Skill0 starsChanged 2 months agoMITView on GitHub

Write a DIN 5008 Anschreiben in German, or a cover letter in English

The file

We split this skill into the rules it gives an agent

7 rules. About 0 are common, 3 are distinctive, and 4 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈3

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 4

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Read language.md. It sets the language and the register (Sie / du).

    line 23
  2. Very specific:

    Search the posting and the company site for a named contact.

    line 29
  3. Very specific:

    Do not choose the candidate's story for them.

    line 35
  4. Very specific:

    Follow shared/templates/anschreiben.md.

    line 41
  5. Distinctive:

    Read every sentence aloud.

    line 65
  6. Distinctive:

    No two consecutive sentences opening the same way.

    line 69
  7. Distinctive:

    Every achievement connects to a stated employer need.

    line 70

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Anschreiben / Cover Letter

Documents: shared/references/de-documents.md · Template: shared/templates/anschreiben.md · Language: shared/references/language-decision.md

A German Anschreiben is a formal business letter with a standardized layout, not a cover letter with German words in it. Layout errors are noticed at traditional employers.

Step 0: Prerequisites

CV and profile required per shared/references/prerequisites.md.

Step 1: Job, language, materials

Get the job (a URL, last, or ask). Read from the job folder: posting.md, evaluation.md, language.md, and the tailored CV if it exists.

A tailored CV materially improves the letter — it already contains the match analysis. If none exists, offer to run /wingman:tailor-cv first.

Read language.md. It sets the language and the register (Sie / du). If missing, run the language decision.

If the decision is Both, write both letters — anschreiben-de.md and cover-letter-en.md — German first, each written natively from the profile. The two letters may lead with different achievements if the register calls for it; what they may not do is be translations of each other.

Step 2: Find the addressee

Search the posting and the company site for a named contact. Sehr geehrte Frau Berger, beats Sehr geehrte Damen und Herren, — and it is a five-minute search that most applicants skip.

Also capture the Kennziffer / Referenznummer if the ad gives one. It goes in the Betreff, and omitting it annoys the people who file applications.

Step 3: Pick the angle (interactive)

Do not choose the candidate's story for them. Use AskUserQuestion to pick the 2–3 achievements the letter leads with, offering the real candidate achievements as options, each with a one-line note on why it fits this posting. Recommend the strongest.

Also confirm, when the ad asks for it, whether to state the Gehaltsvorstellung — and show the number from the profile so it is a decision, not a surprise.

Step 4a: Anschreiben (German)

Follow shared/templates/anschreiben.md. One page. Never two.

Layout, in order: Absender · Empfänger · Ort und Datum (right) · Betreff in bold with no "Betreff:" label, containing the job title exactly as advertised including (m/w/d) plus the Kennziffer · Anrede · body · Mit freundlichen Grüßen with no comma · signature · Anlagen.

The lowercase rule: the Anrede ends in a comma, so the first body word is lowercase unless it is a noun or "Ich". Sehr geehrte Frau Müller, then mit großem Interesse…. This is the fastest tell of a non-native or machine-translated letter.

Body: opening (why this role, this company — never „hiermit bewerbe ich mich auf die ausgeschriebene Stelle"), one or two evidence paragraphs mapped to their stated requirements, then the closing block — Gehaltsvorstellung if asked, Eintrittstermin computed from the Kündigungsfrist, and Über eine Einladung zu einem persönlichen Gespräch freue ich mich.

Anlagen lists what actually exists in DATA_DIR/zeugnisse/. Nothing there → Zeugnisse werden auf Wunsch nachgereicht.

Write it in German from the profile. Never translate an English letter — a translated Anschreiben reads translated, which defeats the purpose. Natural Tech-Deutsch: short sentences, active verbs, no Passiv, English technical terms left alone.

Save as anschreiben-de.md.

Step 4b: Cover letter (English)

250–350 words. Dear [Name], / Dear Hiring Manager, … Regards, [Name]. Opening that connects specific experience to their specific need, two evidence paragraphs, a close stating mutual benefit. Hyphens only, never em dashes.

Save as cover-letter-en.md.

Step 5: Quality control (mandatory)

Line by line, before the user sees it:

  1. Read every sentence aloud. Forced → rewrite.
  2. Zero em dashes.
  3. Any sentence over 20 words → split.
  4. Business jargon → plain language.
  5. No two consecutive sentences opening the same way.
  6. Every achievement connects to a stated employer need.
  7. Verify each claim against the CV: titles, companies, dates, tense. Present end date → present tense allowed; any other end date → past tense.
  8. Company-attribution check — every metric sits under the employer it actually belongs to. Never merge results from two employers into one sentence.
  9. German only: lowercase first body word, no comma after the Grußformel, Betreff has the exact advertised title.
  10. Honesty check — nothing in the letter that the CV and profile do not support.

Banned: „hiermit bewerbe ich mich", "I am excited about the opportunity", "aligns perfectly with", anything implying a language level above the recorded one.

Step 6: Present and iterate

Show the letter, note which achievements were used and why, and give the file path. Then stop — add one line on anything you were unsure of, and leave it there.

Do not open a picker asking whether the letter is alright. The angle was already chosen in Step 3; asking again afterwards re-opens a settled decision and costs the candidate an answer for nothing. If they want a different register or a different achievement in the lead, those are real options and a structured choice is right then.


Response Format

  1. Letter — full text
  2. Writing Notes — achievements used and why; anything deliberately left out
  3. What's Next — /wingman:mappe to assemble, or /wingman:apply to submit

Permissions

{ "permissions": { "allow": [
  "Read(~/.wingman/**)", "Write(~/.wingman/**)", "Edit(~/.wingman/**)",
  "mcp__claude-in-chrome__*"
] } }

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.