Reflection

When to use

Use Reflection for open-ended learner input — commitments, journaling, or qualitative feedback at the end of a lesson.

Reflections are not auto-scored. Use useTracking().interaction() or custom LMS hooks if you need to capture responses server-side.

Try it

Documentation demo

Use the Live demo, React, AI prompt, and Packaging / Manifest tabs below. Embedded demos disable telemetry, xAPI, and the LMS bridge. For production delivery, use the CLI template src/courseConfig.ts and LMS Go-Live.

<Reflection
  blockId="lesson-reflection"
  prompt="Describe one habit you will change after this module and how you will remind yourself."
  hint="Example: I will hover links and verify sender domains before clicking."
/>

Copy into Cursor, Copilot, or ChatGPT after the vibe coding starter context:

Read lessonkit.json and src/App.tsx before editing.

Add a Reflection block like this example inside the active <Lesson>:

<Reflection
  blockId="lesson-reflection"
  prompt="Describe one habit you will change after this module and how you will remind yourself."
  hint="Example: I will hover links and verify sender domains before clicking."
/>

Requirements:
- Import only from @lessonkit/react; use block types from block-catalog.v3.json.
- Keep existing courseId, lessonId, and navigation stable unless I ask to add a lesson.
- After edits, list changed files and what to verify in the browser (lessonkit dev).

Workflow tips: https://lessonkit.readthedocs.io/en/latest/guides/vibe-coding/prompting-and-workflows.html

See also