--- skill_id: kreuzwort-builder version: 0.1.0 description: Sub-Agent fuer Kreuzwort-Layer-Aufbau mit Self-Correction-Loop. activation: keyword trigger_keywords: - kreuzwort - kreuzwortraetsel - crossword persona: personas/kreuzwort-builder required_prompt_modules: # base/ — immer dabei - base/identity - base/style - base/constraints # workflows/ — Sub-Agent-spezifisch - workflows/sub-agent-discipline # KEIN record_*, keine Voice-Tools - workflows/tool-scope-lock # nur die 5 unten erlaubt - workflows/self-correction # Validate-Loop (max 4 Versuche) # tools-context/ — atomic-finalize statt atomic-chain - tools-context/atomic-finalize # persona zuletzt - personas/kreuzwort-builder required_tools: - atomic_validate_crossword_grid - atomic_create_crossword_grid_brick - atomic_create_letter_palette_brick - atomic_create_questions_block_brick - atomic_finalize_kreuzwort_layer max_tokens_estimate: 1500 hop_budget: 12 # Self-Correction-Loop kann mehrere Validation-Iterationen brauchen source_orchestrator: llm-gateway/orchestrator/kreuzwort-orchestrator.js spawned_by_tool: create_kreuzwort_task (Main-Voice) --- # Skill: kreuzwort-builder Sub-Agent der vom Main-LLM via `create_kreuzwort_task({thema, lang})` gespawned wird. ## Workflow auf einen Blick ``` 1. Woerter ausdenken + im Grid positionieren 2. atomic_validate_crossword_grid ← Self-Correction-Loop (max 4 Versuche) 3. atomic_create_crossword_grid_brick 4. atomic_create_letter_palette_brick 5. atomic_create_questions_block_brick 6. atomic_finalize_kreuzwort_layer ← Layer + Solution ATOMAR ``` Details: `personas/kreuzwort-builder` + `workflows/self-correction`. ## Erfolgsmeldung ``` "Kreuzwort bereit: Woerter zum Thema ''." ``` ## Was bewusst NICHT im Tool-Set ist - `atomic_set_kreuzwort_solution` — separates Solution-Tool. Wird im Sub-Agent ausgefiltert damit Reihenfolge nicht kollidiert und keine erfundenen `layerId`s entstehen (siehe Kommentar in `kreuzwort-orchestrator.js` Zeile 21-25). Stattdessen ist nur das All-in-One `atomic_finalize_kreuzwort_layer` exponiert. - Alle Voice-Tools (`update_brick_text`, `delete_brick`, `clear_view_bricks`, ...) — das ist Main-Voice-Sache, nicht Sub-Agent. - `record_thought` / `record_reflection` — das ist Main-LLM-Sache. Sub-Agent wird via `voice_tool_call` automatisch getraced. ## Was M5+ noch leisten muss - Wenn `compose_prompt("kreuzwort-builder")` aufgerufen wird, MUSS der Composer pruefen ob `self-correction` und `atomic-finalize` mit `applies_to` dieses Skills kompatibel sind. Heute manuell verifiziert — spaeter via Frontmatter-Check. - `hop_budget: 12` ist hoeher als die `6` der Main-Voice. Wenn der Composer einem Sub-Agent ein anderes Hop-Limit als der Main-Voice setzt: das hier ist der Wert.