skill
Demo authoring skillpack
Public Made by Adomby adom
How Adom bridges give a guided, narrated, recorded demo on a user's desktop: real content, an instant remote, captions and TTS, windows forward once and sized into slots, every beat verified, motion that stays on the content, first-run hardening, recording with audio.
← Commit history
Publish 1.2.3
3 files changed
+24−3
package.json+1−1@@ -1,6 +1,6 @@ { "name": "adom/demo-authoring-skillpack",- "version": "1.2.2",+ "version": "1.2.3", "description": "Author a guided, narrated, recorded demo tour for an Adom bridge or dashboard: content, remote, captions and narration, windows, verification, motion, first-run boxes, recording, the true user flow. Measured on the KiCad bridge tour.", "type": "skill", "discovery_triggers": [
page.json+1−1@@ -27,7 +27,7 @@ "path": "docs/hero.png" }, "name": "adom/demo-authoring-skillpack",- "version": "1.2.2",+ "version": "1.2.3", "description": "Author a guided, narrated, recorded demo tour for an Adom bridge or dashboard: content, remote, captions and narration, windows, verification, motion, first-run boxes, recording, the true user flow. Measured on the KiCad bridge tour.", "discovery_triggers": [ "build a demo",
skills/demo-video-publishing/SKILL.md+22−1@@ -9,7 +9,7 @@ description: >- keyframes every second, verify the RENDERED page in a browser, never a curl of a URL you typed). Written on 2026-09-12 after a feature video shipped with DejaVu captions running off both edges, no narration, and a video tag pointing at files that did not exist. Trigger words: publish demo- video, video on the wiki page, embed video in readme, sub-readme video, video captions font,+ video, video on the wiki page, embed video in readme, sub-readme video, adom-video widget, captions for the wiki video, video captions font, captions cut off, caption overflow, add narration to the video, ffmpeg drawtext, brand fonts on video, video overflows the column, ralph test the wiki page, check the rendered page. ---@@ -43,6 +43,22 @@ for: label over the thing being demonstrated, caption clipped, letterbox, stray caption does not match what is on screen, a hold on an unchanged frame. See **demo-review**. ## 4. Embedding in a README (the part that breaks silently)+- **Use the `::adom-video` widget, with captions and chapters.** It is the wiki's YouTube-style+ player (adom/widgets): every YouTube shortcut, hold for 2x, frame step, a timeline you can hit,+ chapters as bar segments. A narrated video gets its captions for free: gang-takes writes+ `final.vtt` from the adom-tts narration text and `final.chapters.json` from the segment labels;+ run it with `--wiki-path /OWNER/SLUG/render/FOLDER` and paste the report's `embed` line:+ ```markdown+ ::adom-video{video="/OWNER/SLUG/render/feature/demo.mp4" poster="/OWNER/SLUG/render/feature/demo-poster.jpg" captions="/OWNER/SLUG/render/feature/demo.vtt" chapters="/OWNER/SLUG/render/feature/demo.chapters.json"}+ ```+ Paths are absolute wiki paths, `/OWNER/SLUG/render/...`, never relative. The video goes in+ `video=`, never `src=` (the wiki inlines a `src` file into the frame). On a PRIVATE page use the+ report's `embed_private` line, `::adom-video{src=".../demo.video.json"}`: the reader's browser+ fetches captions and chapter files without a login, so on a private page they ride inside that+ manifest, which the wiki inlines. Narration not made with gang-takes? You still have its text and+ where each clip starts in the cut; write the `.vtt` yourself (one cue per sentence, start = where+ the clip starts, end = start + the clip's duration) rather than shipping a narrated video with no captions.+- The rest of this section is for a raw `<video>` tag, the fallback when the widget cannot be used. - **Paths resolve from the page root, even in a sub-folder README.** In `feature/README.md`, write `feature/demo.mp4` and `feature/menu.png`, not `demo.mp4`. A bare filename renders a 404 that curl of the file itself will not reveal. Same rule for `docs/x.md` sub-readmes.@@ -56,6 +72,11 @@ caption does not match what is on screen, a hold on an unchanged frame. See **de feature/demo.mp4 feature/demo-poster.png ...`, never the files blob API (**wiki-sub-readme**). ## 5. Verify the rendered page, not your own URL+For `::adom-video`: load the widget frame itself, `https://wiki.adom.inc/OWNER/SLUG/widget/adom-video?video=...`+(or `?src=` for the manifest), in pup, and ask it: `document.querySelector("adom-video").adomDrive.state()`+reports the duration and how many chapters and captions loaded (0 captions means the path or the login+rule above). Then screenshot the README page with the frame in view. Mute it (`.v.muted = true`):+pup plays on the user's speakers. For a raw `<video>` tag: 1. Fetch the rendered HTML (`curl https://wiki.adom.inc/<owner>/<slug>/files/<path>/README.md`) and read the `<video>` and `<img>` tags: every `src` and `poster` must be under `/api/pages/<owner>/<slug>/files/<your folder>/`. HEAD each one: 200 and `video/mp4` or