
Effective German Typography
- 11 installs
- Updated June 14, 2026
- sebastian-software/effective-german-typography-skill
Helps with ai & agent building tasks.
About
effective-german-typography is a Claude Code skill for ai & agent building. It helps solo builders move faster with AI-assisted development.
- effective-german-typography
- AI & Agent Building
- AI-coding skill
Effective German Typography by the numbers
- 11 all-time installs (skills.sh)
- Ranked #11,769 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/sebastian-software/effective-german-typography-skill --skill effective-german-typographyAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 11 |
|---|---|
| Last updated | June 14, 2026 |
| Repository | sebastian-software/effective-german-typography-skill ↗ |
What it does
Helps with ai & agent building tasks.
Files
Effective German Typography
Apply these rules when writing or editing German text. Apply changes silently unless it's a larger transformation task, then provide a short summary.
Important: Only apply to visible rendered text. Do not modify code, attribute values, or content intended for copy-paste into source files. Typography rules are suspended inside Markdown code blocks and inline code.
Quick Reference
| Character | Unicode | Name | Usage |
|---|---|---|---|
| „ | U+201E | Opening quote (DE/AT) | „Beispiel" |
| " | U+201C | Closing quote (DE/AT) | „Beispiel" |
| ‚ | U+201A | Opening single quote | ‚nested' |
| ' | U+2018 | Closing single quote | ‚nested' |
| « | U+00AB | Opening guillemet (CH) | «Beispiel» |
| » | U+00BB | Closing guillemet (CH) | «Beispiel» |
| ‹ | U+2039 | Single guillemet open | ‹nested› |
| › | U+203A | Single guillemet close | ‹nested› |
| – | U+2013 | En dash | Ranges, Gedankenstrich |
| − | U+2212 | Minus sign | Math only |
| … | U+2026 | Ellipsis | Not three periods |
| ' | U+2019 | Apostrophe | Klaus' Haus, O'Brien |
| × | U+00D7 | Multiplication | 5 × 3 |
| U+00A0 | Non-breaking space | Before units, % | |
| U+2009 | Thin space | Abbreviations, numbers | |
| ẞ | U+1E9E | Capital Eszett | STRAẞE (DE/AT) |
| ′ | U+2032 | Prime (feet) | 5′ |
| ″ | U+2033 | Double prime (inch) | 10″ |
Core Rules
Quotation Marks
Germany/Austria: „Anführungszeichen" with ‚single quotes' for nested.
„Er sagte: ‚Komm morgen.'"Switzerland: «Guillemets» with ‹single› for nested.
«Er sagte: ‹Komm morgen.›»For quotations nested beyond two levels, ask the user for preference.
Dashes
| Type | Character | Usage | Example |
|---|---|---|---|
| Hyphen | - | Compound words | Müller-Schmidt |
| En dash (no space) | – | Ranges | 2020–2025, 9–17 Uhr, S. 15–20 |
| En dash (with spaces) | – | Gedankenstrich | Das Wetter – so schön heute – war perfekt. |
| Minus | − | Math formulas | 5 − 3 = 2 |
Avoid em dash (—). Use en dash with spaces for Gedankenstrich.
Spaces with Numbers and Units
Use non-breaking space (thin space preferred) between number and unit:
5 kg, 20 °C, 100 km/h, 50 €, 25 %, 30 ‰Currency: Symbol after number with space: 50 €
Percent/Permille: Space before symbol: 25 %
Plus/minus: No space after: ±5 %
Section sign: Non-breaking space: § 123
Large Numbers
Prefer thin spaces (DIN 5008): 1 000 000
Periods acceptable based on context: 1.000.000
If context is unclear, ask user with preference for thin spaces.
Decimal separator: Always comma: 3,14
Apostrophe
Use typographic apostrophe (U+2019):
Klaus' Haus
So'n Quatsch
O'Brien, McDonald'sEllipsis
Use single ellipsis character (…), not three periods:
Er dachte nach …At sentence end, four dots (ellipsis + period):
Er sagte noch etwas … .In brackets for omissions: […]
Abbreviations
Use thin space (or regular space) after periods in abbreviations:
z. B., d. h., u. a., usw., etc.At sentence end, only one period:
Das gilt für Bücher, Zeitschriften usw.Ordinal Numbers
Period after number, non-breaking space before following word:
1. Platz
der 3. MaiTime and Date
Time: 24-hour format with colon: 14:30 Uhr
Time ranges: En dash without spaces: 9–17 Uhr, 14:00–15:30
Date: Standard format DD.MM.YYYY: 24.12.2024
Footnotes
- Place directly after the word/phrase the footnote refers to
- If referring to whole sentence, place after punctuation
Laut Müller¹ ist dies korrekt.
Die Theorie wurde widerlegt.²Multiplication Sign
Use × (U+00D7) not x:
5 × 3 = 15
Bildgröße: 10 × 15 cmPrime Marks
Keep distinct from quotes for measurements:
5′ 10″ (5 feet 10 inches)Spacing Rules
Plenken (wrong): Space before punctuation → Avoid Klempen (wrong): Missing space after punctuation → Avoid
Wrong: Das ist falsch , oder ?
Right: Das ist falsch, oder?No space before colon (unlike French):
Beispiel: So ist es richtig.Non-breaking Elements
Use non-breaking space/hyphen to prevent unwanted line breaks:
- Before units:
50 € - Before percent:
25 % - In phone numbers:
030 123 45 67 - After section sign:
§ 123 - After ordinals:
1. Platz
Use non-breaking hyphen in:
- Phone numbers:
030‑12345 - ISBN numbers
Advanced Typography
Apply only where the format supports it (rich text, CSS):
Small Caps
Use for acronyms and Roman numerals in body text for visual harmony:
<span class="small-caps">NATO</span> <span class="small-caps">XVII</span>.
JahrhundertLigatures
In serif fonts, enable ligatures for: ff, fi, fl, ft
Not applicable to sans-serif fonts.
Regional Variants
Default: Germany German
Only apply Swiss or Austrian rules when there's a clear hint from user or context.
Swiss German (CH)
- Quotation marks: «Guillemets» and ‹single›
- No Eszett: ß → ss (Straße → Strasse)
Austrian German (AT)
- Same as Germany German
- Use capital Eszett in all-caps: STRAẞE
Germany German (DE)
- Quotation marks: „Anführungszeichen" and ‚single'
- Use capital Eszett in all-caps: STRAẞE
Format-Specific Guidance
HTML Entities vs Unicode
Check existing context:
- If HTML entities present (
–,„), use entities - If Unicode characters present, use Unicode
- If unclear, ask user; default to Unicode
Common entities:
| Character | Entity |
|---|---|
| „ | „ |
| " | “ |
| – | – |
| … | … |
| × | × |
| |
  |
