defaults_estimator_task:
  description: >
    You are an expert skill analyser based on the context.
    Your task is to analyse the user profile and determine the approximate distribution (in percentages) across the following five skill categories:
    1. SQL (Out of 100%) 
    2. Data Visualization (Viz) (Out of 100%)
    3. Statistical Analysis (Stats)  (Out of 100%)
    4. Business Communication (Comm) (Out of 100%)
    5. Data Storytelling (Story) (Out of 100%)
    The percentages may overlap and should reflect the level of each skill for the user in their current role.

    User Context:
    - Role: {Job_Title}
    - Topic: {topic}
    - Experience with the topic - {topic}: {Experience}
    - Technical Preference: {Level}

  expected_output: >
    ## SQL - ....%
    ## Viz - ....%
    ## Stats - ....%
    ## Comm - ....%
    ## Story - ....%
    Should not include any other comments.

  agent: defaults_estimator

research_task:
  description: >
    Perform comprehensive research on the topic **{topic}**, keeping in mind the user's job title, skills, experience, and learning level
    the motive of the user to under go this research.
    Avoid going too deep into technical details – this content is intended for a non-technical or minimally technical audience seeking a well-rounded understanding of the topic.
    Identify and list relevant concepts, methods, tools, techniques, and subtopics that should be included in a structured user journey.
    Your research should cover essential fundamentals, applied tools, advanced topics (aligned with the {Level} level), 
    and current trends relevant to the user's job title **{Job_Title}** and skills **{Skills}** and motive **{motive}**.
  

  expected_output: >
    A list of researched user journey content items for the topic {topic} tailored to the {Level} level.
    Structure the result as:
    - **Topic Area**: Main area/category (e.g., Fundamentals, Applications)
      - **Subtopics/Concepts**: List of individual concepts or tools under each topic area.
    This is purely research-based content gathering for a non-technical or minimally technical user journey preparation.
   

  agent: researcher


