# Component Configurations # This file contains detailed configurations for each dialogue component. # Modify this file for component-specific optimizations without changing the core skill. components: dialogue_reading: required_fields: ["text", "language"] format: text: "string" # Required audio: "optional_file" # Optional language: "string" # Required config: duration: 30 # Expected reading time in seconds scoring_threshold: 80 # Accuracy threshold (0-100) validation_rules: - "text must not be empty" - "language must be supported" dialogue_expression: format: text: "string_with_cues" # e.g., "[happy] Hello!" media: "optional_file" # Video/image examples config: expression_types: ["happy", "sad", "angry"] detection_threshold: 0.7 validation_rules: - "expression cues must match types" - "media file must be valid" dialogue_selective_reading: format: full_dialogue: "string" selectable_parts: "array_of_strings" config: min_selections: 1 max_selections: 5 feedback_enabled: true validation_rules: - "selectable_parts must be subset of full_dialogue" - "selections count within limits" dialogue_selection: format: prompt: "string" options: "array_of_strings" correct_answer: "integer" # Index of correct option config: multiple_choice: false points_per_correct: 1 validation_rules: - "correct_answer must be valid index" - "options must have at least 2 items" dialogue_sentence_building: format: words_phrases: "array_of_strings" # Shuffled components target_sentence: "string" config: difficulty_level: "medium" # "easy", "medium", "hard" hints_enabled: true validation_rules: - "words_phrases must form target_sentence" - "difficulty must be valid" dialogue_fill_in_the_blanks: format: template: "string_with_blanks" # e.g., "Hello [blank]!" answers: "array_of_strings" config: case_sensitive: false partial_credit: true validation_rules: - "blanks count must match answers" - "template must have placeholders"