German Technical Writing
Natural German technical register for German-audience artifacts — not English-first composition phrase-translated into DeepL-German.
Process
- Compose in German directly, not by translating. Restart if you catch yourself drafting English first.
- Self-review each sentence against
references/anti-patterns.md — verbs, collocations, idioms, Amtsdeutsch.
- Apply the lexicon — canonical verbs and loanword gender:
references/lexicon.md.
- Match register per artifact — impersonal for Jira/wiki, ich/du for chat:
references/register.md.
- Typography & rhythm — Gedankenstrich, Durchkopplung; every fact once, varied sentence shapes:
references/typografie-rhythmus.md.
- No editorializing — say what changed, not how good the work is:
references/no-editorializing.md.
- If unsure, ask — don't guess.
Top anti-patterns
| ❌ |
✅ |
| code bricht |
schlägt fehl / wirft Exception |
| gefangen |
erkannt / abgefangen |
| null returnen |
null zurückgeben |
| Test failt |
schlägt fehl |
| Fehler triggern |
Fehler auslösen |
| auf Fehler hitten |
auf Fehler stoßen |
| blockiert auf X |
wartet auf X / hängt an X |
Full catalogue in references/anti-patterns.md; worked examples in references/examples.md.
Three traps — apply all three disciplines
Over-applying one drives you into another:
- Anglicism (verb-level): English where German is canonical. Test failt → schlägt fehl. Targeted by the table above and
anti-patterns.md.
- Calque (nouns, collocations, idioms): word-by-word translation where the loanword or another German structure is canonical. Wurzelursache → Root Cause; blockiert auf X → wartet auf X; macht Sinn → ist sinnvoll. See
anti-patterns.md and lexicon.md.
- Amtsdeutsch over-polish: fleeing both traps into stiff officialese and AI-symmetric structure — Datenbestand, Es handelt sich um, passive chains, facts restated per section. See
anti-patterns.md and typografie-rhythmus.md. Idiomatic dev speech (ins Gehege kommen, läuft voll, fliegt auf) is wanted, not a violation.
Noun rule: if a native German developer would say the term verbatim in a review or stand-up, keep it English — a German form that sounds like a textbook title is a calque.
Scope note
Commit messages, MR/PR descriptions, release notes and internal IT-project tickets (NRS, NRT, SRV*, IO*, LIC) are English — skip them. This skill governs how to write German, not whether.
1---2name: german-technical-writing3description: Use when writing German-language prose longer than one sentence for Jira tickets, internal German wiki/spec docs, or team-chat to German-speaking colleagues (Slack, Matrix, Teams). Invoke BEFORE composing. Covers anglicism verbs (failt, triggern, returnen), calqued collocations and idioms (blockiert auf, macht Sinn, in 2026), loanword genders (der Commit, die Pipeline), per-artifact register (impersonal for Jira/wiki, ich/du for chat), German typography (Gedankenstrich, Anführungszeichen, Durchkopplung), and AI-typical rhythm (restatement, symmetric paragraphs, summary closers). Skip for commit messages, MR/PR descriptions, release notes (English by team convention), conversational chat replies, or single-line acknowledgments. If you catch yourself thinking 'my German is probably fine here' for anything longer than a sentence — invoke this skill.4license: (MIT AND CC-BY-SA-4.0). See LICENSE-MIT and LICENSE-CC-BY-SA-4.05---67# German Technical Writing89Natural German technical register for German-audience artifacts — not English-first composition phrase-translated into DeepL-German.1011## Process12131. **Compose in German directly**, not by translating. Restart if you catch yourself drafting English first.142. **Self-review each sentence** against `references/anti-patterns.md` — verbs, collocations, idioms, Amtsdeutsch.153. **Apply the lexicon** — canonical verbs and loanword gender: `references/lexicon.md`.164. **Match register per artifact** — impersonal for Jira/wiki, ich/du for chat: `references/register.md`.175. **Typography & rhythm** — Gedankenstrich, Durchkopplung; every fact once, varied sentence shapes: `references/typografie-rhythmus.md`.186. **No editorializing** — say what changed, not how good the work is: `references/no-editorializing.md`.197. **If unsure, ask — don't guess.**2021## Top anti-patterns2223| ❌ | ✅ |24|---|---|25| code bricht | schlägt fehl / wirft Exception |26| gefangen | erkannt / abgefangen |27| null returnen | null zurückgeben |28| Test failt | schlägt fehl |29| Fehler triggern | Fehler auslösen |30| auf Fehler hitten | auf Fehler stoßen |31| blockiert auf X | wartet auf X / hängt an X |3233Full catalogue in `references/anti-patterns.md`; worked examples in `references/examples.md`.3435## Three traps — apply all three disciplines3637Over-applying one drives you into another:38391. **Anglicism** (verb-level): English where German is canonical. *Test failt* → *schlägt fehl*. Targeted by the table above and `anti-patterns.md`.402. **Calque** (nouns, collocations, idioms): word-by-word translation where the loanword or another German structure is canonical. *Wurzelursache* → *Root Cause*; *blockiert auf X* → *wartet auf X*; *macht Sinn* → *ist sinnvoll*. See `anti-patterns.md` and `lexicon.md`.413. **Amtsdeutsch over-polish**: fleeing both traps into stiff officialese and AI-symmetric structure — *Datenbestand*, *Es handelt sich um*, passive chains, facts restated per section. See `anti-patterns.md` and `typografie-rhythmus.md`. Idiomatic dev speech (*ins Gehege kommen*, *läuft voll*, *fliegt auf*) is wanted, not a violation.4243Noun rule: if a native German developer would *say* the term verbatim in a review or stand-up, keep it English — a German form that sounds like a textbook title is a calque.4445## Scope note4647Commit messages, MR/PR descriptions, release notes and internal IT-project tickets (NRS, NRT, SRV\*, IO\*, LIC) are English — skip them. This skill governs *how* to write German, not *whether*.