/recht review — Vertragsprüfung (Full Review)
When the user triggers this skill, follow these steps exactly.
Step 1: Read the Document
Read the entire uploaded document. If it's a PDF, extract all text. If it's a DOCX, parse it. If no document is uploaded, ask the user to provide one.
Do NOT begin analysis until you have read the full document.
Step 2: RIS Verification
Before proceeding with analysis, follow the RIS Verification Protocol (references/ris-protocol.md):
- Check RIS MCP availability
- For every § you cite in this analysis, verify current wording via RIS
- For case law references, retrieve via RIS Justiz
- Record verification status for the Quellenstatus block
- If RIS is unavailable, follow the fallback ladder and flag all affected citations
Step 3: Ask Clarifying Questions (only if needed)
Before analysis, you MUST know these three things. Check the document first — often you can infer them. Only ask if truly unclear:
-
Which party is the user? Look at the document context. If unclear, ask:
"Welche Vertragspartei sind Sie? (z.B. Käufer/Verkäufer, Mieter/Vermieter, Arbeitnehmer/Arbeitgeber)"
-
Is this B2B or B2C? This determines if KSchG applies. Check if one party is clearly a consumer (natürliche Person, kein Unternehmer). If unclear, ask.
-
What is the approximate contract value (Streitwert)? Often stated in the contract. If not, ask.
Step 4: Classify the Document
Determine the contract type. This controls which legal framework applies:
- Kaufvertrag → §§1053ff ABGB, check Gewährleistung §§922ff
- Werkvertrag → §§1151ff ABGB (Werk), check Abnahme, Gewährleistung
- Mietvertrag → Check if MRG applies (§1 MRG). If yes: MRG controls. If no: ABGB §§1090ff
- Dienstvertrag / Arbeitsvertrag → AngG, ArbVG, applicable KollV, AZG, UrlG
- GmbH-Vertrag / Gesellschaftervereinbarung → GmbHG, §§3-5 (notwendiger Inhalt)
- NDA / Geheimhaltungsvereinbarung → ABGB allgemein, UWG §11
- Lizenzvertrag → UrhG or PatG + ABGB
- AGB → §864a ABGB, §879 Abs 3, KSchG §§6,9
- Freier Dienstvertrag → Check if disguised Arbeitsvertrag (§539a ASVG)
Step 5: Run the 5-Agent Analysis
Go through the entire document systematically for each of these.
5A: Clause Identification
Go clause by clause. For EACH clause:
- Name it — What does this clause regulate?
- Locate it — Which section/paragraph?
- Summarize it — One sentence.
- Map to Austrian law — Which §§ govern this? Be specific.
- Extract key terms — Amounts, dates, caps, conditions.
Focus especially on: Haftung, Gewährleistung, Kündigung, Gerichtsstand, Vertragsstrafe, Konkurrenzklausel, Geheimhaltung, IP/Nutzungsrechte, Datenschutz, Schiedsklausel.
5B: Risk Scoring
For EACH clause from 4A, assign a risk level:
🔴 Kritisch — assign if ANY of these is true:
- Violates mandatory Austrian law (zwingendes Recht) → void or voidable
- Creates unlimited or uncapped liability for user
- Allows other party to unilaterally change essential terms
- Waives rights that cannot be waived in B2C
🟡 Wichtig — assign if ANY of these is true:
- Deviates significantly from Austrian market standard
- Is one-sided but not void
- Creates meaningful financial risk
- Has unusually short/long Frist
🟢 Standard — if clause matches normal Austrian practice.
For each 🔴 and 🟡, estimate financial exposure in €.
5C: Compliance Check
Run these checks based on contract type:
Always check:
- §864a ABGB — Unusual clauses hidden in AGB?
- §879 Abs 1 ABGB — Anything sittenwidrig?
- §879 Abs 3 ABGB — Gröbliche Benachteiligung in AGB?
- DSGVO Art 28 — Personal data processed without Auftragsverarbeitervertrag?
If B2C (KSchG applies), check EACH clause against:
- §6 Abs 1 Z 1 — Einseitige Leistungsbestimmung → nichtig
- §6 Abs 1 Z 2 — Unangemessen lange Bindungsfrist → nichtig
- §6 Abs 1 Z 5 — Einseitige Preisänderung → nichtig
- §6 Abs 1 Z 9 — Haftungsausschluss Vorsatz/grobe Fahrlässigkeit → nichtig
- §6 Abs 1 Z 11 — Beweislastumkehr → nichtig
- §6 Abs 2 Z 3 — Einseitige Änderung Vertragsgegenstand → nichtig wenn nicht individuell
- §6 Abs 3 — Transparenzgebot verletzt?
- §14 — Gerichtsstand außerhalb Verbraucher-Wohnsitz?
- §617 ZPO — Schiedsklausel in Verbrauchervertrag → nichtig
- §3 KSchG / FAGG — Fehlendes Rücktrittsrecht bei Haustür-/Fernabsatz?
If Mietvertrag (MRG):
- §§15-16 MRG — Mietzins zulässig?
- §29 MRG — Befristung min 3 Jahre?
- §30 MRG — Nur taxative Kündigungsgründe?
- §27 MRG — Verbotene Ablösen?
If Arbeitsvertrag:
- KollV korrekt referenziert und eingestuft?
- AZG Grenzen eingehalten?
- §20 AngG Kündigungsfristen korrekt?
- §36 AngG Konkurrenzklausel: max 1 Jahr, Entgeltgrenze?
- All-in-Klausel transparent, Grundlohn ausgewiesen?
5D: Obligations Mapping
Extract ALL obligations, deadlines, triggers. For each:
- Who must do it?
- What must they do?
- When (Frist)?
- Consequence of missing it?
Flag: automatic renewals, notice periods, Vertragsstrafe triggers, payment terms.
5E: Recommendations
For EACH 🔴 and 🟡 finding:
- State the problem in one sentence
- Cite the Austrian law (§§)
- Write a Formulierungsvorschlag — actual replacement clause text in Austrian legal German
- Rate Verhandelbarkeit: Hoch / Mittel / Gering
- Provide a Fallback if primary proposal is rejected
Then list MISSING clauses (use checklists from skills/recht-missing/SKILL.md).
Step 6: Calculate the Vertragssicherheits-Score
Score = 100 minus penalty points:
| Finding | Penalty |
|---|---|
| Each 🔴 Kritisch | -12 |
| Each 🟡 Wichtig | -5 |
| Each missing critical clause | -8 |
| Each missing recommended clause | -3 |
| Each KSchG violation | -10 |
Minimum score is 0. Grade: A (90-100), B (75-89), C (60-74), D (40-59), F (0-39).
Step 7: Present the Report
Use this structure:
markdown# Vertragsprüfung: [Document Name] **Vertragstyp:** [type] **Ihre Position:** [user's party] **Gegenpartei:** [counterparty] **Vertragssicherheits-Score:** [score]/100 ([grade]) **Anwendbares Recht:** Österreichisches Recht ## ⚠️ Sofort-Warnungen [Blank fields, missing signatures, void clauses] ## Risiko-Dashboard | Stufe | Anzahl | |-------|--------| | 🔴 Kritisch | [n] | | 🟡 Wichtig | [n] | | 🟢 Standard | [n] | ## Zusammenfassung [2-3 sentences: contract type, overall risk, #1 issue] ## Wesentliche Vertragspunkte | Punkt | Inhalt | Fundstelle | |-------|--------|-----------| ## Risikoanalyse ### 🔴 Kritisch **[Clause name]** (§[x] des Vertrags) - **Problem:** [one sentence] - **Rechtslage:** [§§ with law name] - **Formulierungsvorschlag:** "[replacement text]" - **Verhandelbarkeit:** Hoch / Mittel / Gering ### 🟡 Wichtig [Same structure] ## Fehlende Klauseln | Klausel | Warum nötig | Risiko ohne | |---------|-------------|-------------| ## KSchG-Prüfung (if B2C) | Klausel | Prüfung | Ergebnis | |---------|---------|----------| ## Pflichten-Zeitleiste | Frist | Wer | Was | Konsequenz | |-------|-----|-----|-----------| ## Verhandlungsprioritäten 1. [Most important — with Formulierungsvorschlag] 2. [Second] 3. [Third] ## Nächste Schritte - [ ] [Actionable items] ## Quellenstatus | Kategorie | Status | Details | |-----------|--------|---------| | RIS MCP | 🟢 Verfügbar / 🔴 Nicht verfügbar | | | Gesetze | RIS_VERIFIED / UNVERIFIED | [n] Normen geprüft | | Judikatur | RIS_VERIFIED / UNVERIFIED | [n] Entscheidungen | | Prüfdatum | [YYYY-MM-DD] | | --- ⚠️ **Keine Rechtsberatung.** Ersetzt nicht die Beratung durch einen Rechtsanwalt.
Critical Rules
- Always cite specific §§ — Never "Austrian law says..." without the exact section.
- Always write Formulierungsvorschläge — Don't just say "change this", write the replacement.
- Never skip KSchG check for B2C — this is where the biggest findings are.
- Void clauses go in Sofort-Warnungen — nichtig per KSchG or §879 ABGB = top of report.
- Use RIS if connected — Verify statute citations are current.
- Match user's language — German in → German out. English in → English out. Statutes always in German form (§922 ABGB).


