---
name: cowork.spawn_kritiker_pool
description: "Phase-3-Kritiker-Cluster-Dispatcher (Track-γ-2, ADR_0065 D-γ-3). Dispatcht Bildungstheoretiker-Kritiker-Subagents (Klafki/Adorno/Freire/Foucault fixed + N high-need-on-demand) auf eine Sequenz-Setzung (Sequenz-Stub). Trigger: 'Kritiker-Audit fuer Sequenz <thema>', 'Bildungstheoretiker-Audit fuer Sequenz X', 'Dispatch Kritiker-Pool'. Eingabe: sequenz_stub.yaml + substanz_recherche.yaml. Output: 4 Subagent-Outputs sequenz_audit_<theoretiker>_<sequenz_id>.yaml. Konsumiert von cowork.k6k_aggregator + cowork.konkretisiere_sequenz."
domain_scope: universal
schema_pin: sequenz_audit_v1
phase: phase_3_track_gamma
mode: cowork-first
skill_typ: pipeline_dispatcher
adr_refs: [ADR_0034, ADR_0036, ADR_0043, ADR_0048, ADR_0064, ADR_0065]
pre_run_state_checks:
  - type: file_exists
    target: <sequenz>/sequenz_stub.yaml
    description: "HARD-CONSTRAINT — sequenz_stub mit ke_anker[] pro UE Pflicht (Track-β-2 P-K6)"
  - type: file_exists
    target: core/state/schemas/agent_konstitution_v1.json
    description: "HARD-CONSTRAINT — Agent-Konstitution-Schema (γ-1)"
  - type: folder_exists
    target: core/kritiker/
    description: "HARD-CONSTRAINT — Kritiker-Konstitutions-Folder (γ-1) mit ≥4 Theoretiker-Subfolder"
---

# Kritiker-Cluster-Dispatcher `cowork.spawn_kritiker_pool` (Track-γ-2, K3-K)

## Trigger-Modi

- "Kritiker-Audit fuer Sequenz <thema>"
- "Bildungstheoretiker-Audit fuer Sequenz <slug>"
- "Dispatch Kritiker-Pool fuer Sequenz-Konkretisierung"
- "4 Theoretiker pruefen Sequenz-Setzung"

NICHT triggern bei:
- Schattenschuelerschafts-Audit (siehe cowork.audit_schattenschuelerschaft β-3 + perspektivisch cowork.spawn_persona_pool)
- KE-Pflicht-Anker-Pruefung (siehe validate_ke_pflicht_anker)

## Architektur-Position

K3-Komponente des Kritiker-Cluster-Moduls (ADR_0065 §2.2). Modular-getrennt vom Persona-Cluster-Dispatcher (D-γ-3).

```
INPUT: sequenz_stub.yaml + substanz_recherche.yaml
   ↓
cowork.spawn_kritiker_pool (K3-K — DIESER SKILL)
   ↓ dispatched 4 fixed Subagents
4 Subagents (Klafki/Adorno/Freire/Foucault)
   ↓ je Subagent: sequenz_audit_<theoretiker>_<sequenz_id>.yaml
cowork.k6k_aggregator (K6-K, NEU γ-3)
   ↓
cowork.konkretisiere_sequenz Cross-Cluster-Aggregation (γ-3-Erweiterung)
   ↓
sequenz_konkretisierung_briefing → Lehrkraft-Decision
```

## Reasoning-Anleitung (Cowork-Mode)

### Eingabe-Erwartung

Master-Claude (Cowork-Session) erhaelt:
1. **sequenz_ref:** SEQ-ID des Sequenz-Stubs
2. **sequenz_stub_pfad:** Pfad zu sequenz_stub.yaml
3. **substanz_recherche_pfad:** Pfad zu substanz_recherche.yaml (optional bei stub-Phase)
4. **theoretiker_pool:** Default 4 fixed (Klafki + Adorno + Freire + Foucault); optional high-need-on-demand
5. **token_effizienz_modus:** minimal / standard / erweitert (Default standard per agent_konstitution)

### Reasoning-Schritte

1. **Pre-Read:**
   - core/kritiker/_inventar.yaml laden (welche Agents im Pool)
   - core/state/schemas/agent_konstitution_v1.json + sequenz_audit_v1.json laden (Verträge)
   - sequenz_stub.yaml + substanz_recherche.yaml laden (Input-Daten)

2. **Auftrags-File-Generierung** pro Theoretiker (4 Files):
   ```
   core/.cache/auftrag_kritiker_<theoretiker>_<sequenz_id>.yaml
   ```
   Enthaelt: agent_konstitution_ref + sequenz_stub_ref + substanz_recherche_ref + output_pfad + timeout + token_effizienz_modus.

