---
name: lizenz.pruefen
description: "MVP-Skill für Lizenz-Klassifikation. Eingabe: URL oder Bild-Metadaten + lizenz-String aus Adapter; Ausgabe: lizenz_klasse (frei|cc-by|cc-by-sa|nicht_zugelassen) + Attribution-String + ggf. § 60a-Footer-Marker. Triggert aus recherche.bilder oder artefakte-generator. Whitelist via core/config/lizenzquellen.json. Wikimedia-Lizenz-Strings werden gegen MIT/CC-By/CC0/CC-By-SA-Heuristik gematcht."
domain_scope: universal
schema_pin: tuv_v1
phase: phase_1_mvp
mode: cowork-first
skill_typ: atomar
adr_refs: [ADR_0022, ADR_0025, ADR_0032]
---

# Skill `lizenz.pruefen` (Phase-1 MVP / Phase-3-Cowork)

## Reasoning-Anleitung (Cowork-Mode, ADR 0032 Phase-3)

Skill ist deterministisch — Claude ruft Helper-Funktion oder reproduziert Logik direkt.

**Eingabe:** URL + Bild-Metadaten + Lizenz-String.

**Reasoning-Schritte:**
1. Hard-Block-Check: `lizenzquellen.json.blacklist` (19 Domains: Stockfoto, Social-Media, Schulbuchverlage)
2. Whitelist-Check: Domain-Match (kein Substring) gegen `lizenzquellen.json.whitelist`
3. Lizenz-Klassifizierung via `core/lib/lizenz.py:klassifiziere()`
4. Attribution generieren: CC-BY-SA-konform mit Lizenz-URL + ShareAlike-Hinweis

**Output:** `LizenzMetadaten` mit `lizenz / attribution / blockiert / grund`

**Anti-Pattern:**
- Substring-Match auf Whitelist (Bypass-Risiko via `fake-wikipedia.org.evil.com`)
- CC-BY-SA-Attribution ohne Lizenz-URL
- Wikipedia-Attribution ohne Permalink-Hinweis

Aufgabe: Lizenz-Konformität eines Bildes/Textes klassifizieren.

## Eingaben
- `quelle`: Quell-URL oder Domain (z. B. `commons.wikimedia.org`)
- `lizenz_string` (optional): Roher Lizenz-String aus Adapter
- `medien_typ`: bild | text | video | audio (Default: bild)

## Lizenz-Klassen
| Klasse | Bedeutung | Attribution-Pflicht |
|--------|-----------|---------------------|
| `frei` | Public Domain / CC0 | optional |
| `cc-by` | CC-BY 2.0/3.0/4.0 | Pflicht |
| `cc-by-sa` | CC-BY-SA | Pflicht + Share-Alike-Notice |
| `nicht_zugelassen` | unklare/proprietäre Lizenz | nicht verwendbar |

## Ablauf
1. Whitelist-Check gegen `core/config/lizenzquellen.json`.
2. Lizenz-String-Heuristik (Regex auf "CC0", "CC-BY", "CC-BY-SA", "Public Domain").
3. Attribution-String generieren (Format: "Autor / Quelle / Lizenz").
4. § 60a-UrhG-Footer-Marker setzen falls Schul-Verwendung.

## Output
```yaml
lizenz_klasse: cc-by-sa
attribution: "John Doe / Wikimedia Commons / CC-BY-SA 4.0"
share_alike_notice: true
verwendbar: true
hinweise: ["§ 60a-UrhG-Footer setzen"]
```

## Cross-Refs
- ADR 0022 Datenschutz (kein Cloud-Pfad bei Schüler-Bezug)
- ADR 0025 MCP-Connector-Setup
- `core/lib/lizenz.py` (Whitelist-Logik)
- Hook `pre_bild_fetch_lizenz` (ADR 0023)
