Component Catalog
Every interactive component in the app — exercises and agent tools.
Exercises
Major Scales
scales-majorPractice major scales ascending and descending with proper fingering.
Minor Scales
scales-minorPractice minor scales. Natural uses the same fingering descending. Harmonic raises the 7th. Melodic raises 6th and 7th ascending, natural descending.
Chords
chordsPlay a chord (all notes simultaneously). Any octave accepted. Tests chord knowledge and voicing.
Major Arpeggios
arpeggios-majorPlay major arpeggio (root, 3rd, 5th, octave) ascending and descending.
Chromatic Scale
chromatic-scalePlay every semitone ascending and descending. Great for finger evenness.
Five-Finger Pattern
five-finger-patternPlay the first 5 notes of a major scale up and down. Builds basic finger independence.
Rhythm Tapping
rhythm-tappingTap any MIDI key in a rhythmic pattern with a metronome. Tests timing accuracy — no pitch required.
Intervals
intervalsRunner onlyPlay the note at a given interval above a starting note. Tests interval knowledge — any octave accepted.
Cadence Patterns
cadenceRunner onlyPlay a chord progression in sequence. Tests functional harmony and chord transitions.
Sight Reading
sight-readingRead and play randomly generated note sequences at sight.
Agent Tools
Tools available to the onboarding agent. Not directly launchable — used during AI-guided assessment.
launch_exercise
Agent-onlyLaunch a piano exercise for the student to play on their MIDI keyboard. Results return automatically when they finish.
exerciseId(scales-major, scales-minor, chords, arpeggios-major, chromatic-scale, five-finger-pattern, rhythm-tapping, intervals, cadence, sight-reading)paramsinstructionBrief instruction shown before the exerciseask_question
Agent-onlyAsk the student a multiple-choice question. For knowledge questions, include correctIndex. For survey/preference questions (e.g. "describe your experience"), omit correctIndex.
questionoptionscorrectIndex0-based index of correct answer. Omit for survey/preference questions where there is no right answer.facetWhich skill dimension this question assesseslaunch_exercise_set
Agent-onlyLaunch 2-6 exercises the student plays one after another. Use instead of multiple launch_exercise calls for focused batches (warmups, testing across keys, progressive difficulty). Returns per-exercise breakdown.
exercisesinstructionOverall instruction shown at the topcomplete_assessment
Agent-onlyCall when confident enough in the assessment. Ends the conversation.
overallLeveldimensionsstrengthsweaknessesrecommendedBpmstartingMilestoneIdsummary