3. **Dispatch-Strategie (D-γ-4 modular-sequentiell):**

   **Cowork-Mode (Default):** Master-Claude triggert 4 Task-Tool-Subagent-Calls sequenziell oder parallel.

   Pro Subagent: Task-Tool-Aufruf mit:
   - `subagent_type`: general-purpose (oder kritiker-specific wenn Agent-Definition existiert)
   - `description`: "<Theoretiker>-Audit fuer Sequenz <slug>"
   - `prompt`: System-Prompt aus agent_konstitution.reasoning_steps + Input-Vertrag-Refs

   Beispiel Prompt-Template fuer Klafki-Subagent:
   ```
   Du bist Bildungstheoretiker Klafki (kritisch-konstruktive Didaktik).
   Konstitution: core/kritiker/klafki/klafki_bildungstheoretiker.yaml
   Werk-Anker: Klafki1996_NeueStudien, Klafki1985_Schluesselprobleme, ...
   Audit-Dimensionen: bildungs_bedeutung / kategoriale_bildung / schluesselproblem_anker / bildungs_ziele / bildungs_bedingung / zugaenglichkeit

   Auftrag: Auditiere die folgende Sequenz-Setzung pro UE.
   Input: sequenz_stub.yaml @ <pfad>
   Substanz: substanz_recherche.yaml @ <pfad>

   Reasoning-Steps:
   1. Lese sequenz_stub.yaml + substanz_recherche.yaml
   2. Pro UE: pruefe alle 6 audit_dimensionen (Score 0-3 pro Dimension)
   3. Generiere konkrete verbesserungs_hinweise pro UE
   4. Aggregiere gesamt_bilanz ueber Sequenz
   5. Schreibe Output nach core/.cache/sequenz_audit_klafki_<sequenz_id>.yaml gemaess core/state/schemas/sequenz_audit_v1.json

   Output: Pfad zur generierten YAML-Datei.
   ```

   **CLI-Mode (DEFERRED Phase-B, post-osascript-Bridge-Pilot):** Master-Claude triggert claude-CLI-Subprocess via osascript-Bridge mit gleichem Prompt-Template + Stdin-Pipe.

4. **Output-File-Polling:**
   - Pro Subagent-Call: warte auf sequenz_audit_<theoretiker>_<sequenz_id>.yaml
   - Schema-Validate gegen sequenz_audit_v1.json
   - Bei FAIL: Subagent-Retry (max 1×) ODER Skill-ABSTAIN mit Diagnose

5. **Output-Aggregat:**
   - Liefere Master-Cowork 4 File-Refs zurueck
   - Trigger nachfolgenden K6-K-Aggregator (cowork.k6k_aggregator, γ-3)

## Token-Effizienz-Feinjustierung (D-γ-2)

Pro Subagent:
- `minimal`: nur Top-2-Audit-Dimensionen pro Theoretiker (~60% Token-Reduktion). Use-Case: Standard-Sequenz mit klaren KE.
- `standard`: alle audit_dimensionen. Default.
- `erweitert`: alle audit_dimensionen + Vault-on-Demand-Lookup. Use-Case: komplexe/kontroverse Themen.

User-Override pro Sequenz moeglich: `--token-effizienz <modus>`.

## Modulares-Architektur-Prinzip (User-Direktive)

- **Theoretiker-Pool-Erweiterung:** neue Theoretiker durch Hinzufuegen einer agent_konstitution.yaml in core/kritiker/<theoretiker>/. Skill discovered via Folder-Scan + _inventar.yaml-Erweiterung. Kein Skill-Code-Refactor.
- **High-need-on-demand-Spawn:** _inventar.yaml definiert N optional Theoretiker (z.B. Habermas/Honneth/Mollenhauer). Trigger via Lehrkraft-Direktive ODER via Cross-Theorie-Synergie-Detection im Aggregator.
- **Dispatch-Mode-Wechsel:** Cowork-Task-Tool ↔ CLI-Subprocess wird via Skill-Config gewaehlt (nicht Code-Change).

## Output-Schema

`core/.cache/auftrag_kritiker_<theoretiker>_<sequenz_id>.yaml` (Auftrags-File, transient):
```yaml
auftrag_id: AK-<theoretiker>-<sequenz_id>-<timestamp>
agent: <theoretiker>_bildungstheoretiker
input_refs:
  sequenz_stub: <pfad>
  substanz_recherche: <pfad>
  agent_konstitution: core/kritiker/<theoretiker>/<theoretiker>_bildungstheoretiker.yaml
output_pfad: core/.cache/sequenz_audit_<theoretiker>_<sequenz_id>.yaml
output_schema: core/state/schemas/sequenz_audit_v1.json
token_effizienz_modus: standard
timeout_s: 300
```

`core/.cache/sequenz_audit_<theoretiker>_<sequenz_id>.yaml` (Subagent-Output, per agent):
- Schema: core/state/schemas/sequenz_audit_v1.json
- Pflicht: audit_id + theoretiker + agent_id + sequenz_ref + audit_timestamp + ue_audits[] + gesamt_bilanz

## Anti-Patterns

- 4 Subagents dispatching ohne sequenz_stub-Schema-Validate (Drift-Risk Setzungs-Pflicht-Anker)
- Subagent-Prompt ohne agent_konstitution_ref-Cross-Ref (Konstitution-Drift)
- Output-Polling ohne Schema-Validate (Hallu-Risk)
- Cross-Theoretiker-Konflikt-Detection in diesem Skill (gehoert zu K6-K + Cross-Cluster K6+ Aggregator)
- Direkter API-Call statt Task-Tool oder CLI-Subprocess (User-Korrektur 4 + ADR_0048)

## DSGVO-Reminder

Audit-Outputs enthalten **keine** personenbezogenen Daten (Sequenz-Setzungen + Bildungstheorie-Annotation). Kein DSGVO-Risiko.

## Cross-Refs

- ADR_0034 Pipeline-Skill-Workflow
- ADR_0036 Persona-Agent-System (Pattern-Vorlage)
- ADR_0043 Agent-Teams Cross-Project-Pattern-Import
- ADR_0048 Plattform-Cowork-CLI-Hybrid
- ADR_0064 KE-Pflicht-Anker
- ADR_0065 Track-γ Kritiker-Cluster-Modul (D-γ-3 separater Dispatcher)
- core/kritiker/_inventar.yaml (Theoretiker-Inventar)
- core/state/schemas/agent_konstitution_v1.json
- core/state/schemas/sequenz_audit_v1.json
- core/skills/cowork.k6k_aggregator/SKILL.md (Konsument, γ-3)
- core/skills/cowork.konkretisiere_sequenz/SKILL.md (Cross-Cluster-Aggregator, γ-3-Erweiterung)
