Web Video Presentation
ConardLi/garden-skills
Turns an article or spoken script into a click-through, full-screen 16:9 web presentation that looks like a video, with optional synthesized narration.
A pattern for adding a self-narrating (typed out) guided walkthrough to any HTML/web application.
$ npx skills add sammcj/agentic-coding --skill guided-demo -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install sammcj/agentic-coding guided-demo --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/sammcj/agentic-coding.git skills-src && mkdir -p .claude/skills && cp -r skills-src/Skills/guided-demo .claude/skills/guided-demo && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "guided-demo" agent skill from https://github.com/sammcj/agentic-coding/tree/main/Skills/guided-demo into .claude/skills/guided-demo/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "guided-demo", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/sammcj/agentic-coding/tree/main/Skills/guided-demoType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add sammcj/agentic-coding --skill guided-demo -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install sammcj/agentic-coding guided-demo --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/sammcj/agentic-coding.git skills-src && mkdir -p .agents/skills && cp -r skills-src/Skills/guided-demo .agents/skills/guided-demo && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "guided-demo" agent skill from https://github.com/sammcj/agentic-coding/tree/main/Skills/guided-demo into .agents/skills/guided-demo/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "guided-demo", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add sammcj/agentic-coding --skill guided-demo -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install sammcj/agentic-coding guided-demo --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/sammcj/agentic-coding.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/Skills/guided-demo .cursor/skills/guided-demo && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "guided-demo" agent skill from https://github.com/sammcj/agentic-coding/tree/main/Skills/guided-demo into .cursor/skills/guided-demo/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "guided-demo", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/sammcj/agentic-coding.git --path Skills/guided-demo--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add sammcj/agentic-coding --skill guided-demo -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install sammcj/agentic-coding guided-demo --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/sammcj/agentic-coding.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/Skills/guided-demo .gemini/skills/guided-demo && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "guided-demo" agent skill from https://github.com/sammcj/agentic-coding/tree/main/Skills/guided-demo into .gemini/skills/guided-demo/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "guided-demo", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install sammcj/agentic-coding guided-demoInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add sammcj/agentic-coding --skill guided-demo -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/sammcj/agentic-coding.git skills-src && mkdir -p .github/skills && cp -r skills-src/Skills/guided-demo .github/skills/guided-demo && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "guided-demo" agent skill from https://github.com/sammcj/agentic-coding/tree/main/Skills/guided-demo into .github/skills/guided-demo/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "guided-demo", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add sammcj/agentic-coding --skill guided-demo -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install sammcj/agentic-coding guided-demo --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/sammcj/agentic-coding.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/Skills/guided-demo .opencode/skills/guided-demo && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "guided-demo" agent skill from https://github.com/sammcj/agentic-coding/tree/main/Skills/guided-demo into .opencode/skills/guided-demo/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "guided-demo", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
guided-demoA pattern for adding a self-narrating (typed out) guided walkthrough to any HTML/web application.
Guided Demo is an agent skill from sammcj/agentic-coding. A pattern for adding a self-narrating (typed out) guided walkthrough to any HTML/web application. Use this skill whenever the user wants to add a guided demo, auto-narration, self-running presentation, or step-by-step tour to an HTML page, web app, prototype, HTML slide deck, dashboard, or data story.
Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files, including reference files (for example `references/implementation.md` and `references/react-integration.md`).
It sits in Media & Creative, covering Text to speech and voice, Slides and decks and HTML artifacts. It works with React. The repository describes itself as: Agentic Coding Rules, Templates etc... The licence is Apache-2.0.
7 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 2f25ced. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are javascript).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Guided Demo loads about 2.1k tokens when it runs, and up to ~13k if it reads all its reference files. Until then it costs about 79 tokens; SKILL.md has 1,030 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from sammcj/agentic-coding at commit 2f25ced, republished under its Apache-2.0 licence (© sammcj). 1,030 words, ~2,085 tokens.
.claude/skills/guided-demo/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.Add a self-narrating walkthrough to any HTML/web application. A declarative step array drives a setTimeout loop that toggles CSS classes on DOM elements and writes text character-by-character into a fixed panel. The engine overlays the existing page without modifying its code. When the demo stops, all state resets.
About 100 lines of JS and 30 lines of CSS for the core. Interstitials, speed controls, keyboard shortcuts, and progress bar are optional layering.
Ask the user these questions (skip any already answered in conversation):
querySelector must run after render.Read references/implementation.md for all code snippets (vanilla JS / static HTML). If the target application uses React with React Router, also read references/react-integration.md for React-specific patterns covering stale closures, route navigation timing, and component architecture. For other SPA frameworks (Vue, Svelte, etc.), the same concepts apply (poll for elements after route change, store timer-relevant state outside the reactivity system) but the implementation details differ.
The four required pieces are:
outline (not border) with animated glow, no layout shiftsetTimeout, narration text set via textContent (never set user-authored narration via innerHTML), blinking cursor via CSS. The innerHTML = '' clearing before each tick is intentional and safe (no user content involved)playStep(idx) that switches sections, runs actions, highlights, types, and auto-advancesThe single source of truth. Each step is a plain object:
const DEMO_SCRIPT = [
{ section: 0, target: '.card', text: "Narration text." },
{ section: 1, target: null, text: "Transition.", transition: true },
{ section: 1, target: '#el', text: "Detail.", action: 'open', actionTarget: 'panel-id' },
];Properties: section (which view), target (CSS selector or null), text (narrator copy), transition (show interstitial), action/actionTarget (trigger UI change), delay (optional per-step pause override in ms, defaults to PAUSE_MS).
| Constant | Default | When to adjust |
|---|---|---|
| TYPE_SPEED | 5ms/char | 3ms for long text, 15ms for dramatic short statements |
| PAUSE_MS | 3000ms | 4-5s if audience reads rather than listens |
| Speed range | 0.5x-2x | Both constants divided by multiplier |
The typewriter effect means each word lands individually, so writing style matters:
Gate all keyboard capture behind an isActive flag so it does not interfere with normal page interaction. Space = play/pause, arrows = step, M = toggle TTS narration, Escape = exit and reset.
Browser-native TTS via the speechSynthesis Web Speech API reads each step's narration aloud alongside the typewriter. Include it in every demo but keep it off by default - never speak without explicit user action. The user toggles it with a speaker icon in the control bar and the M key. See references/implementation.md (Text-to-speech narration) for voice selection, the single call site, and cancellation.
A thin bar below the step progress bar fills during the pause after the typewriter finishes, showing time until auto-advance. Include it in every demo. See references/implementation.md (Step countdown indicator) for the CSS-animation approach, placement, and reset via clearAllTimers().
Full-screen overlay with cycling status messages between sections. Simulates processing time. Define messages per section in a 2D array. Fade each message, then dismiss overlay via callback.
String-matched in executeStep(). Actions run before highlighting because elements inside collapsed panels can't be found by querySelector until the panel is open. Adding a new action is one if block. Keep it simple. Common patterns beyond expand/collapse: expandOne (open one panel, close all siblings - accordion style), call (trigger a named function like requestBriefing()), addClass/removeClass (toggle a CSS class on document.body for global state changes).
These are the failure points that come up repeatedly:
outline not border for highlighting. Outline does not affect box model..css-1a2b3c) break between builds. Use data-* attributes or IDs.scrollIntoView({ block: 'center' }) conflicts with fixed headers/panels. Set scroll-padding-bottom on the scroll container to account for the narrator panel height.e.target.tagName and bail out for INPUT, TEXTAREA, SELECT.<script type="module">, all demo functions called from onclick must be on window.*.@media print.role="status" and aria-live="polite". Highlight outlines must meet contrast requirements.Works for: prototypes, PoCs, HTML slide decks, data storytelling dashboards, product demos, workshop facilitation, investor pitches, onboarding walkthroughs.
Does not replace: user testing tools, screen recorders, production onboarding tours (use a tour library with persistence and analytics for those).
For framework apps, mount the demo engine as a conditional overlay component and pass the script array as a prop. For single-file demos, inline everything for offline/USB-stick distribution.
© sammcj, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 2 other files (references) in Skills/guided-demo of sammcj/agentic-coding.
Open the folder on GitHubat commit 2f25ced
Guided Demo next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Guided Demo this skillsammcj/agentic-coding | 162 | — | ~2.1k | Automated safety check: Pass | Apache-2.0 | |
| Web Video PresentationConardLi/garden-skills | 13k | — | ~3.5k | Automated safety check: Pass | MIT | |
| Md2video Audiosickn33/agentic-awesome-skills | 47k | 1 repos | ~1.1k | Automated safety check: Pass | Apache-2.0 | |
| Epub2podcast Ark Plandracohu2025-cloud/draco-skills-collection | 227 | — | ~1.8k | Automated safety check: Pass | MIT | |
| Roadshow Video Generatoranbeime/skill | 7.8k | — | ~1.4k | Automated safety check: Notes | None | |
| Book Media Generatordmccreary/ibook-skills | 105 | — | ~1.7k | Automated safety check: Pass | CC-BY-NC-4.0 |
ConardLi/garden-skills
Turns an article or spoken script into a click-through, full-screen 16:9 web presentation that looks like a video, with optional synthesized narration.
sickn33/agentic-awesome-skills
Convert Markdown documents into narrated MP4 videos with synchronized visuals and voice narration.
dracohu2025-cloud/draco-skills-collection
【Ark Agent Plan 专用版本】EPUB 转双人中文播客视频流水线:使用火山引擎 TTS(与 Seedream/Seedance 共享技术栈),Smart Slide + 双人音频 + 最终 MP4 视频,无需额外 Google/OpenRouter API Key。
anbeime/skill
Turns a document into a narrated roadshow video through ten staged roles, from document analysis and slide planning to audio, subtitles and final composition.
dmccreary/ibook-skills
Generates media for intelligent textbooks - slide decks and presentations (MARP web decks in docs/slides/ or PowerPoint .pptx lecture downloads), illustrated stories and graphic novels…
sugarforever/01coder-agent-skills
Produce slides-driven narration videos (口播视频) where each slide maps 1:1 to one voiceover section.
sammcj/agentic-coding
A skill your agent uses when generating songs with YuE2, covering a recording via SheetSage2 audio-to-ABC, editing a score or lyrics with melody preservation, or building a reproducible listening…
sammcj/agentic-coding
A skill your agent uses when creating or editing Bento (.bento.html) slide decks, including any request for a single-file HTML slide deck.
sammcj/agentic-coding
A skill your agent uses whenever the user wants you to manage, discuss or diagnose iDrive Backup configuration on macOS
sammcj/agentic-coding
Train custom TTS voices for Piper (ONNX format) using fine-tuning or from-scratch approaches.
sammcj/agentic-coding
Convert a PPTX slide deck into per-slide markdown that preserves both the verbatim text and the meaning of embedded screenshots, diagrams and charts in their original layout positions.
sammcj/agentic-coding
You MUST load this skill before the skill-creator skill AND before making ANY change to, or conducting a review of ANY Agent Skill.
Works with
Categories
A pattern for adding a self-narrating (typed out) guided walkthrough to any HTML/web application. Guided Demo is an agent skill from sammcj/agentic-coding. A pattern for adding a self-narrating (typed out) guided walkthrough to any HTML/web application.
Guided Demo fits situations like: the user wants to add a guided demo; self-running presentation; step-by-step tour to an HTML page; HTML slide deck.
Run `npx skills add sammcj/agentic-coding --skill guided-demo -a claude-code`. Or copy the skill folder (Skills/guided-demo in sammcj/agentic-coding) into .claude/skills/guided-demo in your project. Claude Code loads it when a task matches its description.
Run `npx skills add sammcj/agentic-coding --skill guided-demo -a codex`. Or copy the skill folder (Skills/guided-demo in sammcj/agentic-coding) into .agents/skills/guided-demo in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add sammcj/agentic-coding --skill guided-demo -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/guided-demo, .gemini/skills/guided-demo, .github/skills/guided-demo and .opencode/skills/guided-demo in your project.
SKILL.md names no scripts, command-line tools or credentials: Guided Demo is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Guided Demo is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.1k tokens (SKILL.md is roughly 8.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 11k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Guided Demo: Web Video Presentation (ConardLi/garden-skills, 13k stars), Md2video Audio (sickn33/agentic-awesome-skills, 47k stars), Epub2podcast Ark Plan (dracohu2025-cloud/draco-skills-collection, 227 stars) and Roadshow Video Generator (anbeime/skill, 7.8k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
sammcj (a GitHub user) maintains it in sammcj/agentic-coding, which has 162 GitHub stars. The repository holds 64 skills in this directory. The repository was last updated on October 9, 2026.
Source: sammcj/agentic-coding on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.