Enforce French Language Conventions
You are helping the user ensure that all project content is written in proper French,
with correct accents, grammar, and typographic conventions.
This skill applies to all generated or edited files that contain human-readable French text,
not just documentation.
When to Use
- The project's CLAUDE.md or documentation specifies French as the primary language
- The user asks to write, review, or fix French content
- The user mentions accents, orthographe, typographie, or langue française
- Files contain French text with missing or incorrect accents
- Generating any file (SVG, Mermaid, PlantUML, Draw.io, HTML, CSV, JSON, YAML, etc.)
in a project configured for French
Pre-flight Checks
Before making changes, always:
- Check the project's language configuration — look for CLAUDE.md, README, or other
configuration files that specify the project language
- Identify which files contain French text — scan all file types, not just markdown
- Ask the user before making bulk changes — especially when fixing accents across many files
French Writing Rules
Accents and Special Characters
French accents are mandatory, not optional. Missing accents change word meaning
and are considered spelling errors.
| Character |
Name |
Examples |
| é |
accent aigu |
réalisateur, qualité, équipe, périmètre |
| è |
accent grave |
stratège, modèle, problème, critère |
| ê |
accent circonflexe |
être, forêt, fête, tête |
| à |
a accent grave |
à, déjà, voilà |
| ù |
u accent grave |
où |
| ô |
o accent circonflexe |
contrôle, rôle, clôture, binôme |
| î |
i accent circonflexe |
maître, connaître |
| ç |
cédille |
ça, français, leçon, reçu |
| ë, ï, ü |
tréma |
Noël, naïf, ambiguïté |
Common Missing Accent Patterns
When reviewing or generating French text, watch for these frequently missed accents:
| Wrong |
Correct |
Context |
| qualite |
qualité |
noun ending in -ité |
| securite |
sécurité |
noun ending in -ité |
| perimetre |
périmètre |
noun ending in -ètre |
| deploiement |
déploiement |
noun with dé- prefix |
| developpeur |
développeur |
noun with dé- prefix |
| stratege |
stratège |
noun ending in -ège |
| modele |
modèle |
noun ending in -èle |
| cloture |
clôture |
noun with ô |
| equipe |
équipe |
noun with é |
| role |
rôle |
noun with ô |
| etre |
être |
verb with ê |
| batisseur |
bâtisseur |
noun with â |
| retrospective |
rétrospective |
noun with é |
| responsabilites |
responsabilités |
plural noun with é |
Technical Terms
Technical English terms commonly used in French tech contexts should be kept in English:
- Sprint, Backlog, Product Owner, Scope, Deadline
- CI/CD, DevOps, LLMOps, API, SDK
- RACI, SOW, ROI, NPS, KPI
- Pull Request, Code Review, Merge Request
- Framework, Pipeline, Prompt Engineering
Rule: if the term is universally used in English in French tech culture, keep it.
If a standard French equivalent exists and is commonly used, prefer the French version.
French Typography
French typography differs from English in several ways:
| Rule |
Example |
Space before : ; ! ? |
Attention : ceci est important |
No space before , . |
Bonjour, comment allez-vous. |
| Guillemets for quotes |
« texte » (with non-breaking spaces) |
| Ordinals |
1er, 2e, 3e (not 1ème, 2ème) |
| Capitalization |
Less capitalization than English — Modèle opératoire not Modèle Opératoire |
Em dash (—) |
Not standard French punctuation — replace with :, (…), or . depending on context |
Em dash vs English: The em dash is valid and common in English.
Do not remove em dashes from English content. Only apply this rule to French text.
Note on generated files: Typography rules (spaces before punctuation, guillemets)
may not be practical in all file formats. Prioritize correct accents in all cases;
apply typography rules when the format supports them without breaking rendering.
Process
Step 1: Discover Content to Review
Scan the project for all files containing French text:
- Documentation:
*.md files
- Diagrams and visuals:
*.svg, *.drawio, *.puml, *.mmd (Mermaid)
- Web content:
*.html, *.htm, *.vue, *.jsx, *.tsx
- Data files:
*.csv, *.json, *.yaml, *.yml, *.toml
- Presentations:
*.tex, *.adoc, *.rst
- Configuration:
CLAUDE.md, README.md, *.properties, *.ini
- Code: comments and string literals in source files
Step 2: Analyze and Report
For each file, identify:
- Missing or incorrect accents
- Grammar issues
- Typography issues (spaces before colons, etc.)
- Inconsistent language (mixing French and English in non-technical contexts)
Present findings as a table:
| File | Issue | Wrong | Correct |
|------|-------|-------|---------|
| docs/roles.md | Missing accent | qualite | qualité |
| diagram.svg | Missing accent | deploiement | déploiement |
| data.csv | Missing accent | responsabilite | responsabilité |
Step 3: Apply Fixes
After user approval:
- Use
Edit with replace_all=true for each correction pattern across each file
- For each file format, respect the format-specific guidelines below
- Verify no regressions after applying fixes
Step 4: Validate
After applying fixes:
- Search for remaining common missing accent patterns
- Confirm all files are consistent
- Report any terms you're unsure about (ask the user for guidance)
Format-Specific Guidelines
SVG Files
- Only modify text content inside
<text> elements — never touch coordinates,
styles, or structure
- Check text fits — accented characters may be slightly wider; verify text
still fits within its container
- Use UTF-8 characters — not XML entities (
é not é)
- Linters may reformat — SVG optimizers (SVGO) may reformat the file after
edits. This is expected and should not be reverted
Mermaid Diagrams (.mmd, embedded in markdown)
- Accents work natively in node labels:
A[Qualité] --> B[Sécurité]
- For labels with special characters, use quotes:
A["Clôture du projet"]
- Test rendering after adding accents — some Mermaid renderers may
have issues with certain characters in edge labels
PlantUML Files (.puml)
- Accents work in labels and notes:
:Vérification du périmètre;
- Use UTF-8 encoding — add
@startuml without BOM
- Accents in participant names may require quoting:
participant "Développeur GenAI" as Dev
Draw.io / diagrams.net Files (.drawio)
- These are XML files — accents work natively in
value attributes
- Edit the XML directly or use the visual editor
- Watch for HTML-encoded entities that should be UTF-8 characters
CSV Files
- Ensure UTF-8 encoding (not Latin-1/ISO-8859-1)
- Accents in field values:
"Qualité","Sécurité","Périmètre"
- Some spreadsheet tools may re-encode — verify encoding after export
JSON / YAML Files
- Accents work natively in string values:
"rôle": "Développeur"
- JSON requires UTF-8 by specification
- YAML supports UTF-8 natively — no quoting needed for accented values
HTML Files
- Use UTF-8 encoding:
<meta charset="UTF-8">
- Use actual UTF-8 characters, not HTML entities (
é not é)
- Check
<title>, <meta>, alt attributes, aria-label, and visible text
Generating New Files
When generating any new file that will contain French text:
- Write with accents from the start — do not generate without accents
and fix later
- Use UTF-8 encoding for all file types
- Apply the correct accents as you write — refer to the common patterns
table above
- Keep technical terms in English — do not translate universally used
English terms
- Validate before presenting — re-read your generated content for
missing accents before showing it to the user
Important Guidelines
- Never remove accents — if unsure whether a word needs an accent, keep it
- Preserve technical terms in English — do not translate Sprint, Backlog, etc.
- Ask before bulk changes — present the list of fixes before applying them
- One pattern at a time — when using
replace_all, fix one word pattern per edit
to avoid unintended replacements
- Context matters — some words change meaning with/without accents
(e.g., "ou" = or, "où" = where). Always consider context
- UTF-8 everywhere — always use UTF-8 encoding, never Latin-1 or other legacy encodings
- Generate correctly from the start — it's cheaper to write accents correctly
the first time than to fix them after the fact
1---2name: french-language3description: Ensures all project content is written in proper French with correct accents, grammar, and typography. Use when user mentions french, français, langue française, accents, orthographe, typographie, or when working on a project that requires French language content. Also use when generating any text-based file (SVG, Mermaid, PlantUML, Draw.io, HTML, CSV, JSON, YAML, etc.) in a French-language project. Helps enforce French writing conventions across all file types.4---56# Enforce French Language Conventions78You are helping the user ensure that all project content is written in proper French,9with correct accents, grammar, and typographic conventions.1011This skill applies to **all generated or edited files** that contain human-readable French text,12not just documentation.1314## When to Use1516- The project's CLAUDE.md or documentation specifies French as the primary language17- The user asks to write, review, or fix French content18- The user mentions accents, orthographe, typographie, or langue française19- Files contain French text with missing or incorrect accents20- **Generating any file** (SVG, Mermaid, PlantUML, Draw.io, HTML, CSV, JSON, YAML, etc.)21 in a project configured for French2223## Pre-flight Checks2425Before making changes, always:26271. **Check the project's language configuration** — look for CLAUDE.md, README, or other28 configuration files that specify the project language292. **Identify which files contain French text** — scan all file types, not just markdown303. **Ask the user before making bulk changes** — especially when fixing accents across many files3132## French Writing Rules3334### Accents and Special Characters3536French accents are **mandatory**, not optional. Missing accents change word meaning37and are considered spelling errors.3839| Character | Name | Examples |40| --------- | -------------------- | --------------------------------------- |41| é | accent aigu | réalisateur, qualité, équipe, périmètre |42| è | accent grave | stratège, modèle, problème, critère |43| ê | accent circonflexe | être, forêt, fête, tête |44| à | a accent grave | à, déjà, voilà |45| ù | u accent grave | où |46| ô | o accent circonflexe | contrôle, rôle, clôture, binôme |47| î | i accent circonflexe | maître, connaître |48| ç | cédille | ça, français, leçon, reçu |49| ë, ï, ü | tréma | Noël, naïf, ambiguïté |5051### Common Missing Accent Patterns5253When reviewing or generating French text, watch for these frequently missed accents:5455| Wrong | Correct | Context |56| --------------- | --------------- | -------------------- |57| qualite | qualité | noun ending in -ité |58| securite | sécurité | noun ending in -ité |59| perimetre | périmètre | noun ending in -ètre |60| deploiement | déploiement | noun with dé- prefix |61| developpeur | développeur | noun with dé- prefix |62| stratege | stratège | noun ending in -ège |63| modele | modèle | noun ending in -èle |64| cloture | clôture | noun with ô |65| equipe | équipe | noun with é |66| role | rôle | noun with ô |67| etre | être | verb with ê |68| batisseur | bâtisseur | noun with â |69| retrospective | rétrospective | noun with é |70| responsabilites | responsabilités | plural noun with é |7172### Technical Terms7374Technical English terms commonly used in French tech contexts should be **kept in English**:7576- Sprint, Backlog, Product Owner, Scope, Deadline77- CI/CD, DevOps, LLMOps, API, SDK78- RACI, SOW, ROI, NPS, KPI79- Pull Request, Code Review, Merge Request80- Framework, Pipeline, Prompt Engineering8182**Rule:** if the term is universally used in English in French tech culture, keep it.83If a standard French equivalent exists and is commonly used, prefer the French version.8485### French Typography8687French typography differs from English in several ways:8889| Rule | Example |90| ---------------------------- | -------------------------------------------------------------------------------------- |91| Space before `:` `;` `!` `?` | `Attention : ceci est important` |92| No space before `,` `.` | `Bonjour, comment allez-vous.` |93| Guillemets for quotes | `« texte »` (with non-breaking spaces) |94| Ordinals | 1er, 2e, 3e (not 1ème, 2ème) |95| Capitalization | Less capitalization than English — `Modèle opératoire` not `Modèle Opératoire` |96| Em dash (`—`) | Not standard French punctuation — replace with `:`, `(…)`, or `.` depending on context |9798**Em dash vs English:** The em dash is valid and common in English.99Do not remove em dashes from English content. Only apply this rule to French text.100101**Note on generated files:** Typography rules (spaces before punctuation, guillemets)102may not be practical in all file formats. Prioritize correct accents in all cases;103apply typography rules when the format supports them without breaking rendering.104105## Process106107### Step 1: Discover Content to Review108109Scan the project for **all files** containing French text:110111- **Documentation:** `*.md` files112- **Diagrams and visuals:** `*.svg`, `*.drawio`, `*.puml`, `*.mmd` (Mermaid)113- **Web content:** `*.html`, `*.htm`, `*.vue`, `*.jsx`, `*.tsx`114- **Data files:** `*.csv`, `*.json`, `*.yaml`, `*.yml`, `*.toml`115- **Presentations:** `*.tex`, `*.adoc`, `*.rst`116- **Configuration:** `CLAUDE.md`, `README.md`, `*.properties`, `*.ini`117- **Code:** comments and string literals in source files118119### Step 2: Analyze and Report120121For each file, identify:122123- Missing or incorrect accents124- Grammar issues125- Typography issues (spaces before colons, etc.)126- Inconsistent language (mixing French and English in non-technical contexts)127128Present findings as a table:129130```text131| File | Issue | Wrong | Correct |132|------|-------|-------|---------|133| docs/roles.md | Missing accent | qualite | qualité |134| diagram.svg | Missing accent | deploiement | déploiement |135| data.csv | Missing accent | responsabilite | responsabilité |136```137138### Step 3: Apply Fixes139140After user approval:1411421. Use `Edit` with `replace_all=true` for each correction pattern across each file1432. For each file format, respect the format-specific guidelines below1443. Verify no regressions after applying fixes145146### Step 4: Validate147148After applying fixes:1491501. Search for remaining common missing accent patterns1512. Confirm all files are consistent1523. Report any terms you're unsure about (ask the user for guidance)153154## Format-Specific Guidelines155156### SVG Files157158- **Only modify text content** inside `<text>` elements — never touch coordinates,159 styles, or structure160- **Check text fits** — accented characters may be slightly wider; verify text161 still fits within its container162- **Use UTF-8 characters** — not XML entities (`é` not `é`)163- **Linters may reformat** — SVG optimizers (SVGO) may reformat the file after164 edits. This is expected and should not be reverted165166### Mermaid Diagrams (`.mmd`, embedded in markdown)167168- Accents work natively in node labels: `A[Qualité] --> B[Sécurité]`169- For labels with special characters, use quotes: `A["Clôture du projet"]`170- Test rendering after adding accents — some Mermaid renderers may171 have issues with certain characters in edge labels172173### PlantUML Files (`.puml`)174175- Accents work in labels and notes: `:Vérification du périmètre;`176- Use UTF-8 encoding — add `@startuml` without BOM177- Accents in participant names may require quoting:178 `participant "Développeur GenAI" as Dev`179180### Draw.io / diagrams.net Files (`.drawio`)181182- These are XML files — accents work natively in `value` attributes183- Edit the XML directly or use the visual editor184- Watch for HTML-encoded entities that should be UTF-8 characters185186### CSV Files187188- Ensure UTF-8 encoding (not Latin-1/ISO-8859-1)189- Accents in field values: `"Qualité","Sécurité","Périmètre"`190- Some spreadsheet tools may re-encode — verify encoding after export191192### JSON / YAML Files193194- Accents work natively in string values: `"rôle": "Développeur"`195- JSON requires UTF-8 by specification196- YAML supports UTF-8 natively — no quoting needed for accented values197198### HTML Files199200- Use UTF-8 encoding: `<meta charset="UTF-8">`201- Use actual UTF-8 characters, not HTML entities (`é` not `é`)202- Check `<title>`, `<meta>`, `alt` attributes, `aria-label`, and visible text203204## Generating New Files205206When generating any new file that will contain French text:2072081. **Write with accents from the start** — do not generate without accents209 and fix later2102. **Use UTF-8 encoding** for all file types2113. **Apply the correct accents as you write** — refer to the common patterns212 table above2134. **Keep technical terms in English** — do not translate universally used214 English terms2155. **Validate before presenting** — re-read your generated content for216 missing accents before showing it to the user217218## Important Guidelines219220- **Never remove accents** — if unsure whether a word needs an accent, keep it221- **Preserve technical terms in English** — do not translate Sprint, Backlog, etc.222- **Ask before bulk changes** — present the list of fixes before applying them223- **One pattern at a time** — when using `replace_all`, fix one word pattern per edit224 to avoid unintended replacements225- **Context matters** — some words change meaning with/without accents226 (e.g., "ou" = or, "où" = where). Always consider context227- **UTF-8 everywhere** — always use UTF-8 encoding, never Latin-1 or other legacy encodings228- **Generate correctly from the start** — it's cheaper to write accents correctly229 the first time than to fix them after the fact