Markdown/Plain Text
Use Unicode characters directly.
JSX
Use Unicode in visible text content. Do not modify string literals in code or attributes.
Related References
- Print Typography — Page layout, hyphenation, and PDF generation
MIT License
Copyright (c) 2026 Sebastian Software GmbH
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Effective German Typography Skill

An Agent Skill that applies correct German typography rules when writing or reviewing German text.
The Problem
Without guidance, AI agents typically produce German text with:
- Straight quotes instead of „Anführungszeichen"
- Hyphens where en dashes belong (2020-2025 vs 2020–2025)
- Missing spaces between numbers and units (50kg vs 50 kg)
- Three periods instead of ellipsis character (... vs …)
- ASCII apostrophes instead of typographic ones
- Incorrect spacing around punctuation
What This Skill Provides
This skill teaches Claude the complete German typography ruleset:
- Quotation marks: „German" and «Swiss» styles with proper nesting
- Dashes: Hyphen, en dash (ranges and Gedankenstrich), minus sign
- Spacing: Non-breaking and thin spaces for units, percentages, abbreviations
- Special characters: Ellipsis, multiplication sign, prime marks, capital Eszett
- Regional variants: Germany, Austria, and Switzerland conventions
- Format awareness: Handles Markdown, HTML, JSX, and plain text appropriately
Installation
Using the Skills CLI
npx skills add sebastian-software/effective-german-typography-skillManual Installation
Clone or download this repository to your skills directory:
cd ~/<your skills folder>
git clone https://github.com/sebastian-software/effective-german-typography-skill.gitUsage
The skill activates automatically when you:
- Ask to "fix typography" or "review typography" in German text
- Write or edit German content in Markdown, HTML, JSX, or plain text
- Request German text that should follow typographic conventions
Example Prompts
- "Fix the typography in this German article"
- "Review this text for typography issues"
- "Write a German product description" (skill applies rules automatically)
Related Skills
For print/PDF output, combine with effective-print-design which provides CSS print stylesheets, page layout, and typography for paged media. German-specific print rules (hyphenation, DIN 5008 margins) are included in this skill's references/PRINT.md.
Scope
This skill focuses on typography rules, not:
- Grammar or spelling correction
- Translation
- Content writing style
- Layout or design
License
MIT - Copyright (c) 2026 Sebastian Software GmbH, Mainz, Germany
Print Typography for German Text
German-specific print rules. For general print CSS, see the effective-print-design skill.
German Hyphenation Rules
Browsers with hyphens: auto and lang="de" follow these principles:
1. Syllable-based: Break at syllable boundaries (Sil-ben-tren-nung) 2. Single consonants: Go to next syllable (tre-ten, not tret-en) 3. Multiple consonants: Last consonant goes to next syllable (Wes-pe, Kas-ten) 4. ck becomes k-k: Historically Bäk-ker, modern browsers handle this 5. st stays together: Fens-ter, not Fen-ster 6. Compound words: Break at word boundaries first (Bundes-tag, not Bun-destag)
Problem Cases
| Word Type | Issue | Solution |
|---|---|---|
| Foreign words | May use origin language rules | Use ­ for control |
| Compound words | Browser may miss boundaries | Use ­ at joints |
| Technical terms | Incorrect automatic breaks | Manual ­ |
| Proper nouns | Should not be hyphenated | hyphens: none on element |
Example: Donau­dampf­schiff­fahrts­gesellschaft
DIN 5008 Margins
German business document standard:
| Margin | Value | Notes |
|---|---|---|
| Top | 27mm | Space for letterhead |
| Right | 20mm | Standard |
| Bottom | 25mm | Space for page numbers |
| Left | 25mm | Binding margin |
@page {
size: A4;
margin: 27mm 20mm 25mm 25mm;
}Fonts for German Text
Fonts with good umlaut (ä, ö, ü), Eszett (ß), and German quotation mark („") support:
- Serif: Source Serif Pro, Noto Serif, Crimson Pro, EB Garamond
- Sans-serif: Source Sans Pro, Noto Sans, Fira Sans, IBM Plex Sans