restructure_task:
  description: >
    # Curriculum Creation Task
    
    ## Objective
    You are an expert curriculum architect and instructional designer.
    Your task is to review the researched content provided and create a structured learning curriculum
    following the hierarchy: Course → Modules → Lessons.
    
    You must strictly adhere to the following guidelines.
    
    ## CURRICULUM HIERARCHY (MANDATORY)
    
    You must create a TWO-LEVEL hierarchical structure:
    
    ### Level 1: MODULES (Thematic Sections)
    - Modules group related lessons by theme or progression level
    - Journey type "{journey}" determines minimum modules:
      * Structured Learning: MINIMUM 3 modules (REQUIRED)
      * On-Demand Learning: MINIMUM 2 modules (REQUIRED)
    - Each module contains multiple lessons
    - Modules have descriptive names indicating theme and progression
    
    ### Level 2: LESSONS (20-Minute Learning Units)
    - Lessons are the atomic learning units within each module
    - Each module MUST contain MINIMUM 3 lessons (REQUIRED)
    - Each lesson MUST be ≤20 minutes (HARD LIMIT)
    - Target: 15-20 minutes per lesson
    
    ### Minimum Content Requirements (ENFORCED)
    Based on journey type "{journey}":
    - Structured Learning:
      * MINIMUM: 3 modules × 3 lessons = 9 lessons total (REQUIRED)
      * RECOMMENDED: 4-5 modules with 3-4 lessons each (12-20 lessons)
    - On-Demand Learning:
      * MINIMUM: 2 modules × 3 lessons = 6 lessons total (REQUIRED)
      * RECOMMENDED: 2-3 modules with 3-5 lessons each (6-15 lessons)
    
    ## CRITICAL TERMINOLOGY RULES (MANDATORY)
    
    ### NEVER Use These Terms:
    ❌ "Stage"
    ❌ "Stage 1", "Stage 2", etc.
    ❌ "This stage covers..."
    ❌ "Part"
    ❌ "Section" (use "Module" instead)
    
    ### ALWAYS Use These Terms:
    ✅ "Module" for thematic sections
    ✅ "Lesson" for 20-minute learning units
    ✅ "Course" for the overall program
    
    ## MODULE NAMING REQUIREMENTS
    
    Each module MUST have a descriptive name following this format:
    "Module [Number]: [Progression Level] - [Content Description]"
    
    ### GOOD Examples:
    ✅ "Module 1: Foundation - Understanding Data Concepts"
    ✅ "Module 2: Core Skills - Data Analysis Techniques"
    ✅ "Module 3: Advanced Application - Real-World Use Cases"
    ✅ "Module 4: Mastery - Strategic Implementation"
    
    ### BAD Examples (NEVER use):
    ❌ "Module 1" (not descriptive)
    ❌ "Stage 1: Introduction" (wrong terminology)
    ❌ "Part 1: Basics" (wrong terminology)
    ❌ "Introduction" (too generic, missing module number)
    ❌ "Foundation" (missing module number and description)
    
    ### Progression Level Vocabulary:
    - Foundation / Fundamentals (for Module 1)
    - Core Skills / Building Skills / Core Concepts (for Module 2)
    - Advanced Application / Practical Mastery (for Module 3)
    - Strategic Mastery / Expert Integration (for Module 4+)
    
    ## LESSON NAMING REQUIREMENTS
    
    Each lesson MUST have a descriptive title:
    "Lesson [Module.Lesson]: [Descriptive Title]"
    
    ### Examples:
    ✅ "Lesson 1.1: Introduction to Data Analysis"
    ✅ "Lesson 1.2: Understanding Data Types"
    ✅ "Lesson 2.1: SQL Fundamentals"
    ✅ "Lesson 2.2: Writing Basic Queries"
    
    ## MICROLEARNING TIME CONSTRAINTS (MANDATORY)
    
    ### Lesson Duration Limit (20-Minute Constraint)
    - Each lesson MUST be completable in ≤20 minutes (HARD LIMIT)
    - Target: 15-20 minutes per lesson
    - This is NON-NEGOTIABLE
    
    ### Time Budget per Lesson (breakdown)
    For each 20-minute lesson:
    - Content delivery: 10 minutes maximum
      * BOTH text AND audio formats are generated
      * User chooses which format to consume based on their situation
      * 800-1200 words for text version
    - Assessments: 8-10 minutes total
      * Technical assessment: 3 minutes
      * Business assessment: 3 minutes
      * Communication assessment: 3 minutes
    - TOTAL: Must not exceed 20 minutes
    
    ### Module Duration
    - Module duration = sum of all lesson durations in that module
    - Example: Module with 3 lessons of 20 min each = 60 minutes total
    
    ### Total Course Duration
    - The total available time is {available_time} minutes
    - The sum of ALL lesson durations across ALL modules MUST equal {available_time}
    - Distribute time strategically across modules based on complexity
    
    ## CONTENT DISTRIBUTION GUIDELINES
    
    - Use the level {Level} and user's experience {Experience} to decide depth and balance
    The user's knowledge levels in different skills are (in percentage):
      1. Knowledge in SQL - {SQL}%
      2. Data visualization skill - {Viz}%
      3. Statistical Analysis skill - {Stats}%
      4. Business Communication skill - {Comm}%
      5. Data storytelling skill - {Story}%
    - Set module and lesson content accordingly
    - Divide the researched content into modules, then divide modules into lessons
    - Include case studies where relevant, but **no projects**
    - Based on total available time, logically organize topics into modules and lessons
    - Distribute available time ({available_time}) across modules and lessons based on complexity
    - The user is either non-technical or minimally technical
    
    ## VALIDATION CHECKLIST
    
    Before finalizing, verify:
    1. ✅ Minimum modules met ({journey} = "Structured" needs ≥3, "On-Demand" needs ≥2)
    2. ✅ Each module has ≥3 lessons
    3. ✅ Each lesson is ≤20 minutes
    4. ✅ Sum of all lesson durations = {available_time}
    5. ✅ All modules have descriptive names (not "Module 1")
    6. ✅ All lessons have descriptive titles
    7. ✅ No use of "Stage" terminology anywhere
    
    ## Additional Instructions
    - **Before generating output, calculate total duration and verify sum equals {available_time}**
    - If necessary, adjust lesson durations proportionally to meet time constraint
    - Do not comment or explain anything outside of the curriculum content
 
    ## Here is the researched content:
     {content}
     
  expected_output: >
    
    A detailed, structured learning curriculum following the hierarchy: Course → Modules → Lessons.
    The curriculum should be tailored to the {Level} level for a non-technical or minimally technical learner.
    
    CRITICAL FORMATTING REQUIREMENTS:
    - Use proper hierarchy: Course → Modules → Lessons
    - Each module MUST have format: "Module [Number]: [Progression] - [Description]"
    - Each lesson MUST have format: "Lesson [Module.Lesson]: [Title]"
    - Each lesson duration MUST be ≤20 minutes (HARD LIMIT)
    - NEVER use "Stage" terminology
    - Journey type is: {journey}
    
    MINIMUM REQUIREMENTS (ENFORCED):
    - Structured Learning: ≥3 modules, ≥3 lessons per module (9 lessons minimum)
    - On-Demand Learning: ≥2 modules, ≥3 lessons per module (6 lessons minimum)
    
    Course Title:
    - Generate a compelling course title based on the user's Job Title and Topic
    - The title should reflect the relevance in the context of the user's role and industry
    - Keep it professional, engaging, and suitable
    - Job Title: {Job_Title}
    - Topic: {topic}

    Output Structure:
    The curriculum must be divided into modules, and each module into lessons.
    
    For each MODULE, include:
      1. **Module heading** with number and descriptive name
      2. **Module Focus** - what this module covers
      3. **Module Outcome** - what learners will achieve
      4. **Total Module Duration** - sum of lesson durations
      5. **Lessons** - list of lessons in this module
    
    For each LESSON within a module, include:
      1. **Lesson heading** with module.lesson number and title
      2. **Duration** - must be ≤20 minutes
      3. **Topics Covered** - specific topics in this lesson
      4. **Outcome** - what learner will achieve
    
    Format as markdown without '```'.
    Ensure the sum of all lesson durations across all modules equals **{available_time}** minutes.
 
    Example output structure:
    
    # **Data Analytics for Business Leaders**
    
    ## **Module 1: Foundation - Understanding Data Concepts**
    ### **Module Focus**
      Introduce fundamental data concepts crucial for decision-making
    ### **Module Outcome**
      Gain solid understanding of key data concepts, types, and analysis process
    ### **Total Module Duration**
      60 minutes (3 lessons)
    
    ### **Lesson 1.1: Introduction to Data Analysis**
    #### **Duration**
      20 minutes
    #### **Topics Covered**
      - What is data analysis
      - Importance in decision making
      - Key terminology: data, information, metrics
    #### **Outcome**
      Understand the fundamentals of data analysis and its business value
    
    ### **Lesson 1.2: Understanding Data Types**
    #### **Duration**
      20 minutes
    #### **Topics Covered**
      - Qualitative vs quantitative data
      - Data collection methods
      - Data sources
    #### **Outcome**
      Distinguish between data types and select appropriate collection methods
    
    ### **Lesson 1.3: The Data Analysis Process**
    #### **Duration**
      20 minutes
    #### **Topics Covered**
      - Steps in data analysis
      - Data cleaning fundamentals
      - Common pitfalls to avoid
    #### **Outcome**
      Follow a structured approach to data analysis
    
    ## **Module 2: Core Skills - Data Analysis Tools**
    ### **Module Focus**
      Familiarize with essential tools for data analysis
    ### **Module Outcome**
      Develop basic proficiency in Excel, Tableau, and SQL for analysis tasks
    ### **Total Module Duration**
      60 minutes (3 lessons)
    
    ### **Lesson 2.1: Excel for Data Analysis**
    #### **Duration**
      20 minutes
    #### **Topics Covered**
      - Functions and formulas
      - Pivot tables
      - Basic charts
    #### **Outcome**
      Use Excel for basic data manipulation and visualization
    
    ### **Lesson 2.2: Introduction to Tableau**
    #### **Duration**
      20 minutes
    #### **Topics Covered**
      - Tableau interface basics
      - Creating simple visualizations
      - Dashboard fundamentals
    #### **Outcome**
      Create basic interactive visualizations in Tableau
    
    ### **Lesson 2.3: SQL Fundamentals**
    #### **Duration**
      20 minutes
    #### **Topics Covered**
      - What is SQL
      - Basic query structure
      - SELECT statements
    #### **Outcome**
      Write simple SQL queries to retrieve data
    
    ## **Module 3: Advanced Application - Real-World Practice**
    ### **Module Focus**
      Apply data analysis skills to business scenarios
    ### **Module Outcome**
      Analyze real business problems using learned tools and techniques
    ### **Total Module Duration**
      60 minutes (3 lessons)
    
    ### **Lesson 3.1: Customer Service Analytics**
    #### **Duration**
      20 minutes
    #### **Topics Covered**
      - Key customer service metrics
      - Analyzing satisfaction data
      - Identifying improvement areas
    #### **Outcome**
      Apply analytics to improve customer service outcomes
    
    ### **Lesson 3.2: Financial Data Analysis**
    #### **Duration**
      20 minutes
    #### **Topics Covered**
      - Revenue analysis
      - Cost tracking
      - Profitability metrics
    #### **Outcome**
      Analyze financial data to support business decisions
    
    ### **Lesson 3.3: Presenting Data Insights**
    #### **Duration**
      20 minutes
    #### **Topics Covered**
      - Data storytelling principles
      - Creating executive summaries
      - Visualization best practices
    #### **Outcome**
      Communicate data insights effectively to stakeholders
    
    **TOTAL COURSE DURATION: 180 minutes** (must equal {available_time})
    
    Note:
    - This example shows 3 modules with 3 lessons each (9 lessons total)
    - Each lesson is exactly 20 minutes (meeting the ≤20 minute constraint)
    - Total: 9 lessons × 20 min = 180 minutes
    - Module names are descriptive with progression indicators
    - Lesson numbers follow module.lesson format (1.1, 1.2, 2.1, etc.)
    - NO "Stage" terminology used anywhere
    
    ## Important Reminders:
    - **Sum of all lesson durations must equal {available_time}**
    - **Each individual lesson MUST be ≤20 minutes** (microlearning constraint)
    - **Minimum modules: 3 for Structured, 2 for On-Demand**
    - **Minimum lessons per module: 3**
    - Use Module → Lesson hierarchy (NOT flat Stage list)
    - Use descriptive module names with progression level
    - Number lessons as module.lesson (1.1, 1.2, 2.1, etc.)
    - No projects, but case studies allowed
    - Markdown format only, no extra text or commentary
    - NEVER use "Stage" terminology

  agent: restructure

