Skill
A Skill represents a single, teachable communication competency.
Skill {
id: number;
title: string
description: string
aims: string[]
reasonToLearn?: string
examples?:
Example[] cases: Case[]
level?: number
levelOrder?: number
videoUrl?: string
detailedDescription?: string
keyLearningPoints?: string[]
estimatedDuration?: string
prerequisiteMessage?: string
practicalTips?: string[]
}
titleThe name of the communication skill.
Example:
title: "Confirming the Client’s Name and Relationship to the Pet"
descriptionA detailed explanation of:
Why the skill matters
When it should be used
Consequences of poor execution
This sets the conceptual foundation for the learner.
aimsA list of concrete learning objectives.
Example:
Greet the client warmly
Introduce yourself clearly
Confirm the client’s relationship to the pet
Aims are observable behaviors, not abstract goals.
reasonToLearn (Optional)Explains the practical and emotional value of the skill.
Used to:
Motivate learners
Reinforce importance
Connect skill to real-world outcomes
ExampleExamples demonstrate what good performance looks like.
Example {
id: string
skill: string
whyThisWorks: string[]
exTitle?: string
exampleAI?: string
videoUrl?: string
}
Examples may include:
AI-generated dialogue
Annotated explanations
Short demonstration videos
They are used before simulations to prime learner behavior.
examples: [
{
id: "ex1-1",
skill: "Warm and Professional Greeting",
whyThisWorks: [
"Immediately comforts and reassures the client.",
"Signals professionalism and readiness to help.",
],
exampleAI:
"“Hello, welcome! I’m Dr. Smith, the veterinarian who will be seeing Lucy today.”",
videoUrl: "skill1-aim1.mp4",
},
]