From 261f5222088c7c63cc5058ca983f0f0dd090a911 Mon Sep 17 00:00:00 2001 From: Miao Yang Date: Mon, 22 Jun 2026 15:28:15 +0800 Subject: [PATCH 01/11] refactor(product-launch-video): restructure onto script-driven architecture MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Move product-launch-video onto the shared script-driven authoring flow: build-frame remixes a hyperframes-creative preset onto brand tokens, audio routes through the shared hyperframes-media engine, per-preset caption skins, and every frame is authored as a directed shot. Removes the old bespoke scripts (captions/validate/prep/hoist/…) in favour of the shared lib. assemble-index.mjs keeps upstream #1629's blank/partial scene-file guard (reject an empty or markup-less scene file at assembly, before emitting data-composition-src, and re-dispatch) carried onto the restructured reader. Co-Authored-By: Claude Opus 4.8 (1M context) --- skills/product-launch-video/SKILL.md | 408 +-- .../agents/design-system.md | 25 - .../agents/hyperframes-finalize.md | 93 - .../agents/hyperframes-scene.md | 341 -- .../agents/story-design.md | 50 - .../agents/visual-design.md | 49 - .../assets/sfx/CREDITS.md | 23 - .../product-launch-video/assets/sfx/chime.mp3 | Bin 27309 -> 0 bytes .../assets/sfx/click-soft.mp3 | Bin 11702 -> 0 bytes .../product-launch-video/assets/sfx/click.mp3 | Bin 11702 -> 0 bytes .../product-launch-video/assets/sfx/error.mp3 | Bin 51827 -> 0 bytes .../assets/sfx/glitch-1.mp3 | Bin 84427 -> 0 bytes .../assets/sfx/glitch-2.mp3 | Bin 112128 -> 0 bytes .../assets/sfx/glitch-3.mp3 | Bin 99072 -> 0 bytes .../assets/sfx/impact-bass-1.mp3 | Bin 67709 -> 0 bytes .../assets/sfx/impact-bass-2.mp3 | Bin 82944 -> 0 bytes .../assets/sfx/key-press.mp3 | Bin 3909 -> 0 bytes .../assets/sfx/manifest.json | 97 - .../assets/sfx/notification.mp3 | Bin 78576 -> 0 bytes .../product-launch-video/assets/sfx/ping.mp3 | Bin 26400 -> 0 bytes .../product-launch-video/assets/sfx/pop.mp3 | Bin 23040 -> 0 bytes .../product-launch-video/assets/sfx/riser.mp3 | Bin 321024 -> 0 bytes .../assets/sfx/sparkle.mp3 | Bin 57678 -> 0 bytes .../assets/sfx/typing.mp3 | Bin 26852 -> 0 bytes .../assets/sfx/whoosh-cinematic.mp3 | Bin 177408 -> 0 bytes .../assets/sfx/whoosh-short.mp3 | Bin 18390 -> 0 bytes .../assets/sfx/whoosh.mp3 | Bin 18390 -> 0 bytes .../phases/audio/guide.md | 55 - .../phases/audio/lyria-recipe.py | 126 - .../phases/captions/guide.md | 131 - .../phases/capture/guide.md | 82 - .../phases/design-system/README.md | 220 -- .../phases/design-system/REMIX-SPEC.md | 54 - .../phases/design-system/guide.md | 167 - .../design-system/scripts/build-design.mjs | 2948 ----------------- .../design-system/scripts/emit-chunks.mjs | 276 -- .../8-bit-orbit/caption-skin.html | 253 -- .../8-bit-orbit/components/bar-vertical.md | 58 - .../8-bit-orbit/components/bg-grid.md | 61 - .../8-bit-orbit/components/button.md | 26 - .../8-bit-orbit/components/chip.md | 25 - .../8-bit-orbit/components/corner-pins.md | 57 - .../8-bit-orbit/components/crt-overlay.md | 46 - .../8-bit-orbit/components/feature-card.md | 59 - .../8-bit-orbit/components/hero-badge.md | 43 - .../8-bit-orbit/components/hero.md | 46 - .../8-bit-orbit/components/pixel-particles.md | 40 - .../8-bit-orbit/components/quote-line.md | 81 - .../8-bit-orbit/components/starfield.md | 47 - .../8-bit-orbit/components/stat-block.md | 60 - .../style-presets/8-bit-orbit/preset.md | 584 ---- .../block-frame/caption-skin.html | 247 -- .../block-frame/components/button.md | 20 - .../block-frame/components/chip.md | 19 - .../block-frame/components/corner-pins.md | 48 - .../block-frame/components/dot-grid-bg.md | 22 - .../block-frame/components/feature-card.md | 75 - .../block-frame/components/hero.md | 126 - .../block-frame/components/quote-frame.md | 66 - .../block-frame/components/star-burst.md | 20 - .../block-frame/components/stat-counter.md | 48 - .../block-frame/components/timeline-step.md | 71 - .../style-presets/block-frame/preset.md | 494 --- .../style-presets/capsule/caption-skin.html | 243 -- .../capsule/components/bar-chart.md | 92 - .../style-presets/capsule/components/chip.md | 22 - .../capsule/components/diagram-node.md | 58 - .../capsule/components/floating-pills.md | 92 - .../style-presets/capsule/components/hero.md | 49 - .../capsule/components/orbit-composition.md | 94 - .../capsule/components/pillar-card.md | 53 - .../capsule/components/quote-highlight.md | 54 - .../capsule/components/stat-counter.md | 47 - .../capsule/components/timeline-step.md | 54 - .../capsule/components/title-pill.md | 23 - .../capsule/components/visual-frame.md | 54 - .../style-presets/capsule/preset.md | 374 --- .../creative-mode/caption-skin.html | 251 -- .../creative-mode/components/button.md | 33 - .../creative-mode/components/chip.md | 19 - .../creative-mode/components/closing-stamp.md | 53 - .../creative-mode/components/compare-row.md | 50 - .../creative-mode/components/divider-loud.md | 13 - .../creative-mode/components/hero.md | 51 - .../creative-mode/components/iso-stack.md | 78 - .../creative-mode/components/rotated-badge.md | 20 - .../creative-mode/components/stat-counter.md | 62 - .../creative-mode/components/step-card.md | 57 - .../style-presets/creative-mode/preset.md | 550 --- .../daisy-days/caption-skin.html | 256 -- .../daisy-days/components/bullet-list.md | 46 - .../daisy-days/components/chip.md | 19 - .../daisy-days/components/hero.md | 53 - .../daisy-days/components/info-card.md | 66 - .../daisy-days/components/ornament-cluster.md | 121 - .../daisy-days/components/process-step.md | 92 - .../daisy-days/components/quote-card.md | 45 - .../daisy-days/components/stat-counter.md | 37 - .../daisy-days/components/timeline-row.md | 89 - .../daisy-days/components/week-grid.md | 121 - .../daisy-days/components/welcome-frame.md | 52 - .../style-presets/daisy-days/preset.md | 445 --- .../editorial-forest/caption-skin.html | 249 -- .../editorial-forest/components/footline.md | 29 - .../editorial-forest/components/hero.md | 81 - .../editorial-forest/components/meta-dl.md | 52 - .../components/monogram-circle.md | 30 - .../editorial-forest/components/quote-card.md | 78 - .../editorial-forest/components/rule-thin.md | 21 - .../components/stat-counter.md | 52 - .../editorial-forest/components/step-tile.md | 79 - .../editorial-forest/components/topbar.md | 43 - .../editorial-forest/components/topic-tile.md | 71 - .../style-presets/editorial-forest/preset.md | 418 --- .../style-presets/editorial/caption-skin.html | 253 -- .../editorial/components/button.md | 19 - .../editorial/components/chapter-label.md | 30 - .../editorial/components/chip.md | 15 - .../editorial/components/divider-rule.md | 10 - .../editorial/components/drop-cap.md | 22 - .../editorial/components/gradient-mesh-bg.md | 61 - .../editorial/components/hero.md | 34 - .../editorial/components/pull-quote.md | 26 - .../editorial/components/stat-counter.md | 26 - .../editorial/components/two-column.md | 14 - .../style-presets/editorial/preset.md | 429 --- .../emerald-editorial/caption-skin.html | 267 -- .../components/agenda-row.md | 48 - .../emerald-editorial/components/button.md | 27 - .../components/chart-card.md | 162 - .../emerald-editorial/components/chip.md | 21 - .../components/divider-loud.md | 17 - .../emerald-editorial/components/hero.md | 93 - .../components/inverse-tile.md | 46 - .../emerald-editorial/components/kpi-tile.md | 73 - .../components/masthead-strip.md | 25 - .../components/ornament-double-rule.md | 51 - .../components/paper-tile.md | 47 - .../components/process-step.md | 64 - .../components/section-numeral-panel.md | 61 - .../components/stat-counter.md | 38 - .../style-presets/emerald-editorial/preset.md | 517 --- .../liquid-glass/caption-skin.html | 267 -- .../components/aurora-bg-fallback.md | 37 - .../components/glass-media-bar.md | 59 - .../liquid-glass/components/glass-menu.md | 63 - .../components/glass-notification.md | 67 - .../components/glass-pill-chip.md | 46 - .../liquid-glass/components/glass-slider.md | 83 - .../liquid-glass/components/glass-toggle.md | 76 - .../components/glass-widget-card.md | 59 - .../liquid-glass/components/liquid-stage.md | 134 - .../style-presets/liquid-glass/preset.md | 684 ---- .../neo-brutalism/caption-skin.html | 251 -- .../neo-brutalism/components/button.md | 21 - .../neo-brutalism/components/chip.md | 16 - .../neo-brutalism/components/corner-pins.md | 37 - .../components/deco-green-circle.md | 33 - .../components/deco-pink-block.md | 36 - .../components/deco-yellow-bar.md | 42 - .../neo-brutalism/components/divider-loud.md | 11 - .../neo-brutalism/components/dot-grid-bg.md | 11 - .../components/gradient-mesh-bg.md | 50 - .../neo-brutalism/components/hero.md | 33 - .../neo-brutalism/components/manifesto.md | 53 - .../neo-brutalism/components/rules-do-dont.md | 94 - .../neo-brutalism/components/stat-counter.md | 27 - .../style-presets/neo-brutalism/preset.md | 448 --- .../peoples-platform/caption-skin.html | 252 -- .../components/diamond-list.md | 71 - .../peoples-platform/components/end-stamp.md | 104 - .../components/framed-stamp.md | 71 - .../peoples-platform/components/mega-stat.md | 80 - .../components/orange-quote.md | 89 - .../components/rotated-stamp.md | 72 - .../peoples-platform/components/script-em.md | 45 - .../components/stamp-statement.md | 50 - .../peoples-platform/components/track-dots.md | 87 - .../style-presets/peoples-platform/preset.md | 877 ----- .../pin-and-paper/caption-skin.html | 254 -- .../pin-and-paper/components/chip.md | 37 - .../pin-and-paper/components/divider-loud.md | 33 - .../pin-and-paper/components/hero.md | 53 - .../components/paper-grain-overlay.md | 39 - .../pin-and-paper/components/pill-yes.md | 50 - .../pin-and-paper/components/pinned-card.md | 78 - .../pin-and-paper/components/process-step.md | 67 - .../pin-and-paper/components/quote-panel.md | 61 - .../pin-and-paper/components/safety-pin.md | 61 - .../pin-and-paper/components/scribble-note.md | 51 - .../pin-and-paper/components/stamp.md | 44 - .../pin-and-paper/components/stat-counter.md | 78 - .../style-presets/pin-and-paper/preset.md | 591 ---- .../style-presets/playful/caption-skin.html | 264 -- .../playful/components/blob-frame.md | 43 - .../playful/components/button.md | 45 - .../style-presets/playful/components/chip.md | 27 - .../playful/components/doodle-corner.md | 61 - .../playful/components/filled-block.md | 63 - .../playful/components/ghost-blob.md | 42 - .../style-presets/playful/components/hero.md | 52 - .../playful/components/rough-box.md | 62 - .../playful/components/scribble-svg.md | 36 - .../playful/components/stat-counter.md | 43 - .../playful/components/step-node.md | 66 - .../playful/components/tag-pill.md | 23 - .../playful/components/vertical-spine.md | 27 - .../style-presets/playful/preset.md | 540 --- .../retro-zine/caption-skin.html | 249 -- .../retro-zine/components/button.md | 38 - .../retro-zine/components/card-offset.md | 70 - .../retro-zine/components/chip.md | 36 - .../retro-zine/components/collage-piece.md | 76 - .../retro-zine/components/drop-cap.md | 37 - .../retro-zine/components/grain-overlay.md | 24 - .../retro-zine/components/hero.md | 48 - .../retro-zine/components/inline-highlight.md | 31 - .../retro-zine/components/ledger-row.md | 55 - .../retro-zine/components/ribbon-bar.md | 33 - .../retro-zine/components/stamp-mark.md | 38 - .../retro-zine/components/tape.md | 36 - .../style-presets/retro-zine/preset.md | 609 ---- .../sakura-chroma/caption-skin.html | 252 -- .../sakura-chroma/components/bar-eq.md | 130 - .../sakura-chroma/components/chip.md | 43 - .../sakura-chroma/components/hero.md | 56 - .../sakura-chroma/components/ledger-row.md | 118 - .../sakura-chroma/components/lockup-bar.md | 46 - .../sakura-chroma/components/paper-texture.md | 27 - .../sakura-chroma/components/petal-cluster.md | 52 - .../sakura-chroma/components/product-card.md | 96 - .../sakura-chroma/components/quote-callout.md | 63 - .../sakura-chroma/components/red-stamp.md | 31 - .../sakura-chroma/components/ribbon-band.md | 60 - .../sakura-chroma/components/rosette-seal.md | 28 - .../components/spec-checklist.md | 70 - .../sakura-chroma/components/stat-counter.md | 61 - .../sakura-chroma/components/topbar-rule.md | 48 - .../style-presets/sakura-chroma/preset.md | 670 ---- .../scatterbrain/caption-skin.html | 263 -- .../scatterbrain/components/bg-cork.md | 30 - .../scatterbrain/components/bg-paper.md | 29 - .../scatterbrain/components/bg-warm.md | 38 - .../scatterbrain/components/chip.md | 36 - .../scatterbrain/components/compare-card.md | 128 - .../scatterbrain/components/doodle.md | 65 - .../scatterbrain/components/feature-card.md | 87 - .../scatterbrain/components/grain-overlay.md | 22 - .../scatterbrain/components/hero.md | 104 - .../scatterbrain/components/photo-frame.md | 95 - .../scatterbrain/components/post-it.md | 173 - .../scatterbrain/components/stat-counter.md | 84 - .../scatterbrain/components/timeline-step.md | 102 - .../style-presets/scatterbrain/preset.md | 631 ---- .../soft-editorial/caption-skin.html | 264 -- .../soft-editorial/components/action-bar.md | 47 - .../soft-editorial/components/button.md | 35 - .../soft-editorial/components/chip.md | 31 - .../soft-editorial/components/color-card.md | 60 - .../soft-editorial/components/dashed-rule.md | 23 - .../soft-editorial/components/drop-cap.md | 29 - .../soft-editorial/components/hero.md | 80 - .../soft-editorial/components/pull-quote.md | 51 - .../soft-editorial/components/soft-card.md | 42 - .../soft-editorial/components/stat-counter.md | 44 - .../soft-editorial/components/step-card.md | 61 - .../soft-editorial/components/swatch-row.md | 33 - .../style-presets/soft-editorial/preset.md | 562 ---- .../stencil-tablet/caption-skin.html | 248 -- .../stencil-tablet/components/action-bar.md | 64 - .../stencil-tablet/components/chip.md | 70 - .../stencil-tablet/components/feature-card.md | 84 - .../stencil-tablet/components/hero.md | 57 - .../stencil-tablet/components/matrix-cell.md | 75 - .../stencil-tablet/components/process-node.md | 71 - .../stencil-tablet/components/quote-panel.md | 82 - .../components/section-num-block.md | 82 - .../stencil-tablet/components/stat-counter.md | 78 - .../stencil-tablet/components/tablet.md | 89 - .../style-presets/stencil-tablet/preset.md | 551 --- .../archetypes/before-after-bridge/desklog.md | 105 - .../archetypes/before-after-bridge/kyvos.md | 167 - .../before-after-bridge/overview.md | 79 - .../story-design/archetypes/demo-loop/gwi.md | 86 - .../archetypes/demo-loop/overview.md | 66 - .../feature-benefit-cascade/elemental-soul.md | 140 - .../feature-benefit-cascade/overview.md | 82 - .../feature-benefit-cascade/vibe-co.md | 126 - .../archetypes/future-pacing/agentgpt.md | 163 - .../archetypes/future-pacing/overview.md | 65 - .../archetypes/pain-agitate-solve/alpha.md | 115 - .../archetypes/pain-agitate-solve/madison.md | 189 -- .../archetypes/pain-agitate-solve/overview.md | 76 - .../phases/story-design/guide.md | 298 -- .../phases/visual-design/blueprints-index.md | 161 - .../phases/visual-design/effects-catalog.md | 63 - .../phases/visual-design/guide.md | 320 -- .../visual-design/rules/color-system.md | 175 - .../phases/visual-design/rules/composition.md | 213 -- .../visual-design/rules/motion-language.md | 155 - .../phases/visual-design/rules/typography.md | 75 - .../visual-design/scripts/build-page-card.mjs | 455 --- .../references/composition.md | 119 + .../references/motion-language.md | 139 + .../references/story-design.md | 267 ++ .../references/visual-design.md | 83 + .../scripts/assemble-index.mjs | 415 +-- skills/product-launch-video/scripts/audio.mjs | 1041 ++---- .../scripts/build-frame.mjs | 280 ++ .../product-launch-video/scripts/captions.mjs | 2041 +++--------- .../scripts/check-compositions.mjs | 552 --- .../scripts/derive-context-pack.mjs | 266 -- .../scripts/hoist-videos.mjs | 529 --- .../scripts/lib/assets.mjs | 55 + .../scripts/lib/capture-meta.mjs | 39 - .../scripts/lib/dimensions.mjs | 82 +- .../scripts/lib/hierarchy-gate.mjs | 124 - .../scripts/lib/prep-assets.mjs | 101 - .../scripts/lib/prep-design.mjs | 113 - .../scripts/lib/prep-log.mjs | 8 - .../scripts/lib/prep-section.mjs | 187 -- .../scripts/lib/prep-sfx.mjs | 91 - .../scripts/lib/scratch-dir.mjs | 20 - .../scripts/lib/storyboard.mjs | 243 ++ .../scripts/lib/tokens.mjs | 170 + .../scripts/lib/transition-registry.mjs | 33 +- .../scripts/lib/transitions.json | 71 + skills/product-launch-video/scripts/prep.mjs | 520 --- .../scripts/stage-assets.mjs | 39 + .../scripts/transitions.mjs | 563 ++-- .../scripts/validate-narrator.mjs | 204 -- .../scripts/validate-section.mjs | 411 --- .../product-launch-video/scripts/validate.mjs | 682 ---- .../scripts/verify-output.mjs | 253 -- .../product-launch-video/scripts/wait-bgm.mjs | 167 - .../sub-agents/frame-worker.md | 68 + 336 files changed, 2699 insertions(+), 41683 deletions(-) delete mode 100644 skills/product-launch-video/agents/design-system.md delete mode 100644 skills/product-launch-video/agents/hyperframes-finalize.md delete mode 100644 skills/product-launch-video/agents/hyperframes-scene.md delete mode 100644 skills/product-launch-video/agents/story-design.md delete mode 100644 skills/product-launch-video/agents/visual-design.md delete mode 100644 skills/product-launch-video/assets/sfx/CREDITS.md delete mode 100644 skills/product-launch-video/assets/sfx/chime.mp3 delete mode 100644 skills/product-launch-video/assets/sfx/click-soft.mp3 delete mode 100644 skills/product-launch-video/assets/sfx/click.mp3 delete mode 100644 skills/product-launch-video/assets/sfx/error.mp3 delete mode 100644 skills/product-launch-video/assets/sfx/glitch-1.mp3 delete mode 100644 skills/product-launch-video/assets/sfx/glitch-2.mp3 delete mode 100644 skills/product-launch-video/assets/sfx/glitch-3.mp3 delete mode 100644 skills/product-launch-video/assets/sfx/impact-bass-1.mp3 delete mode 100644 skills/product-launch-video/assets/sfx/impact-bass-2.mp3 delete mode 100644 skills/product-launch-video/assets/sfx/key-press.mp3 delete mode 100644 skills/product-launch-video/assets/sfx/manifest.json delete mode 100644 skills/product-launch-video/assets/sfx/notification.mp3 delete mode 100644 skills/product-launch-video/assets/sfx/ping.mp3 delete mode 100644 skills/product-launch-video/assets/sfx/pop.mp3 delete mode 100644 skills/product-launch-video/assets/sfx/riser.mp3 delete mode 100644 skills/product-launch-video/assets/sfx/sparkle.mp3 delete mode 100644 skills/product-launch-video/assets/sfx/typing.mp3 delete mode 100644 skills/product-launch-video/assets/sfx/whoosh-cinematic.mp3 delete mode 100644 skills/product-launch-video/assets/sfx/whoosh-short.mp3 delete mode 100644 skills/product-launch-video/assets/sfx/whoosh.mp3 delete mode 100644 skills/product-launch-video/phases/audio/guide.md delete mode 100644 skills/product-launch-video/phases/audio/lyria-recipe.py delete mode 100644 skills/product-launch-video/phases/captions/guide.md delete mode 100644 skills/product-launch-video/phases/capture/guide.md delete mode 100644 skills/product-launch-video/phases/design-system/README.md delete mode 100644 skills/product-launch-video/phases/design-system/REMIX-SPEC.md delete mode 100644 skills/product-launch-video/phases/design-system/guide.md delete mode 100644 skills/product-launch-video/phases/design-system/scripts/build-design.mjs delete mode 100644 skills/product-launch-video/phases/design-system/scripts/emit-chunks.mjs delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/8-bit-orbit/caption-skin.html delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/8-bit-orbit/components/bar-vertical.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/8-bit-orbit/components/bg-grid.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/8-bit-orbit/components/button.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/8-bit-orbit/components/chip.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/8-bit-orbit/components/corner-pins.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/8-bit-orbit/components/crt-overlay.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/8-bit-orbit/components/feature-card.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/8-bit-orbit/components/hero-badge.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/8-bit-orbit/components/hero.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/8-bit-orbit/components/pixel-particles.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/8-bit-orbit/components/quote-line.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/8-bit-orbit/components/starfield.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/8-bit-orbit/components/stat-block.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/8-bit-orbit/preset.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/block-frame/caption-skin.html delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/block-frame/components/button.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/block-frame/components/chip.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/block-frame/components/corner-pins.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/block-frame/components/dot-grid-bg.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/block-frame/components/feature-card.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/block-frame/components/hero.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/block-frame/components/quote-frame.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/block-frame/components/star-burst.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/block-frame/components/stat-counter.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/block-frame/components/timeline-step.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/block-frame/preset.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/capsule/caption-skin.html delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/capsule/components/bar-chart.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/capsule/components/chip.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/capsule/components/diagram-node.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/capsule/components/floating-pills.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/capsule/components/hero.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/capsule/components/orbit-composition.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/capsule/components/pillar-card.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/capsule/components/quote-highlight.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/capsule/components/stat-counter.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/capsule/components/timeline-step.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/capsule/components/title-pill.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/capsule/components/visual-frame.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/capsule/preset.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/creative-mode/caption-skin.html delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/creative-mode/components/button.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/creative-mode/components/chip.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/creative-mode/components/closing-stamp.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/creative-mode/components/compare-row.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/creative-mode/components/divider-loud.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/creative-mode/components/hero.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/creative-mode/components/iso-stack.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/creative-mode/components/rotated-badge.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/creative-mode/components/stat-counter.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/creative-mode/components/step-card.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/creative-mode/preset.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/daisy-days/caption-skin.html delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/daisy-days/components/bullet-list.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/daisy-days/components/chip.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/daisy-days/components/hero.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/daisy-days/components/info-card.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/daisy-days/components/ornament-cluster.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/daisy-days/components/process-step.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/daisy-days/components/quote-card.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/daisy-days/components/stat-counter.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/daisy-days/components/timeline-row.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/daisy-days/components/week-grid.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/daisy-days/components/welcome-frame.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/daisy-days/preset.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/editorial-forest/caption-skin.html delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/editorial-forest/components/footline.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/editorial-forest/components/hero.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/editorial-forest/components/meta-dl.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/editorial-forest/components/monogram-circle.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/editorial-forest/components/quote-card.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/editorial-forest/components/rule-thin.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/editorial-forest/components/stat-counter.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/editorial-forest/components/step-tile.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/editorial-forest/components/topbar.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/editorial-forest/components/topic-tile.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/editorial-forest/preset.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/editorial/caption-skin.html delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/editorial/components/button.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/editorial/components/chapter-label.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/editorial/components/chip.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/editorial/components/divider-rule.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/editorial/components/drop-cap.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/editorial/components/gradient-mesh-bg.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/editorial/components/hero.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/editorial/components/pull-quote.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/editorial/components/stat-counter.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/editorial/components/two-column.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/editorial/preset.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/emerald-editorial/caption-skin.html delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/emerald-editorial/components/agenda-row.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/emerald-editorial/components/button.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/emerald-editorial/components/chart-card.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/emerald-editorial/components/chip.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/emerald-editorial/components/divider-loud.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/emerald-editorial/components/hero.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/emerald-editorial/components/inverse-tile.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/emerald-editorial/components/kpi-tile.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/emerald-editorial/components/masthead-strip.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/emerald-editorial/components/ornament-double-rule.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/emerald-editorial/components/paper-tile.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/emerald-editorial/components/process-step.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/emerald-editorial/components/section-numeral-panel.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/emerald-editorial/components/stat-counter.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/emerald-editorial/preset.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/liquid-glass/caption-skin.html delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/liquid-glass/components/aurora-bg-fallback.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/liquid-glass/components/glass-media-bar.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/liquid-glass/components/glass-menu.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/liquid-glass/components/glass-notification.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/liquid-glass/components/glass-pill-chip.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/liquid-glass/components/glass-slider.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/liquid-glass/components/glass-toggle.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/liquid-glass/components/glass-widget-card.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/liquid-glass/components/liquid-stage.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/liquid-glass/preset.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/neo-brutalism/caption-skin.html delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/neo-brutalism/components/button.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/neo-brutalism/components/chip.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/neo-brutalism/components/corner-pins.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/neo-brutalism/components/deco-green-circle.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/neo-brutalism/components/deco-pink-block.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/neo-brutalism/components/deco-yellow-bar.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/neo-brutalism/components/divider-loud.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/neo-brutalism/components/dot-grid-bg.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/neo-brutalism/components/gradient-mesh-bg.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/neo-brutalism/components/hero.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/neo-brutalism/components/manifesto.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/neo-brutalism/components/rules-do-dont.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/neo-brutalism/components/stat-counter.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/neo-brutalism/preset.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/peoples-platform/caption-skin.html delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/peoples-platform/components/diamond-list.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/peoples-platform/components/end-stamp.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/peoples-platform/components/framed-stamp.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/peoples-platform/components/mega-stat.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/peoples-platform/components/orange-quote.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/peoples-platform/components/rotated-stamp.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/peoples-platform/components/script-em.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/peoples-platform/components/stamp-statement.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/peoples-platform/components/track-dots.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/peoples-platform/preset.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/pin-and-paper/caption-skin.html delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/pin-and-paper/components/chip.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/pin-and-paper/components/divider-loud.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/pin-and-paper/components/hero.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/pin-and-paper/components/paper-grain-overlay.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/pin-and-paper/components/pill-yes.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/pin-and-paper/components/pinned-card.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/pin-and-paper/components/process-step.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/pin-and-paper/components/quote-panel.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/pin-and-paper/components/safety-pin.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/pin-and-paper/components/scribble-note.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/pin-and-paper/components/stamp.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/pin-and-paper/components/stat-counter.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/pin-and-paper/preset.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/playful/caption-skin.html delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/playful/components/blob-frame.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/playful/components/button.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/playful/components/chip.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/playful/components/doodle-corner.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/playful/components/filled-block.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/playful/components/ghost-blob.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/playful/components/hero.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/playful/components/rough-box.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/playful/components/scribble-svg.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/playful/components/stat-counter.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/playful/components/step-node.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/playful/components/tag-pill.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/playful/components/vertical-spine.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/playful/preset.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/retro-zine/caption-skin.html delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/retro-zine/components/button.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/retro-zine/components/card-offset.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/retro-zine/components/chip.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/retro-zine/components/collage-piece.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/retro-zine/components/drop-cap.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/retro-zine/components/grain-overlay.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/retro-zine/components/hero.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/retro-zine/components/inline-highlight.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/retro-zine/components/ledger-row.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/retro-zine/components/ribbon-bar.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/retro-zine/components/stamp-mark.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/retro-zine/components/tape.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/retro-zine/preset.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/sakura-chroma/caption-skin.html delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/sakura-chroma/components/bar-eq.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/sakura-chroma/components/chip.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/sakura-chroma/components/hero.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/sakura-chroma/components/ledger-row.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/sakura-chroma/components/lockup-bar.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/sakura-chroma/components/paper-texture.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/sakura-chroma/components/petal-cluster.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/sakura-chroma/components/product-card.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/sakura-chroma/components/quote-callout.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/sakura-chroma/components/red-stamp.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/sakura-chroma/components/ribbon-band.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/sakura-chroma/components/rosette-seal.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/sakura-chroma/components/spec-checklist.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/sakura-chroma/components/stat-counter.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/sakura-chroma/components/topbar-rule.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/sakura-chroma/preset.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/scatterbrain/caption-skin.html delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/scatterbrain/components/bg-cork.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/scatterbrain/components/bg-paper.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/scatterbrain/components/bg-warm.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/scatterbrain/components/chip.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/scatterbrain/components/compare-card.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/scatterbrain/components/doodle.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/scatterbrain/components/feature-card.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/scatterbrain/components/grain-overlay.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/scatterbrain/components/hero.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/scatterbrain/components/photo-frame.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/scatterbrain/components/post-it.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/scatterbrain/components/stat-counter.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/scatterbrain/components/timeline-step.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/scatterbrain/preset.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/soft-editorial/caption-skin.html delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/soft-editorial/components/action-bar.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/soft-editorial/components/button.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/soft-editorial/components/chip.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/soft-editorial/components/color-card.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/soft-editorial/components/dashed-rule.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/soft-editorial/components/drop-cap.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/soft-editorial/components/hero.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/soft-editorial/components/pull-quote.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/soft-editorial/components/soft-card.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/soft-editorial/components/stat-counter.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/soft-editorial/components/step-card.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/soft-editorial/components/swatch-row.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/soft-editorial/preset.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/stencil-tablet/caption-skin.html delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/stencil-tablet/components/action-bar.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/stencil-tablet/components/chip.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/stencil-tablet/components/feature-card.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/stencil-tablet/components/hero.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/stencil-tablet/components/matrix-cell.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/stencil-tablet/components/process-node.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/stencil-tablet/components/quote-panel.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/stencil-tablet/components/section-num-block.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/stencil-tablet/components/stat-counter.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/stencil-tablet/components/tablet.md delete mode 100644 skills/product-launch-video/phases/design-system/style-presets/stencil-tablet/preset.md delete mode 100644 skills/product-launch-video/phases/story-design/archetypes/before-after-bridge/desklog.md delete mode 100644 skills/product-launch-video/phases/story-design/archetypes/before-after-bridge/kyvos.md delete mode 100644 skills/product-launch-video/phases/story-design/archetypes/before-after-bridge/overview.md delete mode 100644 skills/product-launch-video/phases/story-design/archetypes/demo-loop/gwi.md delete mode 100644 skills/product-launch-video/phases/story-design/archetypes/demo-loop/overview.md delete mode 100644 skills/product-launch-video/phases/story-design/archetypes/feature-benefit-cascade/elemental-soul.md delete mode 100644 skills/product-launch-video/phases/story-design/archetypes/feature-benefit-cascade/overview.md delete mode 100644 skills/product-launch-video/phases/story-design/archetypes/feature-benefit-cascade/vibe-co.md delete mode 100644 skills/product-launch-video/phases/story-design/archetypes/future-pacing/agentgpt.md delete mode 100644 skills/product-launch-video/phases/story-design/archetypes/future-pacing/overview.md delete mode 100644 skills/product-launch-video/phases/story-design/archetypes/pain-agitate-solve/alpha.md delete mode 100644 skills/product-launch-video/phases/story-design/archetypes/pain-agitate-solve/madison.md delete mode 100644 skills/product-launch-video/phases/story-design/archetypes/pain-agitate-solve/overview.md delete mode 100644 skills/product-launch-video/phases/story-design/guide.md delete mode 100644 skills/product-launch-video/phases/visual-design/blueprints-index.md delete mode 100644 skills/product-launch-video/phases/visual-design/effects-catalog.md delete mode 100644 skills/product-launch-video/phases/visual-design/guide.md delete mode 100644 skills/product-launch-video/phases/visual-design/rules/color-system.md delete mode 100644 skills/product-launch-video/phases/visual-design/rules/composition.md delete mode 100644 skills/product-launch-video/phases/visual-design/rules/motion-language.md delete mode 100644 skills/product-launch-video/phases/visual-design/rules/typography.md delete mode 100644 skills/product-launch-video/phases/visual-design/scripts/build-page-card.mjs create mode 100644 skills/product-launch-video/references/composition.md create mode 100644 skills/product-launch-video/references/motion-language.md create mode 100644 skills/product-launch-video/references/story-design.md create mode 100644 skills/product-launch-video/references/visual-design.md create mode 100644 skills/product-launch-video/scripts/build-frame.mjs delete mode 100644 skills/product-launch-video/scripts/check-compositions.mjs delete mode 100644 skills/product-launch-video/scripts/derive-context-pack.mjs delete mode 100644 skills/product-launch-video/scripts/hoist-videos.mjs create mode 100644 skills/product-launch-video/scripts/lib/assets.mjs delete mode 100644 skills/product-launch-video/scripts/lib/capture-meta.mjs delete mode 100644 skills/product-launch-video/scripts/lib/hierarchy-gate.mjs delete mode 100644 skills/product-launch-video/scripts/lib/prep-assets.mjs delete mode 100644 skills/product-launch-video/scripts/lib/prep-design.mjs delete mode 100644 skills/product-launch-video/scripts/lib/prep-log.mjs delete mode 100644 skills/product-launch-video/scripts/lib/prep-section.mjs delete mode 100644 skills/product-launch-video/scripts/lib/prep-sfx.mjs delete mode 100644 skills/product-launch-video/scripts/lib/scratch-dir.mjs create mode 100644 skills/product-launch-video/scripts/lib/storyboard.mjs create mode 100644 skills/product-launch-video/scripts/lib/tokens.mjs create mode 100644 skills/product-launch-video/scripts/lib/transitions.json delete mode 100644 skills/product-launch-video/scripts/prep.mjs create mode 100644 skills/product-launch-video/scripts/stage-assets.mjs delete mode 100644 skills/product-launch-video/scripts/validate-narrator.mjs delete mode 100644 skills/product-launch-video/scripts/validate-section.mjs delete mode 100644 skills/product-launch-video/scripts/validate.mjs delete mode 100644 skills/product-launch-video/scripts/verify-output.mjs delete mode 100644 skills/product-launch-video/scripts/wait-bgm.mjs create mode 100644 skills/product-launch-video/sub-agents/frame-worker.md diff --git a/skills/product-launch-video/SKILL.md b/skills/product-launch-video/SKILL.md index d67e0ac9ed..c097822894 100644 --- a/skills/product-launch-video/SKILL.md +++ b/skills/product-launch-video/SKILL.md @@ -1,391 +1,197 @@ --- name: product-launch-video -description: > - Use when the user wants a product launch, SaaS promo, feature reveal, - app/company/site marketing video, or a script/brief turned into a - product-focused video. Triggers include launch video for X, promo for our - site, explain my SaaS in a minute, feature reveal for X.com, and turn this - script into a 60s promo. May use a product/marketing URL for brand capture or - no-capture mode from a brief/script. Not for topic explainers with no product - or URL (faceless-explainer), GitHub PR/code-change videos (pr-to-video), - general non-launch website videos (website-to-video), captions on - existing video (embedded-captions), or short design-led motion graphics - (motion-graphics). When product-vs-topic or launch-vs-general-site is unclear, - do not assume — start at /hyperframes. -metadata: { "tags": "orchestrator, pipeline, product-launch" } +description: "turn a product or marketing URL, pasted script, or brief into a product launch video, including SaaS promos, feature reveals, app launches, company promos, and product marketing videos. Use this skill when the user wants to market, launch, promote, or reveal a product. Do not use it for general non-launch website tours, non-product topic explainers, GitHub pull requests, captioning existing footage, or short unnarrated motion graphics. If the intent is unclear, route through /hyperframes first." --- -# product-launch-video - dispatch entry +# Product Launch to HyperFrames -> **Confirm the route before Step 0.** This skill makes a video for a **product being marketed / launched / promoted**. If it's really a **general (non-launch) site → video** (site tour / showcase, not selling a product) → `/website-to-video`; a **topic / concept with no product** → `/faceless-explainer`; a **GitHub PR** → `/pr-to-video`; an **existing video to caption / package** → `/embedded-captions` · `/graphic-overlays`. **Out of scope** (decline, don't fake): live / at-render-time data (every value is baked in at author time), or footage / screenshots / an avatar that doesn't exist yet (HyperFrames can't record or capture). Routed here on a vague "make a video", or unsure product-vs-topic / launch-vs-general-site? **Read `/hyperframes` first.** +Use this skill to capture a product, understand its brand, plan a launch video, and build it frame by frame in HyperFrames. -All artifacts are written to `PROJECT_DIR = videos//` (created in Step 0). Paths below are relative to `PROJECT_DIR`. You (the orchestrator) run the Bash steps and dispatch the subagents; per-phase details live in the linked guides/agents/scripts — do not expand them here. Dispatch is harness-portable: before the first subagent dispatch, read `/../hyperframes-core/references/subagent-dispatch.md` once — it maps the dispatch verbs (parallel fan-out / background / wait) to your harness's primitives; a concurrency cap below N means waves of the cap size, never fewer scenes. **This file is a binding runbook, not background reading**: execute the steps in order and produce every phase artifact with its designated script or agent role — do not substitute a freestyle pipeline (hand-written narration, ad-hoc TTS calls, one hand-authored composition), and do not skip a pause step because the request seems clear. A step you cannot perform → stop and report; improvising past it breaks every downstream contract. +> **Confirm the route before Step 0.** You are the orchestrator. Run each step, verify its gate, and only then continue to the next step. This skill is for a **product being marketed, launched, promoted, or revealed**, including requests such as "promo for our site" when the purpose is promotional. Route other intents elsewhere: a general non-launch website tour -> `/website-to-video`; a topic explainer with no product -> `/faceless-explainer`; a GitHub PR -> `/pr-to-video`; captions on existing footage -> `/embedded-captions`; a short unnarrated motion graphic -> `/motion-graphics`. If the user says only "make a video" or the route is uncertain, read `/hyperframes` first. -| Phase | Execution | Primary artifact | Detailed flow | -| ------------- | ------------------------------------------------------------------------------------------ | ---------------------------------------------------- | ----------------------------------------- | -| init | Bash directly | `hyperframes.json` | Step 0 (this file) | -| capture | Bash directly (`hyperframes capture`) | `capture/extracted/tokens.json` | `phases/capture/guide.md` | -| design-system | subagent | `design-system/design.html` + `chunks/` | `agents/design-system.md` | -| story-design | subagent | `narrator_scripts.json` | `agents/story-design.md` | -| audio | Bash directly (`audio.mjs`) | `audio_meta.json` | `phases/audio/guide.md` | -| visual-design | subagent | `section_plan.md` | `agents/visual-design.md` | -| prep | Bash directly (`prep.mjs`) | `group_spec.json` | `scripts/prep.mjs` header | -| captions | Bash directly (`captions.mjs group` -> `html`) | `caption_groups.json` + `compositions/captions.html` | `scripts/captions.mjs` header | -| scenes | N x subagent (parallel, one scene each) | `compositions/scene_*.html` | `agents/hyperframes-scene.md` | -| finalize | Bash prelude (wait-bgm + assemble + transitions + hoist + sfx-verify) -> finalize subagent | `renders/video.mp4` | Step 7 / `agents/hyperframes-finalize.md` | +You are the orchestrator. Work in `videos//`. Run steps in order and pass each gate before continuing. User-gated steps are Step 0, Step 3, and Step 6. Do every step yourself except Step 5, where you dispatch one sub-agent per frame. Do not put design or motion rules here; those live in the frame-worker sub-agent, `hyperframes-creative`, and `hyperframes-animation`. -## Prerequisites (install before first run) +Workflow: Step 0 setup -> `hyperframes.json`; Step 1 capture -> `capture/`; Step 2 design system -> `frame.md`; Step 3 storyboard/script -> `STORYBOARD.md` and `SCRIPT.md`; Step 3.1 audio -> `audio_meta.json`; Step 4 visual design -> enriched `STORYBOARD.md`; Step 5 frames -> `compositions/frames/NN-*.html` and `index.html`; Step 6 final render -> `renders/video.mp4`. -macOS Apple Silicon or Linux x64: +--- -```bash -brew install python@3.11 node ffmpeg # On Linux, use the apt/dnf equivalent -npx hyperframes doctor # One-time check that Chrome / dependencies are ready -``` +## Step 0: Setup and Brief -- `python@3.11` — **Homebrew Python, not system `/usr/bin/python3`** (PEP 668 blocks `pip install` otherwise); used by the MusicGen fallback -- `node >= 18` + `ffmpeg` (`audio.mjs` uses `ffprobe`) -- Chrome downloads automatically on first `npx hyperframes capture`. `hoist-videos.mjs` (Step 7, runs only when a scene declares footage) reuses that cached Chrome; if it reports deps missing, run `node /scripts/hoist-videos.mjs --ensure-deps` once (~5s) +Goal: Lock the core video brief and create the HyperFrames project if needed. -Optional API keys (unset -> local fallbacks; injection in Step 0.5; `GEMINI_API_KEY` ≡ `GOOGLE_API_KEY`): +Initialize only if `hyperframes.json` is missing. Name `` from the brand or domain in kebab-case, such as `acme-promo`; never use workspace name or timestamp. -| Key | Used for | Default voice / fallback | -| ---------------------------------------------- | ---------------------------------------------- | --------------------------------------------------------------------------------------------- | -| `HEYGEN_API_KEY` (or `hyperframes auth login`) | TTS (cloud, with word-level timestamps) | voice: auto (first English starfish voice; override `--voice`) | -| `ELEVENLABS_API_KEY` | TTS (cloud; requires `pip install elevenlabs`) | voice `21m00Tcm4TlvDq8ikWAM` (Rachel) | -| Neither, and not logged in | TTS | local Kokoro, voice `am_michael` (for non-English, pass `--voice`) | -| `GEMINI_API_KEY` (one key for both uses) | Capture vision caption + Lyria BGM | unset -> captions use DOM context only; BGM uses local MusicGen (first run downloads ~300 MB) | +`npx hyperframes init "videos/" --non-interactive --skip-skills --example=blank` -## Flow +**Gate:** `hyperframes.json` exists, and angle, length, aspect ratio, and language are locked. -### Step 0.0 - Confirm the brief (one round, then build) +--- -Before Step 0, in **one** message confirm only what materially shapes the launch video and you can't infer — lead with a recommended default, skip anything the user already gave: the **angle / focus** (the product overall, a headline feature, an offer / CTA), **length** (default ~30-90s; up to ~3 min), and — if `/hyperframes` did not already set them — **aspect** (default 16:9; 9:16 for vertical / social) and **language**. The preset is derived from brand capture, not asked. For a fully specified request, skip this and build. +## Step 1: Capture assets -### Step 0 - Initialize the video project +Goal: Collect the source material, brand signals, and usable assets for the video. -cwd is the agent workspace root; all video artifacts go in `PROJECT_DIR = videos//`. +Classify the input and choose the path. Explicit URL -> capture it and use the site for narration and assets. Pasted script/brief -> save verbatim as `user_script.txt`, ask once "use it verbatim or restructure?", store answer as `VO_MODE`, then resolve capture target: URL in text -> use it; brand name only -> `WebSearch`, confirm URL in one line, then crawl; no URL/site -> no-capture path. -**Naming ``**: an explicit user-given directory wins; otherwise choose a short kebab-case name like `-promo` (**never** the workspace basename or a timestamp). From a URL, derive it from the domain/page title; the name is fixed once `capture/` is written. +Run capture with: `npx hyperframes capture "" -o ./capture` -**Initialization** (only when `$PROJECT_DIR/hyperframes.json` does not exist): +If `GEMINI_API_KEY`, `GOOGLE_API_KEY`, or an OpenRouter key exists, capture auto-captions assets into `capture/extracted/asset-descriptions.md`. This is not a review gate. Without a vision key, use DOM context and continue. -```bash -PROJECT_DIR="${LAUNCH_VIDEO_DIR:-videos/}" -mkdir -p "$(dirname "$PROJECT_DIR")" -npx hyperframes init "$PROJECT_DIR" --non-interactive --skip-skills --example=blank -``` +No-capture path: create `capture/extracted/tokens.json`, `capture/extracted/visible-text.txt`, `capture/extracted/asset-descriptions.md`, and `capture/assets/` by hand. `tokens.json` should be `{ "title": "", "description": "", "colors": [], "fonts": [] }`; fill title/description from the brief when possible. `visible-text.txt` contains the full brief or script. `asset-descriptions.md` should say no assets were captured unless the user gave asset notes. -> `hyperframes init` drops a generic `AGENTS.md` / `CLAUDE.md` into `$PROJECT_DIR`; leave them in place but do not treat their generic guidance as run-time constraints — this skill is the source of truth. +**Gate:** `capture/extracted/tokens.json`, `capture/extracted/visible-text.txt`, `capture/extracted/asset-descriptions.md`, and `capture/assets/` exist; you can state the brand in one clear sentence. Treat `asset-descriptions.md` as the main asset inventory. If it is missing after real capture, stop and report capture incomplete. If `capture/BLOCKED.md` exists, follow it. -**Constraints** (each violation breaks later phases): - -- Do not run `hyperframes init` (or generate `AGENTS.md` / `CLAUDE.md`) in the workspace root; do not create a `hyperframes/` subproject inside `PROJECT_DIR`. -- Every subagent dispatch context contains a `PROJECT_DIR: ` line; the subagent treats it as the project root. -- **cwd discipline (master too)**: every Bash command runs as a `(cd "$PROJECT_DIR" && ...)` subshell — never bare `cd "$PROJECT_DIR" && ...` (persistent cwd drift makes later relative paths wrong). - -### Step 0.5 - API key guidance +--- -**Skip when** `$PROJECT_DIR/.env` exists or `context.log` is non-empty. Otherwise detect what's configured (HeyGen TTS = `$HEYGEN_API_KEY` / `$HYPERFRAMES_API_KEY` / `~/.heygen/credentials`; ElevenLabs / Gemini = their env keys), then **always pause and ask — do not proceed on your own, even when a workable config is detected**: +## Step 2: Design System -> Detected: . Cloud keys are optional — without them, unconfigured providers fall back locally (TTS -> Kokoro unless HeyGen is configured; BGM -> MusicGen). Reply with: -> -> - paste keys -> I will write them to `$PROJECT_DIR/.env` -> - "go" -> proceed with what is configured now -> - "skip" -> proceed with local fallbacks for anything unconfigured +Goal: Choose one shipped frame preset; a script turns it into this video's `frame.md` + caption skin. -Pasted keys -> Write/Edit `$PROJECT_DIR/.env`, one `KEY=value` per line (overwrite same-name keys, do not judge values). "go" / "skip" -> Step 1. +You make the one judgment call — **which preset**. Read `../hyperframes-creative/references/design-spec.md` and pick the preset whose look best fits the brand and brief. Then run: -### Step 1 - Capture (Phase 1) +```bash +node /scripts/build-frame.mjs --preset --hyperframes . +``` -1. Resolve `SKILL_DIR` and any explicit `TARGET_URL` from the prompt; ensure Step 0 ran. -2. Read `$PROJECT_DIR/context.log` if it exists and use the Resume table below to skip completed phases. -3. **Classify the input** (Step 1.0) to set `CAPTURE` and `VO_MODE`, then run the matching path. Both paths share the same downstream commands. +The script does the rest deterministically: copies the preset's `FRAME.md` → `frame.md` and **remixes** it onto the brand tokens in `capture/extracted/tokens.json` (brand colors mapped onto the preset's color keys by role — ink, canvas, accents — keeping keys/structure/components; the preset's display + body fonts swapped for the brand's), copies the preset's `caption-skin.html` verbatim, and self-validates (exits 1 on a broken mapping). Proceed to the next step as soon as it exits 0 — no hand-editing of the spec. -#### Step 1.0 - Classify the input (set CAPTURE + VO_MODE) +`tokens.json` with no brand colors/fonts (e.g. no capture) → the script keeps the preset's own palette, a complete shippable design. If the brief names brand colors/fonts the capture missed, add them to `capture/extracted/tokens.json` before running (or use the user's `design.md` to populate it); only adjust `frame.md` by hand afterward if a mapping truly needs it. -| Input shape | What to do | -| ---------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| **Explicit URL in the prompt** | `TARGET_URL` = that URL; `CAPTURE=yes`; no voice-over question (narration comes from the captured site). Path (A). | -| **User pasted / pointed at a script or brief** | (1) Save the verbatim text to `$PROJECT_DIR/user_script.txt`. (2) **Ask the voice-over question once** (below) → set `VO_MODE`. (3) **Resolve a capture target from the script** (below) → set `CAPTURE`. | -| **A topic / brief with no script prose, no product** | `CAPTURE=no`; no voice-over question. Path (B). | +**Gate:** `build-frame.mjs` exited 0 — `frame.md` exists from a named preset, and (when the preset ships one) `caption-skin.html` is at the project root. -**Voice-over question** (only when the user supplied actual script prose) — ask one short line and wait: +--- -> Should I use your script **verbatim** as the voice-over, or **restructure** it into more screen-ready scene narration? -> -> - Verbatim — keep the original wording; I only split scenes and pair visuals. Duration follows the script. -> - Restructure — treat it as a brief and rewrite tighter narration, 1-2 sentences per scene. +## Step 3: Storyboard and Script -`VO_MODE = verbatim | restructure` (default `restructure`); threaded to story-design in Step 2. +Goal: Turn the brief and captured material into an approved frame-by-frame story plan. -**Resolve a capture target from the script** — default to finding and crawling a site (real brand tokens beat preset fallbacks); skip only when the user opted out ("no web / text-only / no capture"). In order: (1) explicit `http(s)://` URL in the script → use it, announce, `CAPTURE=yes`; (2) clear brand/product name → `WebSearch` for the official site, **confirm the resolved URL with the user in one line** before crawling (decline / nothing credible → `CAPTURE=no`); (3) nothing derivable → `CAPTURE=no`. +Read `references/story-design.md`, `../hyperframes-core/references/storyboard-format.md`, and `../hyperframes-core/references/script-format.md`. Use them to write `STORYBOARD.md` and, when narration is needed, `SCRIPT.md`. -> **Capture + user script coexist**: the crawl supplies only brand tokens + assets + visual register; the narration spine stays `user_script.txt` (honored via `VO_MODE`), never the site's own copy. +Use `story-design.md` for story archetype, hook, persuasion logic, beats, `VO_MODE`, and asset choices. Choose each visual frame's `asset_candidates` from `capture/extracted/asset-descriptions.md` (the canonical inventory) — don't browse raw `capture/assets/`. Do not ask the user to pick assets unless that inventory is missing or unusable. Use the exact required fields from the storyboard and script references. -**(A) Capture path (`CAPTURE=yes`)**: +After drafting, show a frame-by-frame summary. In that same message ask the user two things: (a) to approve or request changes, and (b) whether they want a live preview of the storyboard scaffold (npx hyperframes preview) — open it only on a yes. Iterate until approved, and carry the preview choice to Step 6. -```bash -(cd "$PROJECT_DIR" && npx hyperframes capture "" -o ./capture) -``` +**Gate:** `STORYBOARD.md` exists, every visual frame has `asset_candidates`, `SCRIPT.md` exists when narration is needed, and the user approved the frame-by-frame plan. -**(B) No-capture path (`CAPTURE=no`)** — synthesize a minimal capture package; downstream is identical. **You (master) choose the preset** (no site to infer from; pick from the 19 presets per user intent, or ask one short question). The full script/brief goes into `visible-text.txt`; `colors:[]` triggers the preset-palette fallback (fill `colors` only if the user named brand colors): +--- -```bash -(cd "$PROJECT_DIR" && mkdir -p capture/extracted capture/assets) -(cd "$PROJECT_DIR" && cat > capture/extracted/tokens.json <<'JSON' -{ "title": "", "description": "", "colors": [], "fonts": [], "headings": [], "sections": [], "ctas": [], "svgs": [], "cssVariables": {} } -JSON -) -(cd "$PROJECT_DIR" && echo '{}' > capture/extracted/design-styles.json) -(cd "$PROJECT_DIR" && printf '%s\n' "" > capture/extracted/visible-text.txt) -``` +## Step 3.1: Audio -> If the user already has a final `narrator_scripts.json`, place it in `$PROJECT_DIR/`; the Resume table skips story-design. +Goal: Generate narration, word timings, music, and audio metadata from the approved script. -**Shared downstream for both paths** (Path B appends `--style ` to build-design; Path A omits it for auto-inference): +Start audio after Step 3 approval. Run it in the background, then continue to Step 4. -```bash -(cd "$PROJECT_DIR" && node /scripts/derive-context-pack.mjs --capture ./capture) -(cd "$PROJECT_DIR" && node /phases/design-system/scripts/build-design.mjs ./design-system --no-emit) # Path B: append --style -``` +`node /scripts/audio.mjs --script ./SCRIPT.md --storyboard ./STORYBOARD.md --hyperframes . --out ./audio_meta.json &` -Validation (stop and report if anything is missing; if `capture/BLOCKED.md` exists, the site blocked the crawl — follow the instructions inside it): +The audio script handles narration, word timings, BGM lookup from HeyGen's music library, and timing metadata. BGM mood comes from the storyboard's `music:` field. This uses the HeyGen Audio API for retrieval, not generation, and uses the same `~/.heygen` credential as TTS. For provider details, read `../hyperframes-media/references/tts.md`. -```bash -[ -s "$PROJECT_DIR/capture/extracted/tokens.json" ] && \ -[ -s "$PROJECT_DIR/capture/extracted/design-styles.json" ] && \ -[ -s "$PROJECT_DIR/capture/context_pack.md" ] && \ -[ -s "$PROJECT_DIR/design-system/inference.json" ] && \ -[ -d "$PROJECT_DIR/capture/assets" ] && echo ok || echo missing -``` +If there is no narration and no `SCRIPT.md`, skip voice generation. BGM may still run if the storyboard has a music mood. -### Step 1b + Step 2 - design-system ∥ story-design (parallel fork) +**Gate:** audio job has started, or the project is marked silent. -Both subagents depend only on Step 1 artifacts and do not read each other's output — after capture validates, start them **in parallel** (two concurrent background dispatches, per the dispatch adapter); do not serialize: +--- -- **design-system**: prompt = full `agents/design-system.md` + `## Dispatch context` with `SKILL_DIR` / `PROJECT_DIR` / `Target URL` + the full text of `design-system/inference.json` inlined via `cat` (~2-4 KB, saves the subagent one Read). -- **story-design**: prompt = full `agents/story-design.md` + `## Dispatch context`: +## Step 4: Frame Visual Design - ``` - SKILL_DIR: - PROJECT_DIR: