Skip to content
@missing-elements

Missing Elements

Browser-based OSS and tools

Missing Elements

Web components and browser-based tools. Elements you host yourself, and tools built on them that run in your browser, your editor and your AI agent, with no server of ours between you and your files.

missing-elements.github.io

Web components

Standalone custom elements for what the web platform does not provide out of the box (yet 🙂). Each works in React, Vue, Svelte, Angular or plain HTML, can be served entirely from your own host, and runs under a strict Content Security Policy.

Element What it does Links
pdfjs‑viewer Views and edits PDF files in Firefox's PDF.js viewer, in an isolated iframe, with no runtime dependencies Docs and playground · npm
h5p‑offline‑player Plays .h5p files from your own URLs or from disk with no H5P server, offline too, and reports results as xAPI, cmi5 or SCORM Demo · npm

Tools

In your browser

Nothing to install and no account, and the files you open stay on your computer.

  • Build an H5P activity with AI: describe a lesson to ChatGPT, Claude or Grok, paste the JSON it writes, then play the activity and download a .h5p file for Moodle or another H5P site.
  • H5P to SCORM: turns a .h5p file into a SCORM zip that an LMS plays and grades.
  • H5P Offline Player: an app you install from the browser that plays .h5p files with no network.

In your editor

In your AI agent

Five skills for Claude Code and other agents that run commands. None needs an API key or an H5P server.

npx skills add missing-elements/h5p-offline-player
Skill What it does
h5p-author Turns a prompt or a lesson into H5P content of any of 28 types, and checks it in the real player
h5p-verify Checks that a package plays, and opens it for you to try
h5p-to-scorm Turns a package into a SCORM zip for an LMS
h5p-player-setup Puts H5P on a website
h5p-normalize Rewrites a package whose video will not stream

A chat that cannot install a skill reads h5p-author from missing-elements.github.io/h5p/skill/.

On the command line

The packages behind the tools, on npm: h5p-author builds a .h5p from a short JSON source, h5p-verify checks that one plays, h5p-normalize makes its video stream, h5p-embed writes a player site to embed packages from, or a SCORM zip, and h5p-cmi5 makes a page that holds the player a cmi5 unit.

Principles

  • Yours to host. The code and your files are served from where you choose, and no service of ours sits between your users and your content.
  • Private by default. No accounts, cookies or telemetry, and no server of ours sees what you open or make.
  • Standards first. Custom elements and platform APIs, for any framework or none.
  • Ready for strict CSP. Each element runs under a restrictive Content Security Policy, with clear boundaries for its assets.
  • Open source. The elements and tools are MIT. What they bundle keeps its own licence: PDF.js is Apache-2.0, H5P's libraries each have their own, and the H5P core is GPL-3.0, published apart.

Support the project

If these are useful to you, you can support their development on Donatello.

Pinned Loading

  1. pdfjs-viewer pdfjs-viewer Public

    A standalone, isolated, self-hostable, plug-in custom element for viewing and editing PDF files, based on the PDF.js Firefox built-in viewer

    JavaScript 82 5

  2. h5p-offline-player h5p-offline-player Public

    Self-hosted H5P player component. No H5P server, Moodle or WordPress. Plays offline, streams video, supports xAPI, H5P into SCORM and VS Code.

    TypeScript 9 1

Repositories

Showing 4 of 4 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…