Create H5P content with ChatGPT, Claude or Grok
An AI chat can write a whole H5P activity, not only its questions: a quiz, flash cards, a
course presentation or any of 28 H5P types. Here
is how, from installing the skill to the .h5p file in your Moodle.
The chat needs the h5p-author skill, the instructions that tell it how to write H5P: you
install it once. Then the chat writes the activity. Claude and Grok
make it a .h5p file for Moodle or any other H5P site in the chat, and for
ChatGPT the build page makes the file in your browser. The skill
and the page are free and open source, with no account.
1 Install the skill, once
The skill then stays in your chat, for every activity you ask for. Where it goes depends on the chat:
-
Claude, on claude.ai or in its apps: download
h5p-author.zip and upload it under Customize,
then Skills, with code execution on. Claude builds the
.h5pfile in the chat. -
ChatGPT: download
h5p-author-chatgpt.zip and upload it
under Plugins. ChatGPT's code cannot download the build tool, so download
h5p-author-build.tar.gz once too,
and attach it to the message where you ask: ChatGPT then builds the
.h5pfile in the chat. Without it, ChatGPT hands over a link to the build page; if the page says the link arrived damaged, ask for the source as a file and open that on the build page. -
Grok: download
h5p-author.zip, the same file as for
Claude, and upload it under Skills, then Import. Grok builds the
.h5pfile in the chat. -
Open WebUI: an administrator imports the skill under Import from URL, from
its folder on GitHub,
https://github.com/missing-elements/h5p-offline-player/tree/main/skills/h5p-author. -
An agent with a terminal, such as Claude Code, Codex or Cursor:
npx skills add missing-elements/h5p-offline-player --skill h5p-author.
The zips hold h5p-author 0.9.8, the release the build page runs: text files and nothing that runs, which you can read on GitHub. The archive holds the same release's build tool, which runs in the chat's own sandbox, and the H5P libraries it puts in the file, each under its own licence.
2 Ask your chat
Open a new chat and paste this prompt with your own subject:
Use the h5p-author skill to make an H5P activity on [your subject] for [your students].
Name the type if you know it, such as "an H5P Question Set of ten questions": the types and prompts to start from are below. For another language, say so, such as "in French": the activity's buttons come in it too, where H5P has a translation.
3 Answer its questions
If the prompt names no type, the chat proposes one or two that fit your material, and you choose. Then it asks whose name and which licence go on the activity, which you may skip, and writes it.
4 Get the .h5p file
The build tool is a Node.js program, so what the chat hands you depends on whether its code runs Node.js:
- the
.h5pfile itself, from a chat whose code runs Node.js and can reach the build tool, as Claude's and Grok's can, and ChatGPT's with the build archive attached; - a link that opens the activity on the build page, as ChatGPT gives without it;
- or its source, as a file or a block of JSON: open or paste it on the build page and choose Build.
From a link or a source, the build page builds it in your browser, plays it, and saves the file with Download the .h5p.
5 Play it and check it
Work through all of it, wrong answers included, and check the answers and feedback against your material: the build checks the structure, not whether the content is right.
If the build lists problems, choose Copy the problems for the chat and paste them into the chat that wrote the source. It fixes them all and writes the source again.
6 Add it to your course
In Moodle, switch Edit mode on in your course, choose Add an activity or resource, then H5P, and upload the file under Package file. The file carries the H5P libraries it needs, but by default Moodle installs those it lacks only for a manager or an administrator: if it says a library is missing, see below.
Any other H5P site takes it where it adds H5P content, H5P.com too, and Lumi opens it on your computer. With no H5P site, h5p-offline-player plays it on a site of your own or offline, in its app.
Prompts to start from
Each names its type, so the chat asks only whose name and licence go on it. Change the subject and the numbers to yours.
A course presentation
Use the h5p-author skill to make an H5P Course Presentation of six slides on writing learning objectives with Bloom's taxonomy, with a question on each slide.
Claude Haiku made the sample on the build page from this request: play it there, or download it.
A quiz
Use the h5p-author skill to make an H5P Question Set of ten multiple-choice questions on the water cycle for 11-year-olds, with feedback that explains each answer.
Flash cards
Use the h5p-author skill to make H5P Dialog Cards for twenty common Spanish verbs: the verb on the front, and its meaning and an example sentence on the back.
Fill in the blanks, from your text
Use the h5p-author skill to make an H5P Fill in the Blanks from the text below, with its key terms as the blanks. [Paste your text here]
An interactive book, from your notes
Use the h5p-author skill to make an H5P Interactive Book from my lesson notes below: a chapter for each topic, each ending with two questions. [Paste your notes here]
A branching scenario
Use the h5p-author skill to make an H5P Branching Scenario in which a new team lead deals with a project running late: three decisions, each with a better and a worse choice, and feedback at every end.
The 28 H5P content types it offers
The chat offers these, from the h5p-author skill's list. Name one in your prompt, or say what you want and let it propose one.
From text alone
- Multiple Choice
- One question, one or several right answers.
- Question Set
- A quiz: questions in turn, then a score.
- True/False Question
- One statement, true or false.
- Fill in the Blanks
- Typing the missing words of a text.
- Drag the Words
- Dragging words into the gaps of a text.
- Mark the Words
- Clicking the words of a text that fit a rule.
- Single Choice Set
- Quick questions, one right answer each.
- Summary
- Building a summary from true statements.
- Sort the Paragraphs
- Putting paragraphs in order.
- Essay
- Free text, scored by keywords.
- Dialog Cards
- Flash cards, not scored.
- Accordion
- Reference text in panels, not scored.
- Page
- A page of text, media and questions.
- Questionnaire
- A survey, no right answers.
- Interactive Book
- Chapters of pages, with a summary.
- Course Presentation
- Slides with text, pictures and questions.
- Branching Scenario
- A story whose choices lead to different ends.
- Timeline
- Events along a time line.
With your pictures, video or recordings
Attach your files to the chat, or tell it their names, and it writes the activity around them. The build page then asks you to choose them from your computer.
- Interactive Video
- Questions and text over a video. You add a video.
- Image Hotspots
- A picture with spots that open text. You add a picture.
- Find the Hotspot
- Clicking the right area of a picture. You add a picture.
- Multimedia Choice
- A question with pictures as answers. You add pictures.
- Memory Game
- Finding pairs of cards. You add pictures.
- Image Pair
- Matching pictures to pictures. You add pictures.
- Image Sequencing
- Putting pictures in order. You add pictures.
- Dictation
- Hearing sentences and typing them. You add recordings.
- Audio
- An audio player. You add a recording.
- Game Map
- Stages on a map, each with exercises. You add a map.
Free and open source
The build page and the h5p-author skill are free, need no account, and are open source under the MIT licence. The build page's code is in this site's repository, and the skill and the player are in h5p-offline-player. The H5P runtime the player loads is GPL-3.0, and the H5P libraries in a file are each under their own licence, most MIT, as the pack's licence list says.
Privacy first: nothing you make is sent to this site, and there is no MCP server or other server of ours in between. The chat builds the file in its own sandbox, or the build page builds and plays it in your browser. Your AI chat sees what you send it, as it sees anything you ask it.
With a local model, or offline
A chat app for local models writes the activity as any chat does, but out of the box its code does not run Node.js:
- Open WebUI's code tool runs Python;
- LM Studio's code plugin runs JavaScript in Deno, not Node.js;
- Jan has no code tool of its own.
So there the chat hands over a link or the source, and the build page builds the file. Open WebUI with Open Terminal is the exception: its default image has Node.js, which the build needs.
With Node.js 22 or later on your own computer, the whole build can stay offline. Install the
skill in an agent with a terminal that runs a local model, from Ollama or LM Studio, and download
h5p-author-build.tar.gz once.
Then tell the agent where the archive is. It builds the .h5p file on your
computer, with no internet and nothing sent anywhere.
If something goes wrong
The chat doesn't use the skill
Name it in your message, as the prompts here do: "Use the h5p-author skill to…". If the chat knows no such skill, check that it is still installed where step 1 put it, and ask in a new chat.
The chat says it cannot get the build tool
Download h5p-author-build.tar.gz and attach it to your next message: a chat whose code runs Node.js builds the file from it, without installing or downloading anything. A chat whose code runs no Node.js gives you a link to the build page instead.
The build lists problems
Choose Copy the problems for the chat, and paste them into the chat that wrote the source. It fixes them all and writes the source again: paste that in place of the old one, and build again.
The chat's link builds nothing
Ask the chat for the source as JSON instead, and paste it on the build page. A link is made by running code, and one a chat wrote out itself breaks.
Moodle says a library is missing
The file carries every library it needs, but by default Moodle lets only managers and administrators install new ones. Ask one to upload the file in Site administration, under Manage H5P content types: after that, files with the same types work for you too.