GuessTheAnswer

H5P equivalent

H5P Guess the Answer

When to use

Use GuessTheAnswer for hidden-answer discovery — learners reveal or type a short answer after a prompt. Set scored={false} for reveal-only interactions without LMS scoring.

Set kind: "guessTheAnswer" in lessonkit.json when packaging scored variants.

Requirements

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.

<GuessTheAnswer
  checkId="policy-guess"
  prompt="What is the EU privacy regulation acronym?"
  answer="GDPR"
/>

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

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

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

<GuessTheAnswer
  checkId="policy-guess"
  prompt="What is the EU privacy regulation acronym?"
  answer="GDPR"
/>

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": "policy-guess",
  "kind": "guessTheAnswer",
  "question": "What is the EU privacy regulation acronym?",
  "answer": "GDPR"
}

- 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

Scored variants use kind: "guessTheAnswer" and are SPA-only in the LMS shell. Set scored={false} in React for reveal-only mode (no descriptor required).

{
  "checkId": "policy-guess",
  "kind": "guessTheAnswer",
  "question": "What is the EU privacy regulation acronym?",
  "answer": "GDPR"
}

Reveal-only mode

Set scored={false} for glossary-style reveals — no checkId, no lessonkit.json descriptor, and no scoring telemetry:

<GuessTheAnswer
  scored={false}
  prompt="What does MFA stand for?"
  answer="Multi-factor authentication"
/>

Touch behavior

Text inputs use 16px+ font size to avoid iOS zoom. Check and reveal buttons use lk-button touch targets when base theme CSS is imported.

Scored mode and matching

When scored is true (default), learners type an answer and click Check. Matching is case-insensitive after trim and collapsed whitespace. Add kind: "guessTheAnswer" under course.assessments[] for SPA parity. Omit from assessments[] when packaging SCORM/xAPI/cmi5 if you rely on shell scoring only — same rule as FillInTheBlanks.

See also