content_creature_task:
  description: >
    ## LESSON CONTENT CREATION (20-Minute Microlearning)
    
    You are creating engaging educational content for a single lesson.
    
    ### Lesson Context
    - **Course:** {course_title}
    - **Module:** Module {module_number} - {module_name}
    - **Lesson:** Lesson {lesson_number} - {lesson_title}
    - **Duration:** {lesson_duration} minutes (≤20 min constraint)
    
    ### Lesson Learning Objectives
    {lesson_objectives}
    
    ### Topics to Cover in This Lesson
    {lesson_topics}
    
    ## CRITICAL TERMINOLOGY RULES (MANDATORY)
    
    ### NEVER Use These Terms in Your Content:
    ❌ "Stage"
    ❌ "This stage will..."
    ❌ "Welcome to Stage 1..."
    ❌ "In this stage, we explore..."
    ❌ "Complete this stage to..."
    
    ### ALWAYS Use Proper Curriculum Terminology:
    ✅ "This lesson covers..."
    ✅ "In this module, we explore..."
    ✅ "Welcome to Lesson {lesson_number}..."
    ✅ "This lesson is part of Module {module_number}..."
    ✅ "By the end of this lesson..."
    ✅ "Throughout this course..."
    
    ### CORRECT Introduction Format (Use This):
    "Welcome to Lesson {lesson_number}: {lesson_title}. This lesson is part of 
    Module {module_number}: {module_name} in the {course_title} course. 
    In this lesson, we'll explore [key topics]. By the end of this lesson, 
    you will be able to [learning outcomes]."
    
    ### INCORRECT Introduction (NEVER Do This):
    ❌ "Welcome to Stage  of our course. In this stage, we will cover..."
    ❌ "This stage focuses on..."
    ❌ "Let's begin Stage ..."
    
    ## MICROLEARNING TIME CONSTRAINTS (MANDATORY)
    
    ### Word Count and Duration Limits
    - MAXIMUM word count: 1200 words per lesson
    - MINIMUM word count: 800 words per lesson
    - TARGET word count: 1000 words per lesson
    - Reading time: Must be consumable in 8-10 minutes (at ~120 words/minute)
    - Audio narration time: Must be 8-10 minutes when read aloud
    
    ### Why These Constraints Matter
    This ensures each lesson fits within the 20-minute microlearning constraint:
    - Content: 10 minutes (BOTH text AND audio formats are generated; user chooses which to consume)
    - Assessments: 8-10 minutes (3 assessments)
    - TOTAL: 18-20 minutes per lesson
    
    ### Content Structure (must fit in 800-1200 words)
    - Introduction: 100-150 words (1-2 minutes)
      * Welcome learner to the lesson (use correct terminology!)
      * State lesson context (module, course)
      * Preview key topics
      * State learning outcomes
    - Main Content: 500-700 words (5-6 minutes)
      * Cover all topics from {lesson_topics}
      * Use clear explanations suitable for non-technical audience
      * Include transitions between topics
    - Examples: 200-300 words (2-3 minutes)
      * Provide 2-3 relevant examples from {Industry} context
      * Make examples practical and relatable
    - Conclusion: 100-150 words (1 minute)
      * Summarize key takeaways
      * Connect to next lesson or module (if applicable)
    
    ### Writing Style Requirements
    - Write content that works well in BOTH text and audio formats
    - The system generates BOTH formats; users choose based on their situation:
      * At desk/computer → Read text version
      * Commuting/exercising → Listen to audio version
    - Use conversational but professional tone
    - Break dense concepts into digestible chunks
    - Use clear transitions between sections
    - Avoid overly technical jargon (audience is non-technical or minimally technical)
    - Speak directly to the learner ("you will...", "let's explore...")
 
    ## Content Preferences
    - The user's learning approach preference is: {Level}
      * Low-code approach: Focus on tools/interfaces, minimal coding
      * Hands-on coding: Include code examples and syntax
      * Mixed approach: Balance between tools and code
      * Other: Adapt to context
    - The user's motive for learning: {motive}
    - Tailor examples and emphasis to match these preferences
    
    ## Instructions
    - Structure the content with:
      * Warm **Introduction** (using correct lesson/module terminology)
      * Clear and connected **Main Content** covering all topics in detail
      * Practical **Examples** relevant to {Industry}
      * Thoughtful **Conclusion** reinforcing key concepts
    - Use smooth transitions between topics for natural flow
    - Avoid overuse of bullet points; present information conversationally
    - **WORD COUNT VALIDATION**: After writing, count total words
      * If >1200 words → condense content
      * If <800 words → expand key concepts
    - Include relevant examples from {Company_Name}, {Industry}, or {Top_Use_Cases}
    - Conclude with **3 reflection questions** for self-assessment and concept application
 
  expected_output: >
    Markdown content with the following structure:
    
    ## Introduction (100-150 words)
    - MUST use correct terminology (Lesson X.X, Module X, Course name)
    - NEVER use "Stage" terminology
    - State lesson context and learning outcomes
    
    ## Main Content (500-700 words total)
    - Cover all topics from the lesson
    - Organized into clear subsections with ### headings
    - Each topic section should be concise and focused
    
    ### [Topic 1 from lesson_topics]
    [Clear explanation with examples]
    
    ### [Topic 2 from lesson_topics]
    [Clear explanation with examples]
    
    ## Conclusion (100-150 words)
    - Summarize key takeaways
    - Reinforce learning outcomes
    
    ## Reflection Questions
    1. [Question prompting application of concept 1]
    2. [Question prompting application of concept 2]
    3. [Question prompting self-assessment of understanding]
    
    WORD COUNT REQUIREMENT:
    - Total content: 800-1200 words (strictly enforced)
    - If content exceeds 1200 words, it will be rejected
    - Reading time: 8-10 minutes
    - Audio narration time: 8-10 minutes
    
    TERMINOLOGY REQUIREMENT:
    - NO "Stage" references anywhere in the content
    - Use "Lesson", "Module", and "Course" correctly
 
    Maintain a clear, engaging, motivational, and human-centered tone throughout, suitable for both text reading and audio delivery.
    
  agent: content_creature

