Drei Module, klar nach Persona-Scope getrennt: - brick-creation.md: Pulse / View / Row / Pool-View-Tools + die haerteste Stolperfalle (delete_brick vs delete_view_brick vs remove_word_from_row). Main-Voice-exklusiv. - atomic-chain.md: Strikt-lineares Pattern fuer Sub-Agents ohne All-in-One-Finalize (Lueckentext). Drei Regeln: Reihenfolge, IDs aus Vorgaenger, bei Fehlschlag-Run beenden statt aufraeumen. - atomic-finalize.md: All-in-One-Pattern fuer Sub-Agents MIT Finalize (Kreuzwort). Kombiniert Layer-Erstellung + Solution-Set atomar — vermeidet orphan-Zustaende. atomic-chain und atomic-finalize zeigen explizit zueinander: wenn ein Finalize-Tool existiert, bevorzuge es. atomic-chain ist Fallback wenn das Backend nur die getrennten Tools anbietet. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1.9 KiB
module_id, version, description, max_tokens, applies_to, sources, extracted_at, extracted_by
| module_id | version | description | max_tokens | applies_to | sources | extracted_at | extracted_by | |||
|---|---|---|---|---|---|---|---|---|---|---|
| tools-context/atomic-finalize | 0.1.0 | All-in-One Layer+Solution-Erzeugung via atomic_finalize_*. | 200 |
|
|
2026-06-02 | phase-M3 |
Atomic-Finalize Pattern
Manche Sub-Agents nutzen ein All-in-One-Tool atomic_finalize_<TYP>_layer(...),
das Layer-Erstellung und Solution-Persistenz in EINEM atomaren Call kombiniert.
Wann
Wenn das Backend ein solches Tool anbietet (heute: Kreuzwort), bevorzuge es
gegenueber der getrennten atomic_create_layer + atomic_set_*_solution-Kette.
Vorteil: kein orphan-Zustand zwischen Layer-Erstellung und Solution-Set.
Aufruf-Schema
atomic_finalize_<TYP>_layer({
brickZones: { [brickId_1]: "zone-1", [brickId_2]: "zone-2", ... },
correctMapping: { ... }, // Loesung in Layer-spezifischem Format
title: "...",
})
→ liefert { layerId }
Regeln
brickZonesmuss die EXAKTENbrickId-Werte aus den Vorgaenger-Tool-Calls enthalten. Keine erfundenen IDs, keine"default","layer-1"etc.correctMappinghat ein Layer-Typ-spezifisches Format (z.B. fuer Kreuzwort:{ "row,col": "L", ... }pro Cell).- Genau ein Call — das Tool ist nicht idempotent fuer "korrigieren". Wenn der Layer falsch ist, muss alles davor neu gebaut werden.
Warum getrennte Tools im Sub-Agent-Skill?
Manchmal sind atomic_create_layer + atomic_set_*_solution separat in
required_tools, manchmal nur das atomic_finalize_*. Im Kreuzwort-Skill
ist BEWUSST nur das Finalize-Tool exponiert (siehe Kommentar in
kreuzwort-orchestrator.js: "atomic_set_kreuzwort_solution ausgefiltert"),
damit die Reihenfolge nicht durcheinander geraten kann und keine erfundenen
layerIds entstehen.