M4: initial skill manifests for parsecapere-skills
Drei Skill-Manifeste angelegt — Rezepte die der mcp-gitea-Service (Phase
M5) auslesen wird um System-Prompts zu komponieren:
- composite/main-voice.md
Default-Skill beim Voice-Entry. Kein Trigger — wird direkt geladen.
17 Tools (volles Brick-Set + Sub-Agent-Dispatcher + Trace-Reducer).
required_prompt_modules: 6 (base/* + workflows/plan-before-action +
workflows/error-recovery + tools-context/brick-creation + persona).
- composite/kreuzwort-builder.md
Sub-Agent, Trigger ["kreuzwort", "kreuzwortraetsel", "crossword"].
5 atomic_* Tools. atomic_set_kreuzwort_solution bewusst NICHT exponiert
(nur via atomic_finalize_kreuzwort_layer erlaubt — verhindert
erfundene layerIds).
hop_budget: 12 (Self-Correction-Loop braucht mehrere Iterationen).
required_prompt_modules: 8 (inkl. workflows/self-correction +
tools-context/atomic-finalize).
- composite/lueckentext-builder.md
Sub-Agent, Trigger ["lueckentext", "vokabel-drill", "cloze"].
4 atomic_* Tools, strikt linear a→b→c→d.
hop_budget: 8 (kein Self-Correction).
required_prompt_modules: 8 (inkl. workflows/error-recovery +
tools-context/atomic-chain).
Plus README.md komplett umgeschrieben — erklaert was ein Skill ist,
die Ordner-Topologie (composite/ vs zukuenftiges atomic/), die
Compose-Order und den Cross-Repo-Bezug zu parsecapere-prompts +
parsecapere-knowledge.
Reference notes:
arch-flow/brainstorm/Sprache/
2026-06-02 — Master-Synthese — Prompt-Migration-Reihenfolge.md
2026-06-02 — Prompt-Modularisierung — Architektur und Composition.md
2026-06-02 — Skill-Discovery und Chain-of-Thought im Trace.md
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,90 @@
|
||||
---
|
||||
skill_id: main-voice
|
||||
version: 0.1.0
|
||||
description: User-Facing Voice / Session-Orchestrator — Default-Skill beim Voice-Entry.
|
||||
activation: default
|
||||
trigger_keywords: []
|
||||
note_on_activation: |
|
||||
main-voice wird nicht ueber list_skills/load_skill aktiviert sondern direkt
|
||||
beim Eintritt eines Users in die Voice-Loop. Trigger-Keywords leer.
|
||||
Der mcp-gitea-Service stellt das Manifest aber trotzdem unter dem
|
||||
selben Composer-Aufruf bereit fuer Konsistenz.
|
||||
|
||||
persona: personas/main-voice
|
||||
|
||||
required_prompt_modules:
|
||||
# base/ — immer dabei
|
||||
- base/identity
|
||||
- base/style
|
||||
- base/constraints
|
||||
# workflows/ — Main-Voice-spezifisch
|
||||
- workflows/plan-before-action
|
||||
- workflows/error-recovery
|
||||
# tools-context/ — Main-Voice braucht das volle Brick-Set
|
||||
- tools-context/brick-creation
|
||||
# persona zuletzt (Tie-Breaker)
|
||||
- personas/main-voice
|
||||
|
||||
required_tools:
|
||||
# Read-Operations
|
||||
- list_view_bricks
|
||||
- list_source_items
|
||||
# Wortpool-Operations
|
||||
- add_source_item
|
||||
- remove_word_from_row
|
||||
# View-Brick-Operations
|
||||
- add_word_to_row
|
||||
- create_row_brick
|
||||
- create_pool_view
|
||||
- delete_view_brick
|
||||
- clear_view_bricks
|
||||
# Pulse-Brick-Operations
|
||||
- update_brick_text
|
||||
- update_brick_color
|
||||
- update_brick_mode
|
||||
- delete_brick
|
||||
- toggle_brick
|
||||
# Sub-Agent-Dispatchers
|
||||
- create_sentence_shuffle
|
||||
- create_lueckentext_task
|
||||
- create_kreuzwort_task # noch geplant — heute via High-Level-Tool im JS
|
||||
# Trace-Reducer
|
||||
- record_thought
|
||||
- record_reflection
|
||||
# Escalation
|
||||
- wishlist_feature
|
||||
|
||||
max_tokens_estimate: 1800
|
||||
hop_budget: 6
|
||||
|
||||
source_orchestrator: llm-gateway/llm/gemini.js (handleVoice)
|
||||
---
|
||||
|
||||
# Skill: main-voice
|
||||
|
||||
Default-Persona beim Voice-Entry eines Users in die Stream-Box.
|
||||
|
||||
## Aktivierung
|
||||
|
||||
`main-voice` wird **nicht** ueber Trigger-Keywords entdeckt. Sie wird **direkt**
|
||||
am Anfang jedes `handleVoice()`-Calls von `llm-gateway/llm/gemini.js` geladen.
|
||||
|
||||
Der Composer-Endpoint `compose_prompt("main-voice")` liefert den fertig
|
||||
zusammengesetzten System-Prompt + die `functionDeclarations` fuer alle
|
||||
`required_tools`. Filter `mutates !== "delete" || canDelete` (Rolle-basiert)
|
||||
passiert im aufrufenden Code (siehe `gemini.js` Zeile 244-245).
|
||||
|
||||
## Spezialfall: Intro-Run
|
||||
|
||||
`generateIntro()` braucht einen kleineren, anderen Prompt — heute in
|
||||
`personas/main-voice.md` als "Spezialfall: Intro-Run"-Section. Bei
|
||||
Bedarf in M5+ als eigenes Skill-Manifest `composite/main-voice-intro.md`
|
||||
auslagern.
|
||||
|
||||
## Sub-Agent-Dispatch
|
||||
|
||||
`create_lueckentext_task` und `create_kreuzwort_task` spawn'en je einen
|
||||
Sub-Agent-Skill (`lueckentext-builder` / `kreuzwort-builder`). Der
|
||||
Sub-Agent laeuft mit eigenem System-Prompt (eigenes `load_skill`) und
|
||||
eigenem Hop-Budget. Sein Ergebnis kommt als Tool-Response zurueck zur
|
||||
Main-Voice.
|
||||
Reference in New Issue
Block a user