question_generator_task:
  description: >
    From the content below, generate exactly nine questions.
    Exactly three "Technical" questions, Exactly three "Business Application" questions and the last 3 questions related to "Communication Skills"
    - The user is allowed to pick either of the four approaches for the question.
      1. Low-code approach    2. Hands-on coding    3. Mixed approach   4. Any other
    - The users question preference is {Level}   

    Each question must:
        - Be answerable from the content.
        - Cover one easy, one moderate, and one difficult for each type of question.
        - Be phrased clearly and concisely.
 
        ---CONTENT START---
        {content}
        ---CONTENT END---
  expected_output: >
      ### Q1:
      [Insert question]

      ### Q2:
      [Insert question]

      ### Q3:
      [Insert question]

      (Do NOT add headings, explanations, or anything else.
  agent: question_generator

answer_evaluator_task:
  description: >
    The learner was asked the question:
    "{question}"

    The learner responded:
    "{answer}"

    Based on this response, evaluate the learner's understanding of the topic.
    Provide a rating (Excellent, Good, Fair, Needs Improvement) and a short explanation.

  expected_output: >
    A short evaluation with level and reasoning.
  agent: answer_evaluator

final_assessment_task:
  description: >
    Review all the user's answers and provide an overall final feedback summary in a single sentence.
    This is the users response {users_response}
  expected_output: >
    A comprehensive final feedback sentence summarizing the user's overall performance across all questions.
  agent: final_assessment
  
ondemand_learning_task:
  description: >
    You will receive two inputs:
    1) curriculum: A structured outline of modules and lessons (titles, topics, durations, outcomes)
    2) user_context: A user profile with fields such as role, industry, seniority, experience, motive, and preferred learning style
    
    IMPORTANT: The curriculum uses Module → Lesson hierarchy, NOT "stages"
    
    Your Tasks:
    1. Analyze the curriculum and identify key areas for growth—skills, knowledge gaps, or competencies 
       that the user should focus on improving based on the learning path described.
    
    Instructions:
      1. Read the entire curriculum carefully (it's organized as Modules containing Lessons)
      
      2. Identify modules, lessons, or skills that appear foundational but could be strengthened further
      
      3. Focus on both:
          - Technical growth areas (tools, concepts, methodologies)
          - Soft/strategic growth areas (communication, application, career readiness)
    
    2. Select and rank the top 2 relevant modules from the curriculum for this specific user, 
       based on their needs and context
    
    3. Provide clear, evidence-based reasons for personalization grounded in the user_context
       - Provide 2-3 concise reasons tied to explicit user_context fields 
         (e.g., "Because you are a BA in Financial Services with compliance needs, 
         prioritize Module 2: Data Governance and PCI DSS compliance")
    
    4. Analyze and categorize the curriculum content into these three learning dimensions:
       1. Core Foundation - Concepts, theory, and fundamentals needed for baseline knowledge
       2. Applied Skills - Hands-on techniques, practical exercises, and skill application
       3. Business Context - Industry-specific knowledge, compliance, career context, and business problem-solving

    The curriculum:
    {content}
    
    The user profile:
    Role: {Job_Title}
    Experience with the topic mentioned in the curriculum: {Level}


  expected_output: >
    ## Skill Gaps
    - **Skill:** <skill_name>  
      - Reason: <reason>
    - **Skill:** <skill_name>  
      - Reason: <reason>

    ## Recommended Modules
      1. **<module_title>** (Module <number>)  
        - Why Relevant: <why_relevant>
      2. **<module_title>** (Module <number>)  
        - Why Relevant: <why_relevant>

    ## Personalization Reasons
      - <reason_1>
      - <reason_2>
      - <reason_3>

    ## Core Foundation
      - <topic1>
      - <topic2>
      - <topic3>

    ## Applied Skills
      - <skill_1>
      - <skill_2>
      - <skill_3>

    ## Business Context
      - <context_1>
      - <context_2>
      - <context_3>


  agent: ondemand_learning

structured_learning_task:
  description: >

    You are given a training curriculum. Classify the content into three quality dimensions and return their percentage weights:
    1. Technical – data/analytics concepts, methods, tooling, governance/compliance, ML, stats, data management
    2. Communication – storytelling, presentation, visualization principles, stakeholder communication, ethics framing
    3. Application – hands-on practice, case studies, dashboards, business problem solving, real-world scenarios
    
    IMPORTANT: The curriculum is organized as Modules containing Lessons, NOT "stages"

    ## Method
    1. Parse modules, lessons, topics, and durations
    2. Map each lesson's topics to one or more dimensions using the definitions above
    3. Weight by duration when provided; otherwise assume equal weight per lesson
    4. If a topic spans multiple dimensions, split its share proportionally
    5. Base your analysis only on the provided content; do not assume extra material

    The curriculum is:
    {content}
    
  expected_output: >
    ## Technical - ....%
    ## Communication - ....%
    ## Application - ....%
    Should not include any other comments.
    
  agent: structured_learning


