1. User initiates the skill with a trigger phrase like 'cliexpert'.
2. Skill initializes or retrieves the user's progress (XP, level, current module) from the `mastery_progress` table.
3. Skill presents the next lesson, quiz, scenario, or reference material based on the user's request and progress.
4. For quizzes and scenarios, the skill uses `ask_user` to present questions with choices.
5. Skill evaluates the user's answers, awards XP, and updates the `mastery_progress` table.
6. Skill provides feedback on the user's performance and suggests the next step (e.g., take a quiz, review the lesson, move to the next module).
7. The skill continues until the user completes all modules, scenarios, and the final exam.