Summary

H5P equivalent

H5P Summary

When to use

Use Summary when learners must pick the correct statements from a larger pool — recap exercises, “build the policy summary,” or filtering facts from distractors.

Prefer Quiz for a single best answer, or AssessmentSequence to chain multiple scored blocks.

Requirements

  • Requires checkId inside an active Lesson.

  • statements is the full pool; correct lists the valid subset (order matters for scoring).

Instructions

By default, learners see: Select the statements that belong in the summary.

Override with the optional instructions prop when you need task-specific wording:

<Summary
  checkId="summary-1"
  instructions="Choose the three steps that belong in the incident-response summary."
  statements={[/* ... */]}
  correct={[/* ... */]}
/>

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.

<Summary
  checkId="summary-1"
  statements={[
    "Isolate affected accounts",
    "Report to security within one hour",
    "Share passwords in chat for speed",
    "Preserve message headers for investigation",
  ]}
  correct={[
    "Isolate affected accounts",
    "Report to security within one hour",
    "Preserve message headers for investigation",
  ]}
/>

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

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

Add a Summary block (H5P-style: Summary) like this example inside the active <Lesson>:

<Summary
  checkId="summary-1"
  statements={[
    "Isolate affected accounts",
    "Report to security within one hour",
    "Share passwords in chat for speed",
    "Preserve message headers for investigation",
  ]}
  correct={[
    "Isolate affected accounts",
    "Report to security within one hour",
    "Preserve message headers for investigation",
  ]}
/>

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.
Sync lessonkit.json — add under course.assessments[]:

{
  "checkId": "summary-1",
  "kind": "summary",
  "question": "Select the correct policy statements.",
  "statements": ["Wear PPE", "Report hazards", "Ignore alarms"],
  "correct": ["Wear PPE", "Report hazards"]
}

- 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

Add under course.assessments[]:

{
  "checkId": "summary-1",
  "kind": "summary",
  "question": "Select the correct policy statements.",
  "statements": ["Wear PPE", "Report hazards", "Ignore alarms"],
  "correct": ["Wear PPE", "Report hazards"]
}

See also