Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add godot-fun/godot-framework --skill storyboard-shot-to-htmlgit clone --depth 1 https://github.com/godot-fun/godot-frameworkWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/godot-fun/godot-framework/storyboard-shot-to-html)<a href="https://agentmods.dev/skills/godot-fun/godot-framework/storyboard-shot-to-html"><img src="https://agentmods.dev/badge/skills/godot-fun/godot-framework/storyboard-shot-to-html/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/godot-fun/godot-framework/storyboard-shot-to-html"><img src="https://agentmods.dev/badge/skills/godot-fun/godot-framework/storyboard-shot-to-html.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00127 | $0.04277 |
| Opus 5 | $0.00063 | $0.02139 |
| Sonnet 5 | $0.00025 | $0.00855 |
| Haiku 4.5 | $0.00013 | $0.00428 |
Grade A, and why
storyboard-shot-to-html scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 12d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 291 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Storyboard Shot → HTML
Turn one shot (video prompt +旁白) into a single-file HTML animation you can open in a browser — a motion sketch of the intended frame, not a real video render.
Companion to storyboard. Does not call video/image generation APIs.
Inputs
Accept any of:
| Input | How to use |
|---|---|
Storyboard .md + shot id (01, Shot 02, …) |
Parse that shot’s Video prompt, Chinese / English, Visual, Camera, Duration, Visual Style |
| Pasted shot block | Same fields if present |
| Raw video prompt (±旁白) | Prompt = visual source; narration = meaning layer to research |
If multiple shots and no id → ask once, or do Shot 01 only when the user clearly wants a quick sample.
Delivery
| Mode | Behavior |
|---|---|
User gives an .html path |
Write there |
| User gives a directory | Write <dir>/shot-<id>-preview.html (shot-01-preview.html if no id) |
| Storyboard path known, no output path | Write next to the .md: <stem>-shot-<id>-preview.html |
| Raw prompt only | Write test/manual/<slug>-preview.html (or user-named file) |
Rules:
- Always write the full HTML file (UTF-8). Chat: short confirm only (path, shot id, research notes, how to open).
- Prefer one self-contained
.html(inline CSS/JS). No build step, no CDN frameworks required. Google Fonts OK if useful. - Fullscreen by default (see below) — first paint is the stage filling the browser; no document scroll of title/meta under the frame.
- After write: open in the system browser (
Start-Process/open/xdg-open). Iffile://is flaky, serve the parent dir with a tiny static server and openhttp://127.0.0.1:<port>/<file>. - Never overwrite the storyboard
.md.
Fullscreen (required)
The preview must play as a full-viewport cinematic stage, not a letterboxed card on a scrolling page.
| Requirement | Detail |
|---|---|
| Viewport fill | html, body { height:100%; overflow:hidden }; stage covers 100vw × 100vh |
| Aspect | Keep storyboard aspect (default 16:9) with cover (crop) or letterbox on black — prefer cover so the frame fills the screen |
| No below-fold chrome | Title, tags, original prompt must not sit under the stage in normal flow |
| Overlay meta | Put prompt / research in a hidden overlay (I or ? to toggle; Esc closes). Do not burn VO/旁白 onto the stage — narration is for analysis only, not on-screen text |
| Space to play | Animations stay paused on load (first frame / idle pose). Space starts playback once. Do not autoplay on open. Hint text: Space to play · Click / F fullscreen · I prompt (may also mention 空格开始) |
| Play once | Shot timeline is one-shot — no infinite / alternate loop on the main beat. When duration ends, hold the final frame (animation-fill-mode: forwards or equivalent). Do not restart on a second Space, and do not auto-replay |
| Browser Fullscreen API | On click (or F), call element.requestFullscreen() on the stage root. Show a brief hint until entered (Click / F fullscreen · Space to play). Esc exits native fullscreen |
| Open behavior | After writing the file, open it so the user lands on the fullscreen-ready paused page; wait for Space to play |
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 12d ago First seen · 291 lines · 127 tokens per session scan A 50a3e542496c
storyboard-shot-to-html is a skill published in the GitHub repository godot-fun/godot-framework (116 stars, last pushed 12d ago), licensed MIT. It adds 127 tokens to every session and 4,277 once invoked, about $0.0006 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
webgl-liquid-metal
A real-time liquid-metal shader — a domain-warped noise field shaded as molten chrome, with a sweeping specular highlight over an iridescent thin-film (cosine-palette) sheen. No textures. Rendered as a single self-contained index.html. Use when the brief asks for "liquid metal", "molten chrome", "iridescent"…
webgl-neon-grid
A real-time synthwave scene — a perspective floor grid scrolling toward a banded retro sun under a neon starfield, all from one fragment shader. No textures. Rendered as a single self-contained index.html. Use when the brief asks for "synthwave", "outrun", "retro 80s", "neon grid", "perspective grid", "vaporwave", or…
webgl-particle-galaxy
A real-time particle galaxy — tens of thousands of additive-blended GPU points spiraling around a bright core, their orbits solved entirely in the vertex shader (from glVertexID), so the whole cloud draws in one call. Rendered as a single self-contained index.html. Use when the brief asks for a "particle field"…
webgl-depth-gallery
A scroll-reactive 3D image gallery in Three.js: Z-stacked images crossfade over per-image mood backgrounds with velocity breath, a glowing cursor trail and an editorial CMYK/RGB/HEX/PMS color card.
webgl-distortion-grain
A vertical gallery (Three.js) where planes bend with scroll velocity, ripple under the cursor via simplex noise, and carry a film grain.
webgl-horizontal-parallax
A horizontal-scroll WebGL gallery (Three.js): frames glide sideways with lerp smoothing and each image parallaxes its texture (UV shift) by its position in the viewport.