h5p-type-scaffold
Original:🇺🇸 English
Translated
17 scripts
Scaffold and guide creation of H5P content types. Use when asked "build an H5P type", "create an H5P content type", "scaffold an H5P library", or "start a new H5P".
4installs
Sourcechandima/agent-skills
Added on
NPX Install
npx skill4agent add chandima/agent-skills h5p-type-scaffoldTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →H5P Content Type Scaffolder
Create a modern H5P content type starting from established boilerplates, with a minimal build pipeline and editor semantics.
How It Works
- Collect metadata (title, machine name, version, author, license).
- Generate a boilerplate (default: SNORDIAN) that aligns with current H5P best practices.
- Provide starter ,
library.json, and JS/CSS entrypoints.semantics.json - Outline build and packaging steps using .
h5p-cli
Concepts
- Content types are runnable libraries under (
H5P.*).runnable: 1 - Editor widgets are non-runnable libraries under (
H5PEditor.*).runnable: 0 - defines the editor form schema and validation rules.
semantics.json - Non-runnable dependency libraries (often or
H5P.*) are used as shared building blocks.H5PApi.*
See for details and official links.
references/CONCEPTS.mdUsage
bash
bash /mnt/skills/user/h5p-type-scaffold/scripts/scaffold.sh \
--title "My Content Type" \
--machine "H5P.MyContentType" \
--kind "content" \
--version "1.0.0" \
--description "Short description" \
--author "Your Name" \
--license "MIT" \
--template "snordian" \
--out /path/to/outputEditor widget example:
bash
bash /mnt/skills/user/h5p-type-scaffold/scripts/scaffold.sh \
--title "My Editor Widget" \
--machine "H5PEditor.MyWidget" \
--kind "editor" \
--out /path/to/outputOutput
- and
library.jsonsemantics.json - ,
src/entries,src/scriptssrc/styles - (templates)
README.md - (templates, dev harness)
DEV.md - Build config and lint config (varies by template)
- Templates live under
assets/templates/
Build & Package (h5p-cli)
- Install deps:
npm install - Build assets:
npm run build - Set up dev environment: then
h5p coreh5p setup <library> - Run local editor/server:
h5p server - Pack to :
.h5p(seeh5p pack <library> [my.h5p])h5p help pack
Dev Harness (h5p-cli)
- Manual steps:
references/DEV-HARNESS.md - Helper script:
scripts/h5p-dev.sh
xAPI Integration
- Guidance: (emit + listen + platform notes)
references/XAPI.md
See for a fuller command overview and for authoring essentials.
references/H5P-CLI.mdreferences/CONTENT-TYPE-AUTHORING.mdGuidance (2024/2025 Best Practices)
- Default to the SNORDIAN boilerplate for linting, i18n scaffolding, and CI-ready conventions.
- Use the official when you want the simplest baseline.
h5p/h5p-boilerplate - Prefer vanilla JS for community maintainability.
- Use to pack and manage libraries.
h5p-cli - Validate semantics and editor UX early with a minimal field set.
Related Community Patterns (Incorporated)
- H5P content is often embedded via iframe in LMS or CMS platforms.
- Common education-focused content types include Interactive Video, Course Presentation, Question Sets, Dialog Cards, and Timeline.
- When embedding, wrap iframes in a responsive container and apply safe, minimal styling.
Templates
- (default): Linting + i18n scaffolding + modern webpack config.
snordian - : Official minimal boilerplate structure.
vanilla - : H5P editor widget boilerplate (
editor).H5PEditor.*
Additional Upstream Options (Not Bundled)
- branches like
h5p/h5p-boilerplateandquestion-typefor specialized starting points.question-type-vue - for building custom H5P editor widgets.
otacke/h5p-editor-boilerplate - if you prefer a Yeoman-based generator workflow.
NDLA-H5P/generator-h5p-content-type - for a React-based starter (note: appears stale).
tarmoj/h5p-react-boilerplate
Troubleshooting
- If machine name is invalid, use .
H5P.YourContentType - For editor widgets, use and a
--kind editormachine name.H5PEditor.YourWidget - If versioning is unclear, start with and update later.
1.0.0 - If build fails, ensure and
nodeare installed and runnpm.npm install