Get Coach Context
get_coach_contextRetrieve all student data needed to start a Coach session in a single call. Aggregates profile, progress, learning signals, and curriculum to reduce database queries.
Instructions
Retrieve everything Coach needs to open a session with a student, in one call.
This is the primary entry point for AI Coach sessions — composes profile, progress, learning signals, and curriculum progress into a single object, so the Coach client doesn't need to know that two separate databases (Firestore and Supabase) are involved. Use the individual tools (get_student_profile, get_student_progress, get_learning_signals, get_curriculum_progress) only when you need just one piece, or for debugging a specific data source.
Args:
student_id (string): The student's unique identifier.
Returns: JSON object with schema: { "profile": { studentId, displayName, gradeBand, hasLinkedParent, enrolledAt }, "progress": { studentId, xp, level, streakCount, streakStatus, pointsBalance }, "signals": { studentId, momentumState, seenContentIds, daysSinceLastSession, recommendedInteractionType }, "curriculum": { studentId, topics: [...] } }
Examples:
Use when: "Start a Coach session for this student" -> call this first, every time, before generating any Coach response
Don't use when: you only need one field (e.g. just streak count) and want to minimize Firestore/Supabase reads -> use the specific tool instead
Error Handling:
Returns "Student not found" if get_student_profile finds no record. Progress/signals/curriculum default to safe empty states for new students who have a profile but haven't started any activity yet.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| student_id | Yes | The student's unique identifier (Firebase Auth UID / Supabase user_id — these are the same value across both systems). |