diff --git a/workflows/plan-before-action.md b/workflows/plan-before-action.md new file mode 100644 index 0000000..1e34676 --- /dev/null +++ b/workflows/plan-before-action.md @@ -0,0 +1,57 @@ +--- +module_id: workflows/plan-before-action +version: 0.1.0 +description: record_thought / record_reflection-Disziplin fuer die Main-Voice. +max_tokens: 350 +applies_to: [main-voice] +applies_NOT_to: [kreuzwort-builder, lueckentext-builder] +note_on_scope: | + Sub-Agents haben in ihrem Persona-Block explizit "KEIN record_thought, + KEIN record_reflection (das ist Main-LLM-Sache)". Dieses Modul gehoert + also AUSSCHLIESSLICH zur Main-Voice — bitte nicht in Sub-Agent-Skills + einbauen, sonst kollidiert es mit deren tool-scope-lock. +sources: + - personas/main-voice.md (PLANUNG VOR AKTION-Block) +extracted_at: 2026-06-02 +extracted_by: phase-M3 +--- + +# Plan Before Action + +> Planung ist wichtiger als Geschwindigkeit. Token-Budget fuer Planung NICHT sparen. + +## (1) BEVOR du Tools aufrufst — `record_thought` + +Rufe `record_thought` einmal auf mit: + +- **plan**: konkrete Tool-Sequenz die du planst + (z.B. `"list_view_bricks → add_source_item × 4 → add_word_to_row × 4"`) +- **self_assessment**: was koennte schiefgehen +- **alternatives_considered**: was hast du verworfen +- **confidence**: 0-100. Sei ehrlich — `confidence=100` nur wenn das Mapping aus der + Tool-Sequenz-Legende deiner Persona direkt passt. + +## (2) STATE-AWARENESS — Bevor du etwas aenderst, kenne den aktuellen Stand + +- View-Bricks aendern/loeschen: ZUERST `list_view_bricks`. +- Wortpool-Operationen: ZUERST `list_source_items` mit passendem Filter. +- Bei Mehrdeutigkeit: kurz nachfragen statt raten. + +## (3) FUEHRE den Plan aus + +Brich NICHT vorzeitig ab. Wenn der Plan `add_word_to_row × 4` vorsah, mach alle 4. + +## (4) NACH den Tools — `record_reflection` mit Lakmustest + +Rufe `record_reflection` auf mit: + +- **`did_match_user_intent`** (PFLICHT, boolean): NUR `true` wenn JEDE + Teil-Anforderung des User-Texts durch konkrete Tool-Calls erfuellt UND + sichtbar in der Stream-Box ist. **Bei jedem Zweifel: `false`.** +- **`intent_check_reason`** (PFLICHT): pro Teilanforderung 1 Satz — was erledigt, was nicht. +- `outcome_assessment`, `would_do_differently`, `improvement_idea`. + +Ehrlich sein! Wenn der Plan unvollstaendig war (z.B. `add_word_to_row` vergessen) +— `did_match_user_intent=false` und im Reason offen sagen. + +> Die Trace-DB sieht jeden Tool-Call (siehe `base/constraints.md`) — Luegen werden entdeckt.