@autoaiai/aicut 0.1.11 → 0.1.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/MANUAL.md +94 -94
- package/package.json +1 -1
- package/skills/aicut-motion/SKILL.md +69 -3
- package/skills/aicut-motion/THIRD_PARTY_NOTICES.md +14 -0
- package/skills/aicut-motion/assets/atlas/lib/harness.js +116 -0
- package/skills/aicut-motion/assets/atlas/lib/sound.js +274 -0
- package/skills/aicut-motion/assets/atlas/styles/001-flat-vector-science/code.js +937 -0
- package/skills/aicut-motion/assets/atlas/styles/001-flat-vector-science/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/001-flat-vector-science/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/002-watercolor-wash/code.js +909 -0
- package/skills/aicut-motion/assets/atlas/styles/002-watercolor-wash/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/002-watercolor-wash/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/003-shadow-puppet-theatre/code.js +881 -0
- package/skills/aicut-motion/assets/atlas/styles/003-shadow-puppet-theatre/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/003-shadow-puppet-theatre/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/004-whiteboard-explainer/code.js +897 -0
- package/skills/aicut-motion/assets/atlas/styles/004-whiteboard-explainer/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/004-whiteboard-explainer/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/005-psychedelic-poster/code.js +814 -0
- package/skills/aicut-motion/assets/atlas/styles/005-psychedelic-poster/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/005-psychedelic-poster/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/006-tech-glow-explainer/code.js +990 -0
- package/skills/aicut-motion/assets/atlas/styles/006-tech-glow-explainer/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/006-tech-glow-explainer/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/007-papercraft-models/code.js +994 -0
- package/skills/aicut-motion/assets/atlas/styles/007-papercraft-models/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/007-papercraft-models/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/008-1940s-film-noir/code.js +792 -0
- package/skills/aicut-motion/assets/atlas/styles/008-1940s-film-noir/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/008-1940s-film-noir/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/009-manim-style-math/code.js +840 -0
- package/skills/aicut-motion/assets/atlas/styles/009-manim-style-math/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/009-manim-style-math/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/010-illuminated-manuscript/code.js +1126 -0
- package/skills/aicut-motion/assets/atlas/styles/010-illuminated-manuscript/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/010-illuminated-manuscript/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/011-editorial-essay-collage/code.js +854 -0
- package/skills/aicut-motion/assets/atlas/styles/011-editorial-essay-collage/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/011-editorial-essay-collage/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/012-bioluminescent-deep-sea/code.js +1124 -0
- package/skills/aicut-motion/assets/atlas/styles/012-bioluminescent-deep-sea/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/012-bioluminescent-deep-sea/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/013-product-launch-reveal/code.js +728 -0
- package/skills/aicut-motion/assets/atlas/styles/013-product-launch-reveal/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/013-product-launch-reveal/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/014-halftone-pop-panel/code.js +664 -0
- package/skills/aicut-motion/assets/atlas/styles/014-halftone-pop-panel/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/014-halftone-pop-panel/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/015-isometric-pastel/code.js +991 -0
- package/skills/aicut-motion/assets/atlas/styles/015-isometric-pastel/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/015-isometric-pastel/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/016-oscilloscope-vector-art/code.js +801 -0
- package/skills/aicut-motion/assets/atlas/styles/016-oscilloscope-vector-art/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/016-oscilloscope-vector-art/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/017-risograph-zine/code.js +692 -0
- package/skills/aicut-motion/assets/atlas/styles/017-risograph-zine/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/017-risograph-zine/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/018-claymation-set/code.js +756 -0
- package/skills/aicut-motion/assets/atlas/styles/018-claymation-set/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/018-claymation-set/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/019-neon-sign-at-night/code.js +922 -0
- package/skills/aicut-motion/assets/atlas/styles/019-neon-sign-at-night/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/019-neon-sign-at-night/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/020-kawaii-anime/code.js +852 -0
- package/skills/aicut-motion/assets/atlas/styles/020-kawaii-anime/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/020-kawaii-anime/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/021-ukiyo-e-woodblock/code.js +724 -0
- package/skills/aicut-motion/assets/atlas/styles/021-ukiyo-e-woodblock/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/021-ukiyo-e-woodblock/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/022-16-bit-pixel-odyssey/code.js +793 -0
- package/skills/aicut-motion/assets/atlas/styles/022-16-bit-pixel-odyssey/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/022-16-bit-pixel-odyssey/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/023-chalkboard-lesson/code.js +846 -0
- package/skills/aicut-motion/assets/atlas/styles/023-chalkboard-lesson/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/023-chalkboard-lesson/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/024-cut-paper-diorama/code.js +1008 -0
- package/skills/aicut-motion/assets/atlas/styles/024-cut-paper-diorama/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/024-cut-paper-diorama/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/025-cathedral-glass/code.js +680 -0
- package/skills/aicut-motion/assets/atlas/styles/025-cathedral-glass/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/025-cathedral-glass/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/026-editorial-chart/code.js +633 -0
- package/skills/aicut-motion/assets/atlas/styles/026-editorial-chart/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/026-editorial-chart/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/027-synthwave-outrun/code.js +757 -0
- package/skills/aicut-motion/assets/atlas/styles/027-synthwave-outrun/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/027-synthwave-outrun/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/028-origami-studio/code.js +828 -0
- package/skills/aicut-motion/assets/atlas/styles/028-origami-studio/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/028-origami-studio/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/029-linocut-relief-print/code.js +697 -0
- package/skills/aicut-motion/assets/atlas/styles/029-linocut-relief-print/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/029-linocut-relief-print/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/030-holographic-foil-card/code.js +687 -0
- package/skills/aicut-motion/assets/atlas/styles/030-holographic-foil-card/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/030-holographic-foil-card/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/031-voxel-diorama/code.js +727 -0
- package/skills/aicut-motion/assets/atlas/styles/031-voxel-diorama/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/031-voxel-diorama/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/032-sumi-e-ink-wash/code.js +903 -0
- package/skills/aicut-motion/assets/atlas/styles/032-sumi-e-ink-wash/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/032-sumi-e-ink-wash/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/033-etch-a-sketch-toy/code.js +662 -0
- package/skills/aicut-motion/assets/atlas/styles/033-etch-a-sketch-toy/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/033-etch-a-sketch-toy/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/034-cosmic-star-chart/code.js +951 -0
- package/skills/aicut-motion/assets/atlas/styles/034-cosmic-star-chart/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/034-cosmic-star-chart/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/035-punk-zine-collage/code.js +759 -0
- package/skills/aicut-motion/assets/atlas/styles/035-punk-zine-collage/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/035-punk-zine-collage/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/036-thermal-camera/code.js +738 -0
- package/skills/aicut-motion/assets/atlas/styles/036-thermal-camera/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/036-thermal-camera/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/037-engineering-blueprint/code.js +793 -0
- package/skills/aicut-motion/assets/atlas/styles/037-engineering-blueprint/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/037-engineering-blueprint/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/038-impasto-night/code.js +673 -0
- package/skills/aicut-motion/assets/atlas/styles/038-impasto-night/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/038-impasto-night/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/039-win95-desktop/code.js +907 -0
- package/skills/aicut-motion/assets/atlas/styles/039-win95-desktop/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/039-win95-desktop/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/040-low-poly-faceted/code.js +833 -0
- package/skills/aicut-motion/assets/atlas/styles/040-low-poly-faceted/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/040-low-poly-faceted/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/041-manga-page/code.js +845 -0
- package/skills/aicut-motion/assets/atlas/styles/041-manga-page/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/041-manga-page/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/042-wood-type-letterpress/code.js +496 -0
- package/skills/aicut-motion/assets/atlas/styles/042-wood-type-letterpress/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/042-wood-type-letterpress/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/043-light-painting/code.js +635 -0
- package/skills/aicut-motion/assets/atlas/styles/043-light-painting/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/043-light-painting/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/044-felt-patchwork/code.js +799 -0
- package/skills/aicut-motion/assets/atlas/styles/044-felt-patchwork/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/044-felt-patchwork/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/045-phosphor-terminal/code.js +547 -0
- package/skills/aicut-motion/assets/atlas/styles/045-phosphor-terminal/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/045-phosphor-terminal/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/046-glassmorphism-ui/code.js +592 -0
- package/skills/aicut-motion/assets/atlas/styles/046-glassmorphism-ui/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/046-glassmorphism-ui/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/047-tarot-card/code.js +768 -0
- package/skills/aicut-motion/assets/atlas/styles/047-tarot-card/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/047-tarot-card/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/048-transit-map/code.js +666 -0
- package/skills/aicut-motion/assets/atlas/styles/048-transit-map/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/048-transit-map/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/049-gouache-travel-poster/code.js +559 -0
- package/skills/aicut-motion/assets/atlas/styles/049-gouache-travel-poster/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/049-gouache-travel-poster/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/050-napkin-sketch/code.js +943 -0
- package/skills/aicut-motion/assets/atlas/styles/050-napkin-sketch/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/050-napkin-sketch/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/051-art-deco-foil/code.js +606 -0
- package/skills/aicut-motion/assets/atlas/styles/051-art-deco-foil/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/051-art-deco-foil/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/052-radiograph-on-lightbox/code.js +730 -0
- package/skills/aicut-motion/assets/atlas/styles/052-radiograph-on-lightbox/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/052-radiograph-on-lightbox/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/053-vaporwave/code.js +782 -0
- package/skills/aicut-motion/assets/atlas/styles/053-vaporwave/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/053-vaporwave/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/054-ebru-paper-marbling/code.js +504 -0
- package/skills/aicut-motion/assets/atlas/styles/054-ebru-paper-marbling/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/054-ebru-paper-marbling/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/055-isotype-pictograms/code.js +517 -0
- package/skills/aicut-motion/assets/atlas/styles/055-isotype-pictograms/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/055-isotype-pictograms/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/056-soft-3d-clay/code.js +713 -0
- package/skills/aicut-motion/assets/atlas/styles/056-soft-3d-clay/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/056-soft-3d-clay/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/057-cross-stitch-sampler/code.js +717 -0
- package/skills/aicut-motion/assets/atlas/styles/057-cross-stitch-sampler/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/057-cross-stitch-sampler/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/058-constructivist-propaganda/code.js +540 -0
- package/skills/aicut-motion/assets/atlas/styles/058-constructivist-propaganda/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/058-constructivist-propaganda/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/059-pocket-monochrome/code.js +524 -0
- package/skills/aicut-motion/assets/atlas/styles/059-pocket-monochrome/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/059-pocket-monochrome/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/060-botanical-plate/code.js +934 -0
- package/skills/aicut-motion/assets/atlas/styles/060-botanical-plate/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/060-botanical-plate/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/061-kinetic-type/code.js +690 -0
- package/skills/aicut-motion/assets/atlas/styles/061-kinetic-type/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/061-kinetic-type/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/062-byzantine-mosaic/code.js +612 -0
- package/skills/aicut-motion/assets/atlas/styles/062-byzantine-mosaic/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/062-byzantine-mosaic/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/063-y2k-liquid-chrome/code.js +666 -0
- package/skills/aicut-motion/assets/atlas/styles/063-y2k-liquid-chrome/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/063-y2k-liquid-chrome/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/064-sticky-note-wall/code.js +651 -0
- package/skills/aicut-motion/assets/atlas/styles/064-sticky-note-wall/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/064-sticky-note-wall/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/065-vintage-newsprint/code.js +656 -0
- package/skills/aicut-motion/assets/atlas/styles/065-vintage-newsprint/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/065-vintage-newsprint/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/066-hidden-line-wireframe/code.js +672 -0
- package/skills/aicut-motion/assets/atlas/styles/066-hidden-line-wireframe/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/066-hidden-line-wireframe/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/067-memphis-group/code.js +548 -0
- package/skills/aicut-motion/assets/atlas/styles/067-memphis-group/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/067-memphis-group/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/068-ballpoint-notebook/code.js +989 -0
- package/skills/aicut-motion/assets/atlas/styles/068-ballpoint-notebook/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/068-ballpoint-notebook/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/069-op-art-sphere/code.js +440 -0
- package/skills/aicut-motion/assets/atlas/styles/069-op-art-sphere/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/069-op-art-sphere/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/070-topographic-survey/code.js +895 -0
- package/skills/aicut-motion/assets/atlas/styles/070-topographic-survey/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/070-topographic-survey/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/071-pointillist-afternoon/code.js +563 -0
- package/skills/aicut-motion/assets/atlas/styles/071-pointillist-afternoon/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/071-pointillist-afternoon/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/072-vector-arcade-1980/code.js +627 -0
- package/skills/aicut-motion/assets/atlas/styles/072-vector-arcade-1980/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/072-vector-arcade-1980/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/073-patent-drawing/code.js +1096 -0
- package/skills/aicut-motion/assets/atlas/styles/073-patent-drawing/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/073-patent-drawing/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/074-bauhaus-poster/code.js +595 -0
- package/skills/aicut-motion/assets/atlas/styles/074-bauhaus-poster/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/074-bauhaus-poster/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/075-bitmap-paint-doodle/code.js +665 -0
- package/skills/aicut-motion/assets/atlas/styles/075-bitmap-paint-doodle/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/075-bitmap-paint-doodle/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/076-nail-thread-string-art/code.js +645 -0
- package/skills/aicut-motion/assets/atlas/styles/076-nail-thread-string-art/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/076-nail-thread-string-art/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/077-ridgeline/code.js +436 -0
- package/skills/aicut-motion/assets/atlas/styles/077-ridgeline/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/077-ridgeline/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/078-sketchbook-graphite/code.js +1237 -0
- package/skills/aicut-motion/assets/atlas/styles/078-sketchbook-graphite/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/078-sketchbook-graphite/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/079-teletext-page/code.js +622 -0
- package/skills/aicut-motion/assets/atlas/styles/079-teletext-page/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/079-teletext-page/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/080-silkscreen-grid/code.js +524 -0
- package/skills/aicut-motion/assets/atlas/styles/080-silkscreen-grid/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/080-silkscreen-grid/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/081-guilloch-security-print/code.js +689 -0
- package/skills/aicut-motion/assets/atlas/styles/081-guilloch-security-print/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/081-guilloch-security-print/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/082-ascii-demoscene/code.js +574 -0
- package/skills/aicut-motion/assets/atlas/styles/082-ascii-demoscene/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/082-ascii-demoscene/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/083-international-typographic-style/code.js +469 -0
- package/skills/aicut-motion/assets/atlas/styles/083-international-typographic-style/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/083-international-typographic-style/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/084-flow-field/code.js +531 -0
- package/skills/aicut-motion/assets/atlas/styles/084-flow-field/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/084-flow-field/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/085-macpaint-1984/code.js +675 -0
- package/skills/aicut-motion/assets/atlas/styles/085-macpaint-1984/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/085-macpaint-1984/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/086-multi-scale-truchet/code.js +609 -0
- package/skills/aicut-motion/assets/atlas/styles/086-multi-scale-truchet/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/086-multi-scale-truchet/style.json +13 -0
- package/skills/aicut-motion/references/motion-delivery.md +55 -0
- package/skills/aicut-motion/references/style-index.json +690 -0
- package/skills/aicut-motion/references/style-research.md +73 -0
- package/skills/aicut-motion/references/style-selection.md +71 -0
- package/skills/aicut-motion/scripts/atlas-viewer.html +195 -0
- package/skills/aicut-motion/scripts/atlas.mjs +109 -0
- package/studio/server/fetch-github.mjs +14 -3
- package/studio/server/server.mjs +40 -3
- package/studio/server/skill-summaries.mjs +60 -0
- package/studio/server/skills.mjs +121 -7
- package/studio/server/styles-store.mjs +235 -0
- package/studio/server/template-posters.mjs +2 -2
- package/studio/server/templates-page.mjs +93 -93
- package/studio/server/templates.mjs +32 -7
- package/studio/ui/dist/assets/ExportCenter-DasulhAv.js +1 -0
- package/studio/ui/dist/assets/SettingsModal-BZw0Hz2_.js +2 -0
- package/studio/ui/dist/assets/es-C8XPZARI.js +1 -0
- package/studio/ui/dist/assets/index-BjJVmBzB.js +1623 -0
- package/studio/ui/dist/assets/index-C3BfKZFO.css +1 -0
- package/studio/ui/dist/assets/ja-BeNkdaEj.js +1 -0
- package/studio/ui/dist/assets/ko-DcTVhdzK.js +1 -0
- package/studio/ui/dist/assets/zh-CN-Cg51ctbL.js +1 -0
- package/studio/ui/dist/index.html +2 -2
- package/skills/30x-web-to-video/SKILL.md +0 -421
- package/skills/30x-web-to-video/examples/INDEX.md +0 -26
- package/skills/30x-web-to-video/references/animations.md +0 -539
- package/skills/30x-web-to-video/references/audio.md +0 -256
- package/skills/30x-web-to-video/references/components.md +0 -340
- package/skills/30x-web-to-video/references/lottie.md +0 -174
- package/skills/30x-web-to-video/references/visual-effects.md +0 -157
- package/skills/30x-web-to-video/remotion-best-practices/rules/audio.md +0 -169
- package/skills/30x-web-to-video/remotion-best-practices/rules/calculate-metadata.md +0 -134
- package/skills/30x-web-to-video/remotion-best-practices/rules/charts.md +0 -120
- package/skills/30x-web-to-video/remotion-best-practices/rules/compositions.md +0 -154
- package/skills/30x-web-to-video/remotion-best-practices/rules/ffmpeg.md +0 -38
- package/skills/30x-web-to-video/remotion-best-practices/rules/fonts.md +0 -152
- package/skills/3d-asset-generation/SKILL.md +0 -142
- package/skills/action-fight-prompt/SKILL.md +0 -136
- package/skills/action-fight-prompt/references/camera-and-impact.md +0 -64
- package/skills/action-fight-prompt/references/example-15s-duel.md +0 -59
- package/skills/action-fight-prompt/references/scene-patterns.md +0 -80
- package/skills/ad-creative-video/SKILL.md +0 -205
- package/skills/ad-creative-video/references/batch-ad-pipeline.md +0 -289
- package/skills/ad-creative-video/references/platform-specs.md +0 -72
- package/skills/after-effects/SKILL.md +0 -123
- package/skills/after-effects/references/export-recipes.md +0 -168
- package/skills/after-effects/references/expression-library.md +0 -184
- package/skills/after-effects/references/expressions.md +0 -134
- package/skills/after-effects/references/performance-triage.md +0 -138
- package/skills/after-effects/references/project-hygiene.md +0 -188
- package/skills/ai-media-quality-review/SKILL.md +0 -72
- package/skills/ai-product-video/SKILL.md +0 -296
- package/skills/ai-product-video/references/aesthetic-rules.md +0 -177
- package/skills/ai-product-video/references/final-review.md +0 -110
- package/skills/ai-product-video/references/guided-free-creation.md +0 -194
- package/skills/ai-product-video/references/music-beat-sync.md +0 -219
- package/skills/ai-product-video/references/pipeline.md +0 -392
- package/skills/ai-product-video/references/sequences/promo-energy-arc.md +0 -50
- package/skills/ai-product-video/references/shots/ATTRIBUTION.md +0 -65
- package/skills/ai-product-video/references/shots/camera/basic-3d-scene.md +0 -37
- package/skills/ai-product-video/references/shots/camera/crash-zoom-punch.md +0 -39
- package/skills/ai-product-video/references/shots/camera/cursor-flyover.md +0 -38
- package/skills/ai-product-video/references/shots/camera/depth-layer-moves.md +0 -40
- package/skills/ai-product-video/references/shots/camera/graze-face-tour.md +0 -57
- package/skills/anidoodle/SKILL.md +0 -185
- package/skills/anidoodle/references/anatomy.md +0 -91
- package/skills/anidoodle/references/backends-and-adapters.md +0 -82
- package/skills/anidoodle/references/camera.md +0 -148
- package/skills/anidoodle/references/craft-bar.md +0 -72
- package/skills/anidoodle/references/determinism-and-contract.md +0 -46
- package/skills/anidoodle/references/formats.md +0 -121
- package/skills/anidoodle/references/motion-grammar.md +0 -234
- package/skills/anidoodle/references/music/compose.md +0 -388
- package/skills/anidoodle/references/music/sound-design.md +0 -245
- package/skills/anidoodle/references/music/sounds-licenses.md +0 -69
- package/skills/anidoodle/references/music/styles/lofi-electronic.md +0 -112
- package/skills/anidoodle/references/music/styles/music-box.md +0 -57
- package/skills/animated-component-libraries/SKILL.md +0 -820
- package/skills/animated-component-libraries/references/customization_guide.md +0 -699
- package/skills/animated-component-libraries/references/magic_ui_components.md +0 -422
- package/skills/animated-component-libraries/references/react_bits_components.md +0 -587
- package/skills/animated-infographic/SKILL.md +0 -211
- package/skills/animated-infographic/references/sequenced-infographic.md +0 -286
- package/skills/appshot-core/SKILL.md +0 -872
- package/skills/article-highlights/SKILL.md +0 -151
- package/skills/avatar-mix/SKILL.md +0 -301
- package/skills/bang-motion/SKILL.md +0 -583
- package/skills/bang-motion/references/ae-bridge-higgsfield.md +0 -160
- package/skills/bang-motion/references/anti-ppt.md +0 -110
- package/skills/bang-motion/references/architecture.md +0 -188
- package/skills/bang-motion/references/explainer.md +0 -579
- package/skills/bang-motion/references/kartun-panggung.md +0 -221
- package/skills/bang-motion/references/opener-konsep.md +0 -817
- package/skills/bang-motion/references/roadmap.md +0 -85
- package/skills/bang-motion/references/techniques.md +0 -690
- package/skills/beat-sync-edit/SKILL.md +0 -148
- package/skills/book-video-factory/SKILL.md +0 -139
- package/skills/book-video-factory/references/first-run.md +0 -50
- package/skills/book-video-factory/references/paper-collage-explainer.md +0 -127
- package/skills/book-video-factory/references/quality-gates.md +0 -87
- package/skills/book-video-production/SKILL.md +0 -211
- package/skills/brag/SKILL.md +0 -195
- package/skills/brag/references/audio.md +0 -312
- package/skills/brag/references/step-1-inspect.md +0 -125
- package/skills/brag/references/step-2-plan.md +0 -234
- package/skills/brag/references/step-3-compose.md +0 -199
- package/skills/brag/references/step-4-deliver.md +0 -141
- package/skills/brag/references/tones.md +0 -231
- package/skills/brand-setup/SKILL.md +0 -228
- package/skills/brewreel/SKILL.md +0 -491
- package/skills/brewreel/docs/broll.en.md +0 -252
- package/skills/brewreel/docs/broll.md +0 -252
- package/skills/brewreel/docs/custom-shot.en.md +0 -66
- package/skills/brewreel/docs/custom-shot.md +0 -103
- package/skills/brewreel/docs/faq.en.md +0 -90
- package/skills/brewreel/docs/faq.md +0 -90
- package/skills/brewreel/docs/features.en.md +0 -157
- package/skills/brewreel/docs/features.md +0 -157
- package/skills/brewreel/docs/gallery.en.md +0 -44
- package/skills/brewreel/docs/gallery.md +0 -44
- package/skills/brewreel/docs/how-it-works.en.md +0 -64
- package/skills/brewreel/docs/how-it-works.md +0 -64
- package/skills/caption-animation/SKILL.md +0 -216
- package/skills/caption-animation/references/word-timed-captions.md +0 -254
- package/skills/cartcut-editing/SKILL.md +0 -615
- package/skills/cartcut-editing/references/html-typography.md +0 -277
- package/skills/cassette-video-edit/SKILL.md +0 -129
- package/skills/ccvideo/SKILL.md +0 -264
- package/skills/chekhov-dramaturgy/SKILL.md +0 -367
- package/skills/chekhov-dramaturgy/reference.md +0 -375
- package/skills/chengfeng-check-updates/SKILL.md +0 -283
- package/skills/cinematic-product-promo-skill/SKILL.md +0 -295
- package/skills/cinematic-product-promo-skill/references/aesthetic-rules.md +0 -187
- package/skills/cinematic-product-promo-skill/references/final-review.md +0 -116
- package/skills/cinematic-product-promo-skill/references/guided-free-creation.md +0 -199
- package/skills/cinematic-product-promo-skill/references/jianying-export.md +0 -183
- package/skills/cinematic-product-promo-skill/references/music-beat-sync.md +0 -257
- package/skills/cinematic-product-promo-skill/references/pipeline.md +0 -393
- package/skills/cinematic-product-promo-skill/references/sequences/promo-energy-arc.md +0 -50
- package/skills/cinematic-product-promo-skill/references/shots/ATTRIBUTION.md +0 -65
- package/skills/cinematic-product-promo-skill/references/shots/camera/basic-3d-scene.md +0 -37
- package/skills/cinematic-product-promo-skill/references/shots/camera/crash-zoom-punch.md +0 -39
- package/skills/cinematic-product-promo-skill/references/shots/camera/cursor-flyover.md +0 -38
- package/skills/cinematic-product-promo-skill/references/shots/camera/depth-layer-moves.md +0 -40
- package/skills/claude-gif/SKILL.md +0 -211
- package/skills/claude-gif/references/gif-optimization.md +0 -209
- package/skills/claude-gif/references/perfect-loops.md +0 -295
- package/skills/claude-gif/references/platform-specs.md +0 -138
- package/skills/claude-gif/references/prompt-engineering.md +0 -211
- package/skills/claude-gif/references/remotion-gif.md +0 -560
- package/skills/codex-video-pipeline/SKILL.md +0 -213
- package/skills/codex-video-pipeline/examples/ai-meeting-notes/INPUT.md +0 -10
- package/skills/codex-video-pipeline/examples/ai-meeting-notes/expected/action-list.md +0 -22
- package/skills/codex-video-pipeline/references/captions.md +0 -39
- package/skills/codex-video-pipeline/references/cover-system.md +0 -72
- package/skills/codex-video-pipeline/references/cross-platform.md +0 -77
- package/skills/codex-video-pipeline/references/example-run.md +0 -54
- package/skills/codex-video-pipeline/references/first-run.md +0 -130
- package/skills/codex-video-pipeline/references/project-contract.md +0 -54
- package/skills/codex-video-pipeline/references/quality-gates.md +0 -44
- package/skills/codex-video-pipeline/references/research-and-script.md +0 -50
- package/skills/collage-broll-explainers/SKILL.md +0 -429
- package/skills/create-onboarding-video/SKILL.md +0 -233
- package/skills/cs-shotcraft-skill/SKILL.md +0 -218
- package/skills/cs-shotcraft-skill/references/aesthetic-rules.md +0 -207
- package/skills/cs-shotcraft-skill/references/camera-table.md +0 -88
- package/skills/cs-shotcraft-skill/references/engineering.md +0 -132
- package/skills/cs-shotcraft-skill/references/final-review.md +0 -118
- package/skills/cs-shotcraft-skill/references/guided-free-creation.md +0 -199
- package/skills/cs-shotcraft-skill/references/jianying-export.md +0 -183
- package/skills/cs-shotcraft-skill/references/music-beat-sync.md +0 -257
- package/skills/cs-shotcraft-skill/references/pipeline.md +0 -408
- package/skills/cs-shotcraft-skill/references/product-machine.md +0 -56
- package/skills/cs-shotcraft-skill/references/sequences/promo-energy-arc.md +0 -50
- package/skills/cs-shotcraft-skill/references/shots/ATTRIBUTION.md +0 -65
- package/skills/cs-shotcraft-skill/references/shots/camera/basic-3d-scene.md +0 -37
- package/skills/cut-video/SKILL.md +0 -387
- package/skills/cyxj-hyperframes-overlay/SKILL.md +0 -75
- package/skills/cyxj-remotion-evolve/SKILL.md +0 -123
- package/skills/cyxj-remotion-evolve-vibe-motion/SKILL.md +0 -123
- package/skills/demo-video-creation-skill/SKILL.md +0 -152
- package/skills/demo-video-creation-skill/references/capture-workflow.md +0 -74
- package/skills/demo-video-creation-skill/references/qc-checklist.md +0 -61
- package/skills/demo-video-creation-skill/references/remotion-ffmpeg.md +0 -94
- package/skills/demo-video-creation-skill/references/storytelling.md +0 -86
- package/skills/demo-video-creation-skill/references/visual-system.md +0 -83
- package/skills/demoday/SKILL.md +0 -148
- package/skills/develop-premiere-pro-mcp/SKILL.md +0 -131
- package/skills/diagram-animation/SKILL.md +0 -200
- package/skills/diagram-animation/references/diagram-and-chart-recipes.md +0 -218
- package/skills/diagram-tour/SKILL.md +0 -287
- package/skills/diagram-tour/examples/agent-architecture/agent-architecture-tour.md +0 -78
- package/skills/docvideoer/SKILL.md +0 -139
- package/skills/draftcut/SKILL.md +0 -104
- package/skills/draftcut/docs/agent-bootstrap.md +0 -64
- package/skills/draftcut/docs/approvals.md +0 -45
- package/skills/draftcut/docs/audio-first-migration.md +0 -35
- package/skills/draftcut/docs/configuration.md +0 -54
- package/skills/draftcut/docs/getting-started.md +0 -63
- package/skills/draftcut/docs/harness-case-study.en.md +0 -23
- package/skills/draftcut/docs/harness-case-study.md +0 -47
- package/skills/draftcut/references/01-plan.md +0 -30
- package/skills/draftcut/references/03-deliver.md +0 -26
- package/skills/draftcut/references/04-reference-theme-prompt.md +0 -7
- package/skills/draftcut/references/05-social-loudness.md +0 -58
- package/skills/draftcut/references/06-modern-components.md +0 -72
- package/skills/easyedit/SKILL.md +0 -66
- package/skills/erduo-broll-loop-engineering/SKILL.md +0 -136
- package/skills/erduo-broll-loop-engineering/references/animation-craft.md +0 -208
- package/skills/erduo-broll-loop-engineering/references/first-run-onboarding.md +0 -107
- package/skills/erduo-broll-loop-engineering/references/handoff-template.md +0 -70
- package/skills/erduo-broll-loop-engineering/references/motion-layout-lint.md +0 -122
- package/skills/erduo-broll-loop-engineering/references/parent-review-checklist.md +0 -171
- package/skills/erduo-broll-loop-engineering/references/prompt-first-workflow.md +0 -322
- package/skills/erduo-broll-loop-engineering/references/remotion-backend.md +0 -334
- package/skills/erduo-broll-loop-engineering/references/runtime/remotion-hyperframes-map.md +0 -76
- package/skills/erduo-broll-loop-engineering/references/runtime/runtime-contract.md +0 -174
- package/skills/erduo-broll-loop-engineering/references/runtime/runtime-selection.md +0 -135
- package/skills/erduo-broll-loop-engineering/references/shotcraft/remotion-sources/SOURCE.md +0 -7
- package/skills/erduo-broll-loop-engineering/references/shotcraft/upstream-attribution.md +0 -65
- package/skills/explainer-assets/SKILL.md +0 -98
- package/skills/explainer-video/SKILL.md +0 -146
- package/skills/framewright/SKILL.md +0 -324
- package/skills/framewright/references/audio.md +0 -230
- package/skills/framewright/references/guide.md +0 -276
- package/skills/framewright/references/painting.md +0 -425
- package/skills/framewright/references/photo.md +0 -75
- package/skills/framewright/references/questionnaire.md +0 -115
- package/skills/framewright/references/styles.md +0 -388
- package/skills/framewright/references/troubleshooting.md +0 -119
- package/skills/framewright/references/world.md +0 -215
- package/skills/gbro-collage-broll/SKILL.md +0 -435
- package/skills/gbro-collage-info/SKILL.md +0 -135
- package/skills/gbro-collage-info/references/motion-grammar.md +0 -66
- package/skills/gbro-collage-info/references/production.md +0 -67
- package/skills/gbro-collage-info/references/style-system.md +0 -38
- package/skills/gemini-tts/SKILL.md +0 -208
- package/skills/gemini-tts/references/prompting-guide.md +0 -169
- package/skills/gen/SKILL.md +0 -282
- package/skills/ghost-editor/SKILL.md +0 -437
- package/skills/ghost-editor/docs/HOW-IT-WORKS.md +0 -82
- package/skills/ghost-editor/docs/PLAYBOOK.md +0 -139
- package/skills/ghost-editor/docs/THIRD_PARTY/audio.md +0 -17
- package/skills/ghost-editor/docs/THIRD_PARTY/audioqa.md +0 -13
- package/skills/ghost-editor/docs/THIRD_PARTY/captions.md +0 -20
- package/skills/ghost-editor/docs/THIRD_PARTY/fonts.md +0 -17
- package/skills/ghost-editor/docs/THIRD_PARTY/kinetic.md +0 -22
- package/skills/ghost-editor/docs/THIRD_PARTY/looks.md +0 -22
- package/skills/ghost-editor/docs/THIRD_PARTY/matte.md +0 -20
- package/skills/ghost-editor/docs/THIRD_PARTY/models.md +0 -11
- package/skills/ghost-editor/docs/THIRD_PARTY/runtime.md +0 -13
- package/skills/ghost-editor/docs/THIRD_PARTY/shaders.md +0 -15
- package/skills/git-story-film/SKILL.md +0 -220
- package/skills/git-story-film/examples/raven-story/FONTS.md +0 -8
- package/skills/git-story-film/examples/raven-story/OUTLINE.md +0 -93
- package/skills/git-story-film/references/craft.md +0 -148
- package/skills/git-story-film/references/directing.md +0 -185
- package/skills/git-story-film/references/forms.md +0 -150
- package/skills/git-story-film/references/production.md +0 -150
- package/skills/git-story-film/references/story.md +0 -137
- package/skills/git-story-film/references/text-and-fonts.md +0 -90
- package/skills/guizang-product-video-skill/SKILL.md +0 -96
- package/skills/guizang-product-video-skill/references/audio-and-qa.md +0 -113
- package/skills/guizang-product-video-skill/references/audio-sourcing.md +0 -80
- package/skills/guizang-product-video-skill/references/case-study.md +0 -63
- package/skills/guizang-product-video-skill/references/component-pipeline.md +0 -86
- package/skills/guizang-product-video-skill/references/cover.md +0 -43
- package/skills/guizang-product-video-skill/references/direction.md +0 -91
- package/skills/guizang-product-video-skill/references/onboarding.md +0 -98
- package/skills/guizang-product-video-skill/references/repo-and-style.md +0 -44
- package/skills/guizang-product-video-skill/references/review.md +0 -38
- package/skills/guizang-product-video-skill/references/starter.md +0 -168
- package/skills/guizang-product-video-skill/references/story-and-copy.md +0 -88
- package/skills/guizang-product-video-skill/references/visual-vocabulary.md +0 -78
- package/skills/guofeng-paper-video/SKILL.md +0 -159
- package/skills/guofeng-paper-video/style/design.md +0 -43
- package/skills/guofeng-paper-video/style/palette.md +0 -21
- package/skills/guofeng-paper-video/style/prompts/01-/345/210/206/351/225/234/350/241/250.md +0 -19
- package/skills/guofeng-paper-video/style/prompts/02-/347/224/237/346/210/220/347/272/270/347/211/207.md +0 -37
- package/skills/guofeng-paper-video/style/prompts/03-/351/205/215/351/237/263/350/204/232/346/234/254.md +0 -27
- package/skills/guofeng-paper-video/style//345/210/206/351/225/234/344/270/216/345/233/276/345/261/202/350/247/204/350/214/203.md +0 -67
- package/skills/guofeng-paper-video/style//347/272/270/347/211/207/347/264/240/346/235/220/350/247/204/350/214/203.md +0 -29
- package/skills/hand-drawn-explainer-video-nikola/SKILL.md +0 -113
- package/skills/hand-drawn-explainer-video-nikola/docs/ARCHITECTURE.md +0 -18
- package/skills/hand-drawn-explainer-video-nikola/docs/CONFIGURATION.md +0 -22
- package/skills/hand-drawn-explainer-video-nikola/docs/STYLES.md +0 -28
- package/skills/hand-drawn-explainer-video-nikola/docs/TROUBLESHOOTING.md +0 -35
- package/skills/hand-drawn-explainer-video-nikola/examples/program-animation/skill-demo/DESIGN.md +0 -24
- package/skills/hand-drawn-explainer-video-nikola/references/automation-workflow.md +0 -67
- package/skills/hand-drawn-explainer-video-nikola/references/output-example.md +0 -79
- package/skills/hand-drawn-explainer-video-nikola/references/preflight-and-recovery.md +0 -49
- package/skills/hand-drawn-explainer-video-nikola/references/style-guide.md +0 -82
- package/skills/hand-drawn-explainer-video-nikola/references/style-selection-and-updates.md +0 -39
- package/skills/hand-drawn-explainer-video-nikola/references/upstream-whiteboard-review.md +0 -30
- package/skills/hand-drawn-explainer-video-nikola/references/voiceover.md +0 -37
- package/skills/hbg-life-simulation/SKILL.md +0 -285
- package/skills/hbg-life-simulation/references/image-generation.md +0 -53
- package/skills/hbg-life-simulation/references/local-account-api.md +0 -112
- package/skills/hbg-life-simulation/references/opening-system.md +0 -45
- package/skills/hbg-life-simulation/references/project-spec.md +0 -62
- package/skills/hbg-life-simulation/references/render-and-qa.md +0 -107
- package/skills/hbg-life-simulation/references/storyboarding.md +0 -69
- package/skills/hbg-life-simulation/references/style-system.md +0 -80
- package/skills/hbg-life-simulation/references/visual-system.md +0 -44
- package/skills/heygen-avatar/SKILL.md +0 -489
- package/skills/heygen-avatar/references/asset-routing.md +0 -86
- package/skills/heygen-avatar/references/avatar-creation.md +0 -181
- package/skills/heygen-avatar/references/troubleshooting.md +0 -137
- package/skills/heytea-doodle-poster/SKILL.md +0 -132
- package/skills/heytea-doodle-poster/references/desktop-pet-character-modes.md +0 -103
- package/skills/heytea-doodle-poster/references/desktop-pet-environment.md +0 -122
- package/skills/heytea-doodle-poster/references/desktop-pet-pack.md +0 -106
- package/skills/heytea-doodle-poster/references/desktop-pet-workflow.md +0 -264
- package/skills/heytea-doodle-poster/references/evaluation.md +0 -246
- package/skills/heytea-doodle-poster/references/lettering-guide.md +0 -213
- package/skills/heytea-doodle-poster/references/mixed-media-style-guide.md +0 -101
- package/skills/heytea-doodle-poster/references/monster-poster-workflow.md +0 -56
- package/skills/heytea-doodle-poster/references/style-guide.md +0 -412
- package/skills/heytea-doodle-poster-hosted/SKILL.md +0 -132
- package/skills/heytea-doodle-poster-hosted/references/desktop-pet-character-modes.md +0 -103
- package/skills/heytea-doodle-poster-hosted/references/desktop-pet-environment.md +0 -122
- package/skills/heytea-doodle-poster-hosted/references/desktop-pet-pack.md +0 -106
- package/skills/heytea-doodle-poster-hosted/references/desktop-pet-workflow.md +0 -264
- package/skills/heytea-doodle-poster-hosted/references/evaluation.md +0 -246
- package/skills/heytea-doodle-poster-hosted/references/lettering-guide.md +0 -213
- package/skills/heytea-doodle-poster-hosted/references/mixed-media-style-guide.md +0 -101
- package/skills/heytea-doodle-poster-hosted/references/monster-poster-workflow.md +0 -56
- package/skills/heytea-doodle-poster-hosted/references/style-guide.md +0 -412
- package/skills/html2video/SKILL.md +0 -290
- package/skills/html2video/references/cjk-type.md +0 -173
- package/skills/html2video/references/editorial.md +0 -145
- package/skills/html2video/references/narration.md +0 -111
- package/skills/html2video/references/pitfalls.md +0 -238
- package/skills/html2video/references/shots.md +0 -198
- package/skills/html2video/references/storyboard.md +0 -323
- package/skills/hyperdirector/SKILL.md +0 -202
- package/skills/hyperdirector/docs/audio-workflow.md +0 -160
- package/skills/hyperdirector/docs/audio-workflow.zh-CN.md +0 -244
- package/skills/hyperdirector/docs/brand-kit-setup.md +0 -322
- package/skills/hyperdirector/docs/brand-kit-setup.zh-CN.md +0 -277
- package/skills/hyperdirector/docs/cursor-development-notes.md +0 -474
- package/skills/hyperdirector/docs/faq.md +0 -285
- package/skills/hyperdirector/docs/faq.zh-CN.md +0 -198
- package/skills/hyperdirector/docs/first-video.md +0 -320
- package/skills/hyperdirector/docs/first-video.zh-CN.md +0 -265
- package/skills/hyperdirector/docs/installation.md +0 -254
- package/skills/hyperdirector/docs/installation.zh-CN.md +0 -222
- package/skills/hyperdirector/docs/quickstart.md +0 -203
- package/skills/hyperframes/SKILL.md +0 -117
- package/skills/hyperframes/references/captions.md +0 -46
- package/skills/hyperframes/references/film.md +0 -48
- package/skills/hyperframes/references/format.md +0 -158
- package/skills/hyperframes/references/look.md +0 -69
- package/skills/hyperframes/references/motion.md +0 -95
- package/skills/hyperframes/references/overlays.md +0 -39
- package/skills/hyperframes/references/review.md +0 -51
- package/skills/hyperframes/references/runtimes.md +0 -69
- package/skills/hyperframes/references/skill-lifecycle.md +0 -49
- package/skills/hyperframes/references/sound.md +0 -43
- package/skills/hyperframes/references/spec.md +0 -76
- package/skills/hyperframes/references/story.md +0 -103
- package/skills/hyperframes-motion-director/SKILL.md +0 -920
- package/skills/hyperframes-motion-director/references/asset-choreography-and-render-qa.md +0 -185
- package/skills/hyperframes-motion-director/references/audio-sync.md +0 -83
- package/skills/hyperframes-motion-director/references/design-engineering.md +0 -156
- package/skills/hyperframes-motion-director/references/gsap-choreography.md +0 -202
- package/skills/hyperframes-motion-director/references/hyperframes-stability.md +0 -99
- package/skills/hyperframes-motion-director/references/imagegen-asset-pipeline.md +0 -227
- package/skills/hyperframes-motion-director/references/motion-background-system.md +0 -165
- package/skills/hyperframes-motion-director/references/motion-craft.md +0 -182
- package/skills/hyperframes-motion-director/references/premium-product-promo.md +0 -287
- package/skills/hyperframes-motion-director/references/text-over-background-layout.md +0 -221
- package/skills/hyperframes-motion-director/references/visual-standard.md +0 -174
- package/skills/hyperframes-motion-director/references/workflow.md +0 -320
- package/skills/hypit/SKILL.md +0 -367
- package/skills/hypit/references/creation/brief.md +0 -93
- package/skills/hypit/references/creation/script-and-time.md +0 -259
- package/skills/hypit/references/creation/transformations.md +0 -143
- package/skills/hypit/references/playbooks/craft/b-roll.md +0 -94
- package/skills/hypit/references/playbooks/craft/caption-tracking.md +0 -126
- package/skills/hypit/references/playbooks/craft/captions.md +0 -253
- package/skills/hypit/references/playbooks/craft/generated-dependencies.md +0 -38
- package/skills/hypit/references/playbooks/craft/graphic-compositions.md +0 -85
- package/skills/hypit/references/playbooks/craft/motion-graphics.md +0 -68
- package/skills/hypit/references/playbooks/craft/screen-demonstrations.md +0 -51
- package/skills/hypit/references/playbooks/craft/sound-mix.md +0 -70
- package/skills/hypit/references/playbooks/formats/narration-led-demo.md +0 -87
- package/skills/image/SKILL.md +0 -153
- package/skills/image/references/characters.md +0 -86
- package/skills/image/references/creative-direction.md +0 -137
- package/skills/image/references/de-slop.md +0 -95
- package/skills/image/references/dimensional.md +0 -88
- package/skills/image/references/editing.md +0 -112
- package/skills/image/references/golden-rules.md +0 -198
- package/skills/image/references/gpt-image.md +0 -228
- package/skills/image/references/models.md +0 -78
- package/skills/image/references/multi-panel.md +0 -354
- package/skills/image/references/nano-banana.md +0 -150
- package/skills/image/references/patterns/character-design.md +0 -150
- package/skills/image/references/patterns/ecommerce.md +0 -124
- package/skills/image-smixs/SKILL.md +0 -153
- package/skills/image-smixs/references/characters.md +0 -86
- package/skills/image-smixs/references/creative-direction.md +0 -137
- package/skills/image-smixs/references/de-slop.md +0 -95
- package/skills/image-smixs/references/dimensional.md +0 -88
- package/skills/image-smixs/references/editing.md +0 -112
- package/skills/image-smixs/references/golden-rules.md +0 -198
- package/skills/image-smixs/references/gpt-image.md +0 -228
- package/skills/image-smixs/references/models.md +0 -78
- package/skills/image-smixs/references/multi-panel.md +0 -354
- package/skills/image-smixs/references/nano-banana.md +0 -150
- package/skills/image-smixs/references/patterns/character-design.md +0 -150
- package/skills/image-smixs/references/patterns/ecommerce.md +0 -124
- package/skills/image-story-video-wizard/SKILL.md +0 -148
- package/skills/image-story-video-wizard/docs/ARTICLE_ALIGNMENT.md +0 -29
- package/skills/image-story-video-wizard/references/host-routing.md +0 -44
- package/skills/image-story-video-wizard/references/state-schema.md +0 -79
- package/skills/image-story-video-wizard/references/workflow.md +0 -203
- package/skills/image-story-video-wizard/references/writing-and-review.md +0 -60
- package/skills/ip-as-logo/SKILL.md +0 -151
- package/skills/ip-as-logo-s1dashu/SKILL.md +0 -151
- package/skills/jtxvideo-skill/SKILL.md +0 -337
- package/skills/kinetic-reel/SKILL.md +0 -140
- package/skills/kinetic-reel/examples/work-reel-26/STORYBOARD.md +0 -51
- package/skills/kinetic-reel/references/sound.md +0 -40
- package/skills/kinetic-reel/references/style-guide.md +0 -79
- package/skills/knowledge-explainer-skill/SKILL.md +0 -149
- package/skills/knowledge-explainer-skill/examples/ai_video_3steps.md +0 -61
- package/skills/knowledge-explainer-skill/examples/algorithm_bubble.md +0 -20
- package/skills/knowledge-explainer-skill/examples/before_after_demo.md +0 -38
- package/skills/knowledge-explainer-skill/examples/cta_outro.md +0 -11
- package/skills/knowledge-explainer-skill/examples/double_pendulum.md +0 -20
- package/skills/knowledge-explainer-skill/examples/paper_fold.md +0 -20
- package/skills/knowledge-explainer-skill/examples/script.md +0 -40
- package/skills/lanshu-create-ai-presenter-video/SKILL.md +0 -253
- package/skills/lanshu-create-ai-presenter-video/references/editing.md +0 -67
- package/skills/lanshu-create-ai-presenter-video/references/generation.md +0 -94
- package/skills/lanshu-create-ai-presenter-video/references/qa-recovery.md +0 -83
- package/skills/lanshu-create-ai-presenter-video/references/styled-explainer.md +0 -189
- package/skills/laoxu-video-script/SKILL.md +0 -117
- package/skills/laoxu-video-script/references/cases.md +0 -305
- package/skills/laoxu-video-script/references/de-ai.md +0 -32
- package/skills/laoxu-video-script/references/diagnostics.md +0 -67
- package/skills/laoxu-video-script/references/format.md +0 -62
- package/skills/laoxu-video-script/references/formulas.md +0 -43
- package/skills/laoxu-video-script/references/method.md +0 -115
- package/skills/laoxu-video-script/references/motifs-and-lines.md +0 -829
- package/skills/laoxu-video-script/references/persona.md +0 -38
- package/skills/laoxu-video-script/references/qihao-path.md +0 -35
- package/skills/laoxu-video-script/references/qihao-xinfa.md +0 -39
- package/skills/laoxu-video-script/references/redlines.md +0 -26
- package/skills/lemo-opuscar/SKILL.md +0 -67
- package/skills/lipnardo/SKILL.md +0 -308
- package/skills/lipnardo/examples/batch-personalized.md +0 -44
- package/skills/lipnardo/examples/photo-to-avatar-pipeline.md +0 -56
- package/skills/lipnardo/examples/single-video.md +0 -44
- package/skills/lipnardo/references/avatar-types.md +0 -42
- package/skills/lipnardo/references/credit-costs.md +0 -39
- package/skills/lipnardo/references/error-codes.md +0 -66
- package/skills/lipnardo/references/heygen-api-reference.md +0 -416
- package/skills/ll-video-decomposer/SKILL.md +0 -105
- package/skills/ll-video-decomposer/references/audiovisual-analysis-guide.md +0 -44
- package/skills/ll-video-decomposer/references/evidence-and-confidence-rules.md +0 -41
- package/skills/ll-video-decomposer/references/multi-video-comparison-template.md +0 -48
- package/skills/ll-video-decomposer/references/single-video-report-template.md +0 -47
- package/skills/ll-video-decomposer/references/tool-discovery-workflow.md +0 -30
- package/skills/ll-video-decomposer/references/transcription-routing.md +0 -65
- package/skills/ll-video-decomposer/references/video-acquisition-workflow.md +0 -30
- package/skills/ltx2-video/SKILL.md +0 -193
- package/skills/ltx2-video/references/mode_ux.md +0 -293
- package/skills/make-ai-short/SKILL.md +0 -130
- package/skills/make-blender-education-video/SKILL.md +0 -247
- package/skills/make-blender-education-video/references/evidence-and-explanation.md +0 -62
- package/skills/make-blender-education-video/references/github-workflow-discovery.md +0 -55
- package/skills/make-blender-education-video/references/production-workflow.md +0 -62
- package/skills/make-blender-education-video/references/story-patterns.md +0 -65
- package/skills/make-blender-education-video/references/visual-quality.md +0 -82
- package/skills/manage-storyboard-projects/SKILL.md +0 -128
- package/skills/manim-composer/SKILL.md +0 -176
- package/skills/manim-composer/references/narrative-patterns.md +0 -125
- package/skills/manim-composer/references/scene-examples.md +0 -216
- package/skills/manim-composer/references/visual-techniques.md +0 -223
- package/skills/manim-composer/templates/scenes-template.md +0 -147
- package/skills/monet-ai-editor-monet/SKILL.md +0 -367
- package/skills/motion-graphics/SKILL.md +0 -206
- package/skills/motion-graphics/references/craft.md +0 -136
- package/skills/motion-graphics/references/engine.md +0 -130
- package/skills/motion-graphics/references/export.md +0 -67
- package/skills/motion-graphics/references/physics.md +0 -100
- package/skills/motion-graphics/references/verify.md +0 -124
- package/skills/motion-video/SKILL.md +0 -133
- package/skills/motion-video/references/audio-and-beat-sync.md +0 -109
- package/skills/motion-video/references/composition-contract.md +0 -107
- package/skills/motion-video/references/production-pipeline.md +0 -147
- package/skills/motion-video/references/style-comic-spiderverse.md +0 -87
- package/skills/motion-video/references/style-glass-keynote.md +0 -69
- package/skills/motion-video-maker/SKILL.md +0 -1452
- package/skills/motion-video-maker/reference/components.md +0 -451
- package/skills/motion-video-maker/reference/workflow.md +0 -190
- package/skills/motioncraft/SKILL.md +0 -221
- package/skills/motioncraft/references/animation-system.md +0 -57
- package/skills/motioncraft/references/assets-and-licensing.md +0 -21
- package/skills/motioncraft/references/customization.md +0 -52
- package/skills/motioncraft/references/gpu-cloud-render.md +0 -15
- package/skills/motioncraft/references/music.md +0 -43
- package/skills/motioncraft/references/phase1-planning-and-preview.md +0 -74
- package/skills/motioncraft/references/phase2-timeline-audio.md +0 -33
- package/skills/motioncraft/references/phase3-pixel-review.md +0 -13
- package/skills/motioncraft/references/phase4-templates.md +0 -30
- package/skills/motioncraft/references/preflight.md +0 -27
- package/skills/motioncraft/references/qa.md +0 -53
- package/skills/motioncraft/references/reference-analysis.md +0 -37
- package/skills/narrator-ai-cli/SKILL.md +0 -256
- package/skills/narrator-ai-cli/references/magic-video.md +0 -205
- package/skills/narrator-ai-cli/references/operations.md +0 -230
- package/skills/narrator-ai-cli/references/resources.md +0 -126
- package/skills/narrator-ai-cli/references/workflows.md +0 -332
- package/skills/newcut-video-clipping/SKILL.md +0 -194
- package/skills/newcut-video-clipping/references/examples.md +0 -59
- package/skills/newcut-video-clipping/references/provider-config.md +0 -110
- package/skills/newcut-video-clipping/references/quality-check.md +0 -35
- package/skills/newcut-video-clipping/references/semantic-plan.md +0 -65
- package/skills/notes-to-video/SKILL.md +0 -476
- package/skills/openchatcut/SKILL.md +0 -100
- package/skills/openchatcut/references/editing-workflow.md +0 -54
- package/skills/openchatcut/references/getting-started.md +0 -106
- package/skills/openchatcut/references/known-errors.md +0 -62
- package/skills/openstoryline-install/SKILL.md +0 -228
- package/skills/orca-motion/SKILL.md +0 -100
- package/skills/orca-motion/references/api.md +0 -100
- package/skills/orca-motion/references/integration.md +0 -59
- package/skills/orca-motion/references/kinetic-type.md +0 -59
- package/skills/orca-motion/references/principles.md +0 -76
- package/skills/package-talking-head-video/SKILL.md +0 -90
- package/skills/package-talking-head-video/docs/EXAMPLES.md +0 -18
- package/skills/package-talking-head-video/docs/TROUBLESHOOTING.md +0 -29
- package/skills/package-talking-head-video/docs/USAGE.md +0 -83
- package/skills/package-talking-head-video/docs/superpowers/plans/2026-08-08-multicolor-center-speaker.md +0 -144
- package/skills/package-talking-head-video/docs/superpowers/plans/2026-08-08-semantic-template-system-v2.md +0 -1099
- package/skills/package-talking-head-video/docs/superpowers/specs/2026-08-08-multicolor-center-speaker-design.md +0 -154
- package/skills/package-talking-head-video/docs/superpowers/specs/2026-08-08-semantic-template-system-v2-design.md +0 -365
- package/skills/package-talking-head-video/examples/auto-editing-0/GATE_A.md +0 -56
- package/skills/package-talking-head-video/examples/auto-editing-0/GATE_D.md +0 -8
- package/skills/package-talking-head-video/examples/auto-editing-0/QA_REPORT.md +0 -34
- package/skills/package-talking-head-video/references/director-rules.md +0 -29
- package/skills/package-talking-head-video/references/motion-and-illustration.md +0 -25
- package/skills/paper-cut/SKILL.md +0 -164
- package/skills/paper-cut/references/asset-spec.md +0 -47
- package/skills/paper-cut/references/audio-and-chatcut.md +0 -26
- package/skills/paper-cut/references/hyperframes-assembly.md +0 -47
- package/skills/paper-cut/references/image-led-production.md +0 -65
- package/skills/paper-cut/references/storyboard-schema.md +0 -48
- package/skills/paper-cut/references/workflow.md +0 -39
- package/skills/personal-ip-brand-intro/SKILL.md +0 -216
- package/skills/personal-ip-brand-intro/references/intake-schema.md +0 -79
- package/skills/personal-ip-brand-intro/references/music-upload-workflow.md +0 -40
- package/skills/personal-ip-brand-intro/references/originality-rules.md +0 -42
- package/skills/personal-ip-brand-intro/references/qa-checklist.md +0 -60
- package/skills/personal-ip-brand-intro/references/rhythm-routing.md +0 -41
- package/skills/personal-ip-brand-intro/references/storyboard-contract.md +0 -42
- package/skills/pixel2motion/SKILL.md +0 -279
- package/skills/pixel2motion/references/html-delivery-template.md +0 -42
- package/skills/pixel2motion/references/motion-personality.md +0 -109
- package/skills/pixel2motion/references/reveal-patterns.md +0 -163
- package/skills/pixel2motion/references/ribbon-fitting.md +0 -90
- package/skills/pixel2motion/references/twelve-principles-for-logos.md +0 -116
- package/skills/premiere-batch-delivery/SKILL.md +0 -71
- package/skills/premiere-pro-mcp/SKILL.md +0 -161
- package/skills/promo-creator-skills/SKILL.md +0 -209
- package/skills/promo-creator-skills/references/mureka_prompt_guide.md +0 -251
- package/skills/promo-creator-skills/references/product_promo_bgm_prompting.md +0 -100
- package/skills/promo-video/SKILL.md +0 -408
- package/skills/qisi-video-remix/SKILL.md +0 -134
- package/skills/qisi-video-remix/examples/creative-plan.md +0 -133
- package/skills/qisi-video-remix/references/delivery-guide.md +0 -63
- package/skills/reel-video/SKILL.md +0 -237
- package/skills/remotion-ad-video/SKILL.md +0 -252
- package/skills/remotion-ad-video/references/ad-aesthetic-qa.md +0 -60
- package/skills/remotion-ad-video/references/ad-brief-contract.md +0 -235
- package/skills/remotion-ad-video/references/ad-exemplars.md +0 -186
- package/skills/remotion-ad-video/references/ad-intake.md +0 -54
- package/skills/remotion-ad-video/references/asset-harvest.md +0 -56
- package/skills/remotion-ad-video/references/audio-caption-system.md +0 -202
- package/skills/remotion-ad-video/references/concept-contract.md +0 -128
- package/skills/remotion-ad-video/references/creative-direction.md +0 -146
- package/skills/remotion-ad-video/references/fast-test-workflow.md +0 -86
- package/skills/remotion-ad-video/references/game-ad-patterns.md +0 -75
- package/skills/remotion-ad-video/references/hyperframes-output.md +0 -90
- package/skills/remotion-ad-video/references/industry-angle-library.md +0 -71
- package/skills/remotion-ads/SKILL.md +0 -278
- package/skills/remotion-ads/references/ad-copywriting.md +0 -229
- package/skills/remotion-ads/references/animations.md +0 -693
- package/skills/remotion-ads/references/brand-config-template.md +0 -355
- package/skills/remotion-ads/references/captions.md +0 -529
- package/skills/remotion-ads/references/carousels.md +0 -580
- package/skills/remotion-ads/references/components.md +0 -897
- package/skills/remotion-ads/references/copy-frameworks.md +0 -144
- package/skills/remotion-ads/references/formats.md +0 -436
- package/skills/remotion-ads/references/gemini-tts.md +0 -473
- package/skills/remotion-ads/references/html-in-canvas.md +0 -555
- package/skills/remotion-ads/references/local-assets.md +0 -543
- package/skills/remotion-ads/references/music.md +0 -656
- package/skills/remotion-code-motion-explainer/SKILL.md +0 -178
- package/skills/remotion-code-motion-explainer/references/code-motion-design.md +0 -86
- package/skills/remotion-code-motion-explainer/references/motion-production-patterns.md +0 -93
- package/skills/remotion-code-motion-explainer/references/production-and-qc.md +0 -99
- package/skills/remotion-code-motion-explainer/references/reference-reconstruction.md +0 -48
- package/skills/remotion-code-motion-explainer/references/ui-motion-shot-library.md +0 -62
- package/skills/remotion-motion-graphics/SKILL.md +0 -169
- package/skills/remotion-motion-graphics/references/patterns.md +0 -355
- package/skills/remotion-motion-graphics/references/polish.md +0 -102
- package/skills/remotion-motion-graphics/references/scaffold.md +0 -144
- package/skills/remotion-motion-graphics/references/traps.md +0 -152
- package/skills/remotion-resemble-ai/SKILL.md +0 -879
- package/skills/remotion-resemble-ai/rules/resemble-captions.md +0 -350
- package/skills/remotion-resemble-ai/rules/resemble-remotion-integration.md +0 -305
- package/skills/remotion-resemble-ai/rules/resemble-setup.md +0 -284
- package/skills/remotion-resemble-ai/rules/resemble-streaming-tts.md +0 -225
- package/skills/remotion-resemble-ai/rules/resemble-sync-tts.md +0 -239
- package/skills/remotion-resemble-ai/rules/resemble-voices.md +0 -213
- package/skills/remotion-resemble-ai/rules/visual-animations.md +0 -567
- package/skills/riffkit/SKILL.md +0 -196
- package/skills/riffkit/examples/any-look-styles.md +0 -11
- package/skills/riffkit/examples/faceless-and-auto.md +0 -16
- package/skills/riffkit/examples/localize-spanish.md +0 -18
- package/skills/riffkit/examples/tiktok-shop-product.md +0 -22
- package/skills/riffkit/references/anchor.md +0 -62
- package/skills/riffkit/references/api.md +0 -806
- package/skills/riffkit/references/details.md +0 -153
- package/skills/riffkit/references/errors.md +0 -69
- package/skills/riffkit/references/intents.md +0 -29
- package/skills/saas-motion-video/SKILL.md +0 -71
- package/skills/script-to-video/SKILL.md +0 -2627
- package/skills/shorts/SKILL.md +0 -372
- package/skills/shorts/references/caption-styles.md +0 -105
- package/skills/shorts/references/platform-specs.md +0 -149
- package/skills/shorts/references/remotion-patterns.md +0 -180
- package/skills/shorts/references/scoring-rubric.md +0 -106
- package/skills/smart-video-editor/SKILL.md +0 -327
- package/skills/smart-video-editor/docs/FONTS.md +0 -57
- package/skills/story-telling/SKILL.md +0 -222
- package/skills/story-telling/rules/composition.md +0 -130
- package/skills/story-telling/rules/images.md +0 -119
- package/skills/story-telling/rules/models.md +0 -98
- package/skills/story-telling/rules/narration.md +0 -87
- package/skills/story-telling/rules/pitfalls.md +0 -140
- package/skills/story-telling/rules/story-formats.md +0 -108
- package/skills/story-telling/rules/story-json.md +0 -143
- package/skills/story-telling/rules/voices.md +0 -114
- package/skills/story-telling/rules/workflow.md +0 -105
- package/skills/story-to-handdrawn-video/SKILL.md +0 -216
- package/skills/story-to-handdrawn-video/references/asset-workflow.md +0 -24
- package/skills/story-to-handdrawn-video/references/reference-style-workflow.md +0 -27
- package/skills/su-card-to-video/SKILL.md +0 -103
- package/skills/talking-head-video-pipeline/SKILL.md +0 -224
- package/skills/talking-head-video-pipeline/examples/prompts.md +0 -217
- package/skills/talking-head-video-pipeline/references/asr-adapters.md +0 -51
- package/skills/talking-head-video-pipeline/references/caption-workflow.md +0 -53
- package/skills/talking-head-video-pipeline/references/export-recipes.md +0 -78
- package/skills/talking-head-video-pipeline/references/layout-safety.md +0 -49
- package/skills/talking-head-video-pipeline/references/video-use-integration.md +0 -71
- package/skills/talking-head-video-pipeline/references/workflows/captions.md +0 -52
- package/skills/talking-head-video-pipeline/references/workflows/design.md +0 -77
- package/skills/talking-head-video-pipeline/references/workflows/doctor.md +0 -51
- package/skills/talking-head-video-pipeline/references/workflows/export.md +0 -50
- package/skills/talking-head-video-pipeline/references/workflows/init.md +0 -51
- package/skills/talking-head-video-pipeline/references/workflows/learn.md +0 -36
- package/skills/text-to-lottie/SKILL.md +0 -202
- package/skills/text-to-lottie/references/chapterization-transition-grammar.md +0 -132
- package/skills/text-to-lottie/references/design-taste.md +0 -292
- package/skills/text-to-lottie/references/lottie-spec-map.md +0 -82
- package/skills/text-to-lottie/references/motion-taste.md +0 -260
- package/skills/text-to-lottie/references/player-contract.md +0 -325
- package/skills/text-to-lottie/references/recipe-camera-scene-motion.md +0 -65
- package/skills/text-to-lottie/references/recipe-data-stats.md +0 -104
- package/skills/text-to-lottie/references/recipe-diagram-technical.md +0 -106
- package/skills/text-to-lottie/references/recipe-loaders-icons.md +0 -70
- package/skills/text-to-lottie/references/recipe-logo.md +0 -72
- package/skills/text-to-lottie/references/recipe-lower-thirds.md +0 -62
- package/skills/text-to-lottie/references/recipe-product-promo.md +0 -99
- package/skills/ultrademo/SKILL.md +0 -212
- package/skills/video-assemble/SKILL.md +0 -101
- package/skills/video-assemble-zenstory-ai/SKILL.md +0 -153
- package/skills/video-assemble-zenstory-ai/references/audio-modes.md +0 -63
- package/skills/video-assemble-zenstory-ai/references/explicit-audio-mix.md +0 -77
- package/skills/video-assemble-zenstory-ai/references/jianying/SOURCE.md +0 -14
- package/skills/video-assemble-zenstory-ai/references/narration-adoption.md +0 -103
- package/skills/video-assemble-zenstory-ai/references/packaging.md +0 -44
- package/skills/video-assemble-zenstory-ai/references/source-score.md +0 -146
- package/skills/video-assemble-zenstory-ai/references/subtitle-track.md +0 -202
- package/skills/video-editing/SKILL.md +0 -688
- package/skills/video-explainer/SKILL.md +0 -163
- package/skills/video-explainer/references/brief-to-script.md +0 -56
- package/skills/video-explainer/references/errors-and-privacy.md +0 -18
- package/skills/video-explainer/references/motion-storyboard.md +0 -82
- package/skills/video-explainer/references/render-and-verify.md +0 -62
- package/skills/video-explainer/references/review-gate.md +0 -82
- package/skills/video-explainer/references/setup-and-doctor.md +0 -33
- package/skills/video-script-builder/SKILL.md +0 -329
- package/skills/video-script-builder/examples/quick-start-transcript.md +0 -19
- package/skills/video-script-builder/references/audio-workflow.md +0 -84
- package/skills/video-script-builder/references/caption-components.md +0 -70
- package/skills/video-script-builder/references/common-pitfalls.md +0 -80
- package/skills/video-script-builder/references/component-catalog.md +0 -197
- package/skills/video-script-builder/references/component-recipes.md +0 -165
- package/skills/video-script-builder/references/gsap-patterns.md +0 -112
- package/skills/video-script-builder/references/pacing-rules.md +0 -78
- package/skills/video-script-builder/references/quality-checklist.md +0 -98
- package/skills/video-script-builder/references/remotion-patterns.md +0 -211
- package/skills/video-script-builder/references/shader-transitions.md +0 -115
- package/skills/video-script-builder/references/taste-principles.md +0 -160
- package/skills/video-scrub/SKILL.md +0 -216
- package/skills/video-scrub/references/profiles.md +0 -89
- package/skills/video-scrub/references/residue-map.md +0 -204
- package/skills/video-short-maker/SKILL.md +0 -182
- package/skills/video-shot-analysis-feishu/SKILL.md +0 -173
- package/skills/video-shotcraft/SKILL.md +0 -267
- package/skills/video-shotcraft/docs/deepseek-harness.md +0 -69
- package/skills/video-shotcraft/references/aesthetic-rules.md +0 -177
- package/skills/video-shotcraft/references/final-review.md +0 -112
- package/skills/video-shotcraft/references/guided-free-creation.md +0 -199
- package/skills/video-shotcraft/references/jianying-export.md +0 -182
- package/skills/video-shotcraft/references/music-beat-sync.md +0 -219
- package/skills/video-shotcraft/references/pipeline.md +0 -390
- package/skills/video-shotcraft/references/sequences/promo-energy-arc.md +0 -50
- package/skills/video-shotcraft/references/shots/ATTRIBUTION.md +0 -65
- package/skills/video-shotcraft/references/shots/camera/basic-3d-scene.md +0 -37
- package/skills/video-shotcraft/references/shots/camera/crash-zoom-punch.md +0 -39
- package/skills/video-shotcraft/references/shots/camera/cursor-flyover.md +0 -38
- package/skills/video-shotcraft-vincentwei10/SKILL.md +0 -316
- package/skills/video-shotcraft-vincentwei10/references/aesthetic-rules.md +0 -187
- package/skills/video-shotcraft-vincentwei10/references/final-review.md +0 -116
- package/skills/video-shotcraft-vincentwei10/references/guided-free-creation.md +0 -199
- package/skills/video-shotcraft-vincentwei10/references/jianying-export.md +0 -183
- package/skills/video-shotcraft-vincentwei10/references/music-beat-sync.md +0 -257
- package/skills/video-shotcraft-vincentwei10/references/pipeline.md +0 -401
- package/skills/video-shotcraft-vincentwei10/references/publish-upload-post.md +0 -111
- package/skills/video-shotcraft-vincentwei10/references/sequences/promo-energy-arc.md +0 -50
- package/skills/video-shotcraft-vincentwei10/references/shots/ATTRIBUTION.md +0 -62
- package/skills/video-shotcraft-vincentwei10/references/shots/camera/basic-3d-scene.md +0 -41
- package/skills/video-shotcraft-vincentwei10/references/shots/camera/crash-zoom-punch.md +0 -52
- package/skills/video-shotcraft-vincentwei10/references/shots/camera/cursor-flyover.md +0 -39
- package/skills/video-structure-analyzer/SKILL.md +0 -148
- package/skills/video-structure-analyzer/examples/xhs-rook-time-spend/xhs-rook-time-spend_/346/213/211/347/211/207/346/213/206/350/247/243.md +0 -50
- package/skills/video-structure-analyzer/examples/xhs-smelly-cat/xhs-smelly-cat_/346/213/211/347/211/207/346/213/206/350/247/243.md +0 -19
- package/skills/video-toolkit/SKILL.md +0 -686
- package/skills/videocut/SKILL.md +0 -159
- package/skills/videodb/SKILL.md +0 -497
- package/skills/videodb/reference/api-reference.md +0 -741
- package/skills/videodb/reference/capture-reference.md +0 -399
- package/skills/videodb/reference/capture.md +0 -110
- package/skills/videodb/reference/editor-reference.md +0 -506
- package/skills/videodb/reference/editor.md +0 -389
- package/skills/videodb/reference/generative.md +0 -344
- package/skills/videodb/reference/indexing-reference.md +0 -481
- package/skills/videodb/reference/indexing.md +0 -537
- package/skills/videodb/reference/legacy/index-reference.md +0 -223
- package/skills/videodb/reference/legacy/index.md +0 -241
- package/skills/videodb/reference/legacy/search.md +0 -249
- package/skills/videodb/reference/migration.md +0 -113
- package/skills/vlog-auto-edit/SKILL.md +0 -982
- package/skills/vlog-auto-edit/examples/project_structure.md +0 -84
- package/skills/vox-animated-ad-mcp/SKILL.md +0 -419
- package/skills/vox-director/SKILL.md +0 -351
- package/skills/vox-director/references/beat-layer.md +0 -143
- package/skills/vox-director/references/host-mode.md +0 -120
- package/skills/vox-director/references/local-engine.md +0 -73
- package/skills/vox-director/references/models-and-gotchas.md +0 -91
- package/skills/vox-director/references/prompt-guide.md +0 -275
- package/skills/vox-director/references/voices.md +0 -59
- package/skills/xingchen-vox-collage/SKILL.md +0 -251
- package/skills/xingchen-vox-collage/references/asset-layer-contract.md +0 -98
- package/skills/xingchen-vox-collage/references/creative-exploration.md +0 -19
- package/skills/xingchen-vox-collage/references/learned-branches.md +0 -34
- package/skills/xingchen-vox-collage/references/remotion-scene-contract.md +0 -77
- package/skills/xingchen-vox-collage/references/visual-language.md +0 -74
- package/skills/xingchen-vox-collage/references/visual-qa.md +0 -59
- package/skills/youtube/SKILL.md +0 -147
- package/skills/youtube/references/algorithm-guide.md +0 -59
- package/skills/youtube/references/analytics-benchmarks.md +0 -67
- package/skills/youtube/references/dataforseo-integration.md +0 -51
- package/skills/youtube/references/monetization-guide.md +0 -62
- package/skills/youtube/references/repurposing-guide.md +0 -54
- package/skills/youtube/references/retention-scripting-guide.md +0 -75
- package/skills/youtube/references/seo-playbook.md +0 -77
- package/skills/youtube/references/shorts-playbook.md +0 -64
- package/skills/youtube/references/thumbnail-ctr-guide.md +0 -73
- package/skills/youtube-shorts-factory/SKILL.md +0 -358
- package/skills/youtube-shorts-factory/resources/adaptation-guide.md +0 -133
- package/skills/youtube-shorts-factory/resources/storyboard-template.md +0 -271
- package/skills/youtube-shorts-factory/resources/workflow-steps.md +0 -139
- package/studio/ui/dist/assets/ExportCenter-DEyy1vs_.js +0 -1
- package/studio/ui/dist/assets/SettingsModal-CQmsA2A2.js +0 -2
- package/studio/ui/dist/assets/es-AqUfIkAy.js +0 -1
- package/studio/ui/dist/assets/index-C7moXjTY.css +0 -1
- package/studio/ui/dist/assets/index-DdU5QNpY.js +0 -1623
- package/studio/ui/dist/assets/ja-YwiCB4QQ.js +0 -1
- package/studio/ui/dist/assets/ko-CKtBPDze.js +0 -1
- package/studio/ui/dist/assets/zh-CN-DtNEwKWJ.js +0 -1
|
@@ -1,615 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: cartcut-editing
|
|
3
|
-
description: "Edit video in the running Cartcut app: cut editing driven by a transcript, subtitles, trimming and rearranging clips, animated titles and typography. Use whenever the user asks to edit, cut, trim, caption, subtitle, add a title, or restructure a video, or refers to \"the timeline\", \"the project\", or \"my edit\". Requires Cartcut to be open with its MCP bridge connected. Runs in AICUT: the film is film.html, a page per shot, drawn by `aicut look` and `aicut render`."
|
|
4
|
-
license: MIT
|
|
5
|
-
source: "cartesiancs/cartcut"
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# Editing video in Cartcut
|
|
9
|
-
|
|
10
|
-
## Running it in AICUT
|
|
11
|
-
|
|
12
|
-
AICUT's film is `film.html`: it cuts pages, footage, pictures and sound together on tracks. A page is a web page that
|
|
13
|
-
sets `window.film = { frame(t) }` and draws that moment — no framework, no build step, no composition object, no
|
|
14
|
-
`registerRoot`. Five shots are five pages cut together, not one page that changes scene, so each shot stays trimmable
|
|
15
|
-
and replaceable in Studio.
|
|
16
|
-
|
|
17
|
-
```sh
|
|
18
|
-
npx -y @autoaiai/aicut@latest # the manual: the format and the commands, always current
|
|
19
|
-
npx -y @autoaiai/aicut@latest open . # make this folder a film and print Studio's address
|
|
20
|
-
npx -y @autoaiai/aicut@latest look # a contact sheet of the whole film, its sound, and a determinism check
|
|
21
|
-
npx -y @autoaiai/aicut@latest look 4.5 # one frame, full size — look at the PNG, not at the code
|
|
22
|
-
npx -y @autoaiai/aicut@latest render # the MP4, beside film.html
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
Run the manual before the first film: it is authoritative for the format, and this skill is about the method above it.
|
|
26
|
-
|
|
27
|
-
Where the words below name another program's part, it becomes this:
|
|
28
|
-
|
|
29
|
-
| elsewhere | in AICUT |
|
|
30
|
-
|---|---|
|
|
31
|
-
| composition, timeline, project file | `film.html`; tracks and clips inside it |
|
|
32
|
-
| a scene, a sequence, a slide | a page (`pages/<name>.html`) cut onto a track |
|
|
33
|
-
| `useCurrentFrame()`, `interpolate()` | `frame(t)` — the picture depends only on `t`, never on state or `Date.now()` |
|
|
34
|
-
| a still, a screengrab | `aicut look <t>` |
|
|
35
|
-
| `render` / `build` / `export` | `aicut render` (the person can also export from Studio) |
|
|
36
|
-
| a dev server, a preview window | `aicut open` and the Studio address it prints |
|
|
37
|
-
|
|
38
|
-
Hard rules that hold whatever the method says: the picture depends only on `t`; every value in the person's prompt is
|
|
39
|
-
binding; look at the frames `look` writes before saying a film is done.
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
Cartcut is a desktop video editor. It exposes its live timeline over MCP, so
|
|
43
|
-
you are editing the project the user is looking at, in real time. Your edits
|
|
44
|
-
appear in their preview immediately.
|
|
45
|
-
|
|
46
|
-
## Ground rules
|
|
47
|
-
|
|
48
|
-
**Everything is milliseconds.** Timeline milliseconds, absolute, from the start
|
|
49
|
-
of the project. Never seconds, never frames, never timecode. If the user says
|
|
50
|
-
"cut the first 30 seconds", that is `0`–`30000`.
|
|
51
|
-
|
|
52
|
-
**One instruction, one edit.** The batch tools exist so that a request like
|
|
53
|
-
"remove all the silences" is one `remove_ranges` call with fifty ranges, not
|
|
54
|
-
fifty calls. This matters more than it looks: each call is a separate undo
|
|
55
|
-
step, and a user who dislikes the result should get back to where they were
|
|
56
|
-
with one Cmd+Z, not fifty.
|
|
57
|
-
|
|
58
|
-
**Your edits share the user's undo history.** `undo` takes back the last edit
|
|
59
|
-
whoever made it. If you overshoot, undo. Do not try to reconstruct the
|
|
60
|
-
previous state by hand, because you will get it subtly wrong.
|
|
61
|
-
|
|
62
|
-
**Clips are addressed by id.** Get ids from `list_clips`. They change when you
|
|
63
|
-
cut: a split produces a new clip with a new id, and the tool result tells you
|
|
64
|
-
which. Re-read rather than assuming an id survived.
|
|
65
|
-
|
|
66
|
-
**On-screen text has no em-dash, no full stop and no subheading.** That covers
|
|
67
|
-
every title, caption, lower third and graphic you put in the project, whatever
|
|
68
|
-
language it is in. A title is one line of words with nothing under it. The
|
|
69
|
-
rules and how to apply them to transcript text are under
|
|
70
|
-
[Writing text for the screen](#writing-text-for-the-screen); read them before
|
|
71
|
-
the first word you put on screen.
|
|
72
|
-
|
|
73
|
-
## Editing a whole video
|
|
74
|
-
|
|
75
|
-
For anything bigger than a single tweak, the shape is: **look → propose →
|
|
76
|
-
wait → apply once → check**.
|
|
77
|
-
|
|
78
|
-
```
|
|
79
|
-
get_edit_brief() → the project's shape, and a style profile with numbers
|
|
80
|
-
get_transcript() → the words
|
|
81
|
-
analyze_audio() → the silences, the beats
|
|
82
|
-
→ propose in plain English, and WAIT
|
|
83
|
-
apply_edit_plan() → the whole edit, one Cmd+Z
|
|
84
|
-
get_contact_sheet() → look at what you made
|
|
85
|
-
```
|
|
86
|
-
```
|
|
87
|
-
**Propose before you cut.** Four to eight sentences: the shape you have in
|
|
88
|
-
mind, which takes you are keeping and why, where it tightens, whether you are
|
|
89
|
-
adding motion or captions, how long it will run. Then stop and let the user
|
|
90
|
-
answer. An edit they did not ask for is work they have to undo, and the cost of
|
|
91
|
-
asking is one message.
|
|
92
|
-
|
|
93
|
-
**Then apply it in one call.** `apply_edit_plan` puts the whole thing behind a
|
|
94
|
-
single undo. Doing the same work through the individual tools leaves a history
|
|
95
|
-
entry each, and an edit that takes sixty undos to reject is one the user cannot
|
|
96
|
-
reject.
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
### The style profile is where the numbers live
|
|
100
|
-
|
|
101
|
-
`get_edit_brief` returns a profile: cut padding, minimum shot length, how
|
|
102
|
-
often to push in and how hard, which transitions this style uses, how many
|
|
103
|
-
words a caption line holds. **Use its numbers rather than inventing your own**,
|
|
104
|
-
because that is what makes an edit read as one piece instead of a series of
|
|
105
|
-
separate decisions.
|
|
106
|
-
|
|
107
|
-
It is chosen from what the material is, and it tells you why. If the reason
|
|
108
|
-
sounds wrong for what the user wants, say so and offer one of `otherStyles`
|
|
109
|
-
in a sentence rather than guessing.
|
|
110
|
-
|
|
111
|
-
Profiles are files. A user who wants their own taste writes one and drops it in
|
|
112
|
-
their styles folder; nothing about the grammar below is fixed in code.
|
|
113
|
-
|
|
114
|
-
### The rules that do not come from the profile
|
|
115
|
-
|
|
116
|
-
These hold whatever style is in play:
|
|
117
|
-
|
|
118
|
-
1. **Never cut inside a word.** Snap every edge to a word boundary from the
|
|
119
|
-
transcript, then pad it by the profile's `paddingMs`.
|
|
120
|
-
2. **Trim a pause, do not delete it.** Speech with every gap removed sounds
|
|
121
|
-
frantic. The profile's `maxSilenceMs` is what a long pause becomes, not what
|
|
122
|
-
it has to be under.
|
|
123
|
-
3. **Let a move finish before a cut.** A punch-in still travelling when the shot
|
|
124
|
-
changes reads as a mistake.
|
|
125
|
-
4. **One idea per moment.** Do not put a transition on a cut where a clip is
|
|
126
|
-
already moving, and do not stack an effect on a punch-in. Something moving is
|
|
127
|
-
enough.
|
|
128
|
-
5. **A move needs a reason.** Tie it to what the audio or the words mark;
|
|
129
|
-
the profile's `onEmphasis` says whether to. Evenly spaced punch-ins read as a
|
|
130
|
-
tic.
|
|
131
|
-
6. **Cut to `beats`, never to bpm arithmetic**, and only when
|
|
132
|
-
`tempo.confidence` is high.
|
|
133
|
-
7. **Look before you say you are done.** `get_contact_sheet` at the cuts and at
|
|
134
|
-
anything you added. You will find things you cannot predict: a caption on a
|
|
135
|
-
face, a cut on a blink, a title against a white frame.
|
|
136
|
-
8. **Say what you did, in seconds.** "Removed 14 ranges, 22s from a 4m10s clip,
|
|
137
|
-
and put a push-in on the three moments he raises his voice."
|
|
138
|
-
|
|
139
|
-
## Start here, every time
|
|
140
|
-
|
|
141
|
-
```
|
|
142
|
-
get_project_overview → resolution, duration, tracks, how many clips
|
|
143
|
-
list_clips → the clips themselves, with their ids
|
|
144
|
-
```
|
|
145
|
-
```
|
|
146
|
-
Both are small. Do not skip them and guess.
|
|
147
|
-
|
|
148
|
-
Then read the material before deciding anything: `get_transcript` for the words
|
|
149
|
-
and `analyze_audio` for the sound. Both are cached, so the cost is paid once.
|
|
150
|
-
```
|
|
151
|
-
|
|
152
|
-
## Layering
|
|
153
|
-
|
|
154
|
-
The track list reads top to bottom, and the top row is the front of the
|
|
155
|
-
picture: index 0 draws over everything under it, the way V2 sits over V1 in
|
|
156
|
-
Premiere. A clip's layer **is** its track. There is no per-clip "bring to
|
|
157
|
-
front", and `update_clip` will refuse `priority`.
|
|
158
|
-
|
|
159
|
-
So titles and captions belong on a text track above the video, and that is
|
|
160
|
-
where `add_text` and `add_subtitles` put them. When they cannot (a project
|
|
161
|
-
that already has a text track sitting under the picture), the result carries a
|
|
162
|
-
`warning` naming what is stacked over the text, and the fix is one call:
|
|
163
|
-
|
|
164
|
-
```
|
|
165
|
-
move_track({ trackId: "…", toIndex: 0 })
|
|
166
|
-
```
|
|
167
|
-
```
|
|
168
|
-
The same rule is what makes `add_shape` usable as a lower-third bar. The bar
|
|
169
|
-
has to be behind the words and in front of the picture, which means a row
|
|
170
|
-
between the two.
|
|
171
|
-
```
|
|
172
|
-
|
|
173
|
-
## Look at what you made
|
|
174
|
-
|
|
175
|
-
`get_contact_sheet` renders frames of the **composed timeline** into one PNG
|
|
176
|
-
grid and gives you its path. Read that file and you are looking at the picture
|
|
177
|
-
the export would deliver (titles, shapes, filters, effects and all), drawn by
|
|
178
|
-
the exporter's own renderer rather than pulled out of the source.
|
|
179
|
-
|
|
180
|
-
```
|
|
181
|
-
get_contact_sheet({ atMs: [1000, 8000, 15000], columns: 3 })
|
|
182
|
-
get_contact_sheet({ startMs: 0, endMs: 30000, count: 9 })
|
|
183
|
-
```
|
|
184
|
-
```
|
|
185
|
-
Use it when the answer depends on what is actually on screen:
|
|
186
|
-
|
|
187
|
-
- after adding a title: is it legible against what is behind it, and is it
|
|
188
|
-
covering the speaker's face?
|
|
189
|
-
- at a cut: did it land on a black frame or a blink?
|
|
190
|
-
- after keyframing a move: does the move look like what you meant?
|
|
191
|
-
- before telling the user you are done.
|
|
192
|
-
|
|
193
|
-
Every tile carries its own timestamp, so what you see is directly actionable.
|
|
194
|
-
Each frame costs a video seek, so ask about the stretch you care about rather
|
|
195
|
-
than the whole project. If the result carries a `warning`, some footage had
|
|
196
|
-
not finished decoding and those tiles are not to be trusted.
|
|
197
|
-
```
|
|
198
|
-
|
|
199
|
-
## Cut editing from speech
|
|
200
|
-
|
|
201
|
-
This is the main workflow. The judgement is yours; the tools just carry it out.
|
|
202
|
-
|
|
203
|
-
1. `get_transcript` on the clip. Timings come back already mapped to the
|
|
204
|
-
timeline, so you can use them directly.
|
|
205
|
-
2. Decide what to remove. Read the words for long pauses, filler ("um", "uh",
|
|
206
|
-
"like"), false starts, repeated takes where the speaker restarts a sentence,
|
|
207
|
-
tangents the user asked you to drop.
|
|
208
|
-
3. **One** `remove_ranges` call with all of it.
|
|
209
|
-
|
|
210
|
-
```
|
|
211
|
-
remove_ranges({
|
|
212
|
-
elementId: "…",
|
|
213
|
-
ranges: [ {startMs: 3120, endMs: 4020}, {startMs: 9500, endMs: 11200}, … ],
|
|
214
|
-
ripple: true
|
|
215
|
-
})
|
|
216
|
-
```
|
|
217
|
-
```
|
|
218
|
-
Ranges are read against the clip as it is *now*, so you do not have to shift
|
|
219
|
-
later ranges to account for earlier cuts. `ripple: true` (the default) closes
|
|
220
|
-
the gaps, which is what makes speech play continuously; turn it off only when
|
|
221
|
-
the user wants the timing preserved.
|
|
222
|
-
|
|
223
|
-
Two judgement calls worth making deliberately:
|
|
224
|
-
|
|
225
|
-
- **Leave breathing room.** Cutting exactly on the word boundary clips
|
|
226
|
-
consonants and sounds rushed. Around 100ms of padding either side is usually
|
|
227
|
-
right.
|
|
228
|
-
- **Do not cut a pause to nothing.** A conversation with every gap removed
|
|
229
|
-
sounds frantic. Trim long pauses down rather than deleting them.
|
|
230
|
-
|
|
231
|
-
For word-level precision, `get_transcript` with `granularity: "word"`, but it
|
|
232
|
-
is much larger, so scope it with `startMs`/`endMs`.
|
|
233
|
-
|
|
234
|
-
Entries may also carry two things worth acting on:
|
|
235
|
-
|
|
236
|
-
- **`confidence`**, 0–1, where the back end reports one. It measures how sure
|
|
237
|
-
the *recogniser* was, not how sure the speaker sounded. Treat a low score as
|
|
238
|
-
"these may not be the words that were said": check before putting that line
|
|
239
|
-
on screen as a caption, and pick a confident phrase when you need a pull
|
|
240
|
-
quote. A local WhisperX server scores every word; OpenAI scores whole
|
|
241
|
-
segments and no words at all.
|
|
242
|
-
- **`speaker`**, when diarisation is on. This is what lets you cut between
|
|
243
|
-
people, caption them apart, or keep one person's answer and drop the
|
|
244
|
-
question. Segments break on a change of speaker, so a caption line never
|
|
245
|
-
mixes two voices.
|
|
246
|
-
|
|
247
|
-
Both are absent rather than guessed when the back end does not report them.
|
|
248
|
-
```
|
|
249
|
-
|
|
250
|
-
### Listen as well as read
|
|
251
|
-
|
|
252
|
-
The transcript tells you what was said. `analyze_audio` tells you what the
|
|
253
|
-
recording sounds like, and the two disagree more often than you would think:
|
|
254
|
-
|
|
255
|
-
- **Dead air the words cannot show you.** A gap between two sentences is in the
|
|
256
|
-
transcript; the eight seconds of room tone before the speaker starts, the
|
|
257
|
-
breath held mid-take and the silence after the last word are only in the
|
|
258
|
-
signal. Cutting them is most of what makes an edit feel tight.
|
|
259
|
-
- **Where the hits are.** `onsets` are percussive attacks: over music the
|
|
260
|
-
subdivisions, over speech consonants and desk knocks. They are finer than the
|
|
261
|
-
beat, so they are what you snap an exact cut to.
|
|
262
|
-
- **Where the beats are.** `beats` is a measured list, not a grid computed from
|
|
263
|
-
the tempo. Cut on it. Do **not** work out beat times from `tempo.bpm`
|
|
264
|
-
yourself: a grid extrapolated from a rate accumulates error and walks off the
|
|
265
|
-
music, and a drifting grid is worse than none because it still looks
|
|
266
|
-
deliberate. `beats` comes back empty when there is no pulse worth following,
|
|
267
|
-
and empty is the honest answer, because speech has no beat.
|
|
268
|
-
|
|
269
|
-
Use `beats` to decide the *spacing* of cuts and `onsets` to place each one
|
|
270
|
-
exactly.
|
|
271
|
-
|
|
272
|
-
All of it comes back on the timeline, so it pairs straight with `remove_ranges`
|
|
273
|
-
and `split_clip`. It is cached per file, so ask early and ask freely.
|
|
274
|
-
|
|
275
|
-
## Captions
|
|
276
|
-
|
|
277
|
-
`get_transcript` gives timeline-time segments. Take the full stops and dashes
|
|
278
|
-
out of their text (see [Writing text for the screen](#writing-text-for-the-screen)),
|
|
279
|
-
then feed them to `add_subtitles` in one call, all lines:
|
|
280
|
-
|
|
281
|
-
```
|
|
282
|
-
add_subtitles({ items: [ {text: "…", startMs: 0, durationMs: 2400}, … ] })
|
|
283
|
-
```
|
|
284
|
-
```
|
|
285
|
-
They land on a single text track. If the result's `tracks` shows more than one,
|
|
286
|
-
some of your captions overlap in time; check the timings.
|
|
287
|
-
|
|
288
|
-
Styling defaults to a lower third sized from the project's own resolution, so a
|
|
289
|
-
vertical video gets captions in the right place without being told. Pass
|
|
290
|
-
`style` only when the user asks for something specific.
|
|
291
|
-
|
|
292
|
-
Use `add_text` for a single title, `add_subtitles` for anything plural.
|
|
293
|
-
```
|
|
294
|
-
|
|
295
|
-
## Writing text for the screen
|
|
296
|
-
|
|
297
|
-
These rules hold for every word a viewer reads: titles, captions, lower thirds,
|
|
298
|
-
chapter cards, the text of a text clip, every text parameter of a graphic, and
|
|
299
|
-
the default text of a program you write. They hold in Korean, English and every
|
|
300
|
-
other language, and wherever the words came from. You never add any of these
|
|
301
|
-
yourself; words the user dictates for the screen go on exactly as they wrote
|
|
302
|
-
them.
|
|
303
|
-
|
|
304
|
-
**No em-dash, ever.** Not `—`, and nothing standing in for one: no `–`, no
|
|
305
|
-
spaced hyphen ` - `, no `--`. A dash on screen means the line is carrying two
|
|
306
|
-
thoughts. Make it two captions, or keep the half that matters and drop the
|
|
307
|
-
other.
|
|
308
|
-
|
|
309
|
-
**No full stop, ever.** Not at the end of a line, not between two sentences,
|
|
310
|
-
and no ellipsis (`...` or `…`) in its place. A period on screen reads as a typo
|
|
311
|
-
to anyone who watches video, and it is the clearest tell that the text was
|
|
312
|
-
written by something that thinks in prose. A decimal point or a domain inside a
|
|
313
|
-
word (`3.5`, `cartcut.com`) belongs to the word and stays. Keep `?` and `!`
|
|
314
|
-
only where the line really asks or exclaims.
|
|
315
|
-
|
|
316
|
-
**No subheading.** A title is one line of words and nothing else. Nothing goes
|
|
317
|
-
under it and nothing goes over it: no tagline, no explanatory second line, no
|
|
318
|
-
kicker or eyebrow, no "Episode 1", no date, no credit, no small print. A second
|
|
319
|
-
phrase hung off the title by a colon or a bar is the same thing on one line:
|
|
320
|
-
"Seoul: the city that never sleeps" should be "Seoul". Do not reach for a
|
|
321
|
-
second text clip, a second graphic or a second text parameter to hold one. A
|
|
322
|
-
lower third is a name alone unless the user gave you the role to put under it.
|
|
323
|
-
|
|
324
|
-
**Captions follow the same rules.** `get_transcript` returns punctuated
|
|
325
|
-
sentences, so its text arrives with full stops and sometimes dashes, and goes
|
|
326
|
-
on screen only once they are out:
|
|
327
|
-
|
|
328
|
-
- take the full stop off the end of every segment
|
|
329
|
-
- where a segment still holds two sentences, split it at the boundary into two
|
|
330
|
-
captions, timed from `granularity: "word"`
|
|
331
|
-
- where the recogniser wrote a dash, split there or drop it
|
|
332
|
-
- keep every other word as spoken
|
|
333
|
-
|
|
334
|
-
A title lifted from the transcript is the same: "So this is the part that
|
|
335
|
-
matters." becomes a title only once the period comes off.
|
|
336
|
-
|
|
337
|
-
Keep titles short. A screen title that needs a comma usually wants a shorter
|
|
338
|
-
phrase.
|
|
339
|
-
|
|
340
|
-
**Read it back before it goes in.** Before any call that writes words
|
|
341
|
-
(`add_text`, `add_subtitles`, `apply_edit_plan`, `update_clip`, `add_graphic`,
|
|
342
|
-
`set_graphic`, `apply_typography`), look through every string for `—`, `–`,
|
|
343
|
-
` - `, `.` and `…`, and for a second line under a title. Then look at the
|
|
344
|
-
contact sheet, because a preset's sample text you did not overwrite shows up
|
|
345
|
-
there and nowhere in your own call.
|
|
346
|
-
|
|
347
|
-
## Motion that reads as deliberate
|
|
348
|
-
|
|
349
|
-
**Set `easing` on every `add_keyframes` entry, or the move will be soft.** With
|
|
350
|
-
none, a keyframe gets handles that leave and arrive at zero velocity. That is
|
|
351
|
-
the gentlest curve there is, and applied to everything it is the single biggest
|
|
352
|
-
reason agent-made motion drifts instead of landing.
|
|
353
|
-
|
|
354
|
-
An easing shapes the segment *leaving* the entry it is written on (the same
|
|
355
|
-
reading as CSS), so the last entry's is ignored.
|
|
356
|
-
|
|
357
|
-
| Want | Use |
|
|
358
|
-
|---|---|
|
|
359
|
-
| A punch-in that lands | `snap` |
|
|
360
|
-
| A move that passes the target and settles back | `overshoot` |
|
|
361
|
-
| A move that winds up before it goes | `anticipate` |
|
|
362
|
-
| A constant drift, Ken Burns | `linear` |
|
|
363
|
-
| The CSS defaults | `ease_in`, `ease_out`, `ease_in_out` |
|
|
364
|
-
| Anything else | `[x1, y1, x2, y2]` control points |
|
|
365
|
-
|
|
366
|
-
A bounce reverses direction several times, which a single cubic cannot. Author it as several keyframes.
|
|
367
|
-
|
|
368
|
-
**Scale is in tenths**: 10 is unscaled, 12 is 120%.
|
|
369
|
-
|
|
370
|
-
### Reach for a preset first
|
|
371
|
-
|
|
372
|
-
`apply_animation_preset` already has the curve and the length right, and it is
|
|
373
|
-
one undo step:
|
|
374
|
-
|
|
375
|
-
| Want | Preset |
|
|
376
|
-
|---|---|
|
|
377
|
-
| A hard push in | `punch_in` |
|
|
378
|
-
| A slow Ken Burns | `drift` |
|
|
379
|
-
| A zoom that passes its target | `overshoot_in` |
|
|
380
|
-
| Something arriving with life | `pop` |
|
|
381
|
-
| A title landing hard | `slam` |
|
|
382
|
-
| An impact | `shake` |
|
|
383
|
-
| Coming in off-angle | `rotate_settle` |
|
|
384
|
-
| Opacity in or out | `fade_in`, `fade_out` |
|
|
385
|
-
|
|
386
|
-
**Leave `durationMs` off unless you mean it.** Each preset carries the length it
|
|
387
|
-
was designed around, and they differ by more than an order of magnitude: a
|
|
388
|
-
punch is 180ms, a drift is four seconds. A punch stretched to a second is not a
|
|
389
|
-
punch.
|
|
390
|
-
|
|
391
|
-
### Typing a title on
|
|
392
|
-
|
|
393
|
-
A reveal shows a text clip's lettering a piece at a time. It is two things: a
|
|
394
|
-
**unit**, which is what one step shows (`character`, `word` or `line`), and a
|
|
395
|
-
progress from 0 to 100 that is an ordinary keyframe track, `revealProgress`.
|
|
396
|
-
|
|
397
|
-
`apply_typewriter` writes both, and it is what you want:
|
|
398
|
-
|
|
399
|
-
```
|
|
400
|
-
apply_typewriter({ elementIds: ["..."], unit: "word", durationMs: 1200 })
|
|
401
|
-
```
|
|
402
|
-
```
|
|
403
|
-
Give it `durationMs` for a length or `unitsPerSecond` for a speed. Leave the
|
|
404
|
-
easing alone: it defaults to linear, and typing on any other curve arrives
|
|
405
|
-
slowing down, which reads as a stutter rather than as a person at a keyboard.
|
|
406
|
-
Typing that will not fit before the clip ends is compressed rather than started
|
|
407
|
-
earlier, and the result says so.
|
|
408
|
-
|
|
409
|
-
`set_text_reveal` is for adjusting one afterwards, or clearing it with
|
|
410
|
-
`unit: null`. It is also the only way to *create* a reveal, which matters
|
|
411
|
-
because `revealProgress` does not exist until a clip has one: `set_animation`
|
|
412
|
-
and `add_keyframes` both refuse the property until then.
|
|
413
|
-
```
|
|
414
|
-
|
|
415
|
-
### Zooming towards something
|
|
416
|
-
|
|
417
|
-
Scale animates about the clip's **centre**, so a zoom always converges on the
|
|
418
|
-
middle. To punch in on a face at the left of frame, pass `focus`, a point in
|
|
419
|
-
the clip's own box from 0 to 100 per axis, and the preset pushes the picture the other
|
|
420
|
-
way as it grows so that point stays put. `{x: 50, y: 50}` is the centre and
|
|
421
|
-
changes nothing. Hand-authored keyframes get no such help: there you have to
|
|
422
|
-
counter-animate `position` yourself.
|
|
423
|
-
|
|
424
|
-
## Other edits
|
|
425
|
-
|
|
426
|
-
| Want to | Use |
|
|
427
|
-
|---|---|
|
|
428
|
-
| Cut without deleting | `split_clip` |
|
|
429
|
-
| Fuse clips a cut no longer needs | `merge_clips` |
|
|
430
|
-
| Change where a clip starts or ends | `trim_clip` (absolute times) |
|
|
431
|
-
| Reorder or restage clips | `move_clips` |
|
|
432
|
-
| Delete outright | `delete_clips` (`ripple: true` closes the gap) |
|
|
433
|
-
| Change which clip draws on top | `move_track` |
|
|
434
|
-
| Keep part of the frame, hide the rest | `set_crop` (fractions, as `get_clip` reports) |
|
|
435
|
-
| Flip a clip, or turn footage shot sideways | `set_mirror`, `rotate_clips` |
|
|
436
|
-
| Round a video or image's corners into a card | `update_clip` `{cornerRadius}` (clip px), with `set_clip_decoration` for its border and shadow |
|
|
437
|
-
| Cut picture and sound apart | `detach_audio` |
|
|
438
|
-
| Type a title on, a piece at a time | `apply_typewriter` |
|
|
439
|
-
| Change text, colour, position, size, opacity | `update_clip` |
|
|
440
|
-
| Show the user what you did | `select_clips`, then `set_playhead` |
|
|
441
|
-
|
|
442
|
-
Timing is deliberately not writable through `update_clip`. `startTime`,
|
|
443
|
-
`duration` and `trim` are coupled, and writing one without the others produces
|
|
444
|
-
a clip that previews correctly and exports wrong. Use `trim_clip` and
|
|
445
|
-
`move_clips`.
|
|
446
|
-
|
|
447
|
-
## Confirm before large destruction
|
|
448
|
-
|
|
449
|
-
Cutting a few seconds out of a clip is ordinary work; just do it. But say what
|
|
450
|
-
you are about to do, and wait, when the edit is:
|
|
451
|
-
|
|
452
|
-
- most of a clip, or a whole clip
|
|
453
|
-
- more than a handful of clips at once
|
|
454
|
-
- anything the user described vaguely enough that you are guessing
|
|
455
|
-
|
|
456
|
-
Report what you actually removed afterwards, in seconds, so they can judge it:
|
|
457
|
-
"removed 14 ranges, 22s in total, from a 4m10s clip."
|
|
458
|
-
|
|
459
|
-
## When things do not work
|
|
460
|
-
|
|
461
|
-
- **Tools are missing entirely**: Cartcut is not running, or the bridge is
|
|
462
|
-
off. Ask the user to open it. The ⚡ icon at the bottom right of the window
|
|
463
|
-
reports whether the bridge is up, and carries the connection details.
|
|
464
|
-
- **"editor window is not available"**: the app is starting up, or was closed.
|
|
465
|
-
- **`get_transcript` fails**: transcription needs either a local
|
|
466
|
-
speech-to-text server or an OpenAI API key, both set in that same panel.
|
|
467
|
-
- **An edit returns `ok: false`**: it was declined, not failed, and nothing
|
|
468
|
-
changed. The `reason` says what was in the way, usually a neighbouring clip
|
|
469
|
-
or times that miss the clip entirely.
|
|
470
|
-
|
|
471
|
-
## Transitions and effects
|
|
472
|
-
|
|
473
|
-
Both are real, both export, and both are yours.
|
|
474
|
-
|
|
475
|
-
**A transition sits on a cut**, not on a clip: it mixes two rendered frames,
|
|
476
|
-
so it needs the outgoing and incoming clip. `list_cuts` finds them:
|
|
477
|
-
|
|
478
|
-
```
|
|
479
|
-
list_cuts() → fromId, toId, and how long it could be
|
|
480
|
-
list_transition_presets() → 37 of them, with their parameters
|
|
481
|
-
add_transition({ fromId, toId, presetId: "…" })
|
|
482
|
-
```
|
|
483
|
-
```
|
|
484
|
-
Neither clip moves or is trimmed. The frames the mix needs are the ones already
|
|
485
|
-
in the files either side of the trim, and where the source runs out the clip
|
|
486
|
-
holds its last frame; `realFootageMs` from `list_cuts` says how much would be
|
|
487
|
-
real. A short dissolve that freezes slightly is normal; trim the clips if you
|
|
488
|
-
want it all real.
|
|
489
|
-
|
|
490
|
-
Reach for a cross-dissolve when the cut should be invisible, and for `whip-pan`,
|
|
491
|
-
`cross-zoom`, `glitch` or `flash` when it should be felt. Do not stack one on
|
|
492
|
-
top of a punch-in, where the clip is already moving.
|
|
493
|
-
|
|
494
|
-
**An effect applies to everything painted beneath it.** It gets its own row,
|
|
495
|
-
and where that row sits *is* the control: the first one lands at the very top,
|
|
496
|
-
covering the whole composite, and you narrow it by moving its track down.
|
|
497
|
-
```
|
|
498
|
-
```
|
|
499
|
-
list_effect_presets({ category: "texture" })
|
|
500
|
-
add_effect({ presetId: "…", startMs, durationMs, intensity: 60 })
|
|
501
|
-
```
|
|
502
|
-
```
|
|
503
|
-
`intensity` animates: `set_animation` and `add_keyframes` with `intensity`
|
|
504
|
-
fade an effect in and out on one clip, and any `number` parameter animates the
|
|
505
|
-
same way as `fx:<key>`.
|
|
506
|
-
|
|
507
|
-
**An effect inside a shape applies only there.** A shape can carry any effect
|
|
508
|
-
or LUT preset as its backdrop: it runs over everything painted beneath the
|
|
509
|
-
shape, inside its outline, and leaves the rest of the frame alone. That is how
|
|
510
|
-
to blur or pixelate a face or a licence plate, frost a panel behind a caption,
|
|
511
|
-
or smear one band sideways.
|
|
512
|
-
```
|
|
513
|
-
```
|
|
514
|
-
add_shape({ kind: "ellipse", x, y, width, height, startMs, durationMs,
|
|
515
|
-
backdrop: { presetId: "com.cartcut.pixelate", params: { size: 24 } } })
|
|
516
|
-
set_shape_backdrop({ elementIds: [id], presetId: "com.cartcut.gaussian-blur" })
|
|
517
|
-
set_shape_backdrop({ elementIds: [id], presetId: "com.cartcut.motion-blur",
|
|
518
|
-
params: { length: 60, angle: 0 } })
|
|
519
|
-
```
|
|
520
|
-
```
|
|
521
|
-
The first backdrop switches the shape's fill off, so only the effect shows;
|
|
522
|
-
pass `fillOpacity` to keep some of the fill as a tint. To follow a moving face,
|
|
523
|
-
parent the shape to a null that tracks it with `set_clip_parent` (Auto Track
|
|
524
|
-
in the app makes one). The null follows position only, so draw the ellipse
|
|
525
|
-
with room to spare rather than tight to the face. Track order decides what is
|
|
526
|
-
beneath, as for any clip: the shape belongs above the footage and below the
|
|
527
|
-
captions. If the preset cannot run, the shape draws its fill solid instead of
|
|
528
|
-
going see-through, and `get_clip` reports `backdrop.draws: false`; check it on
|
|
529
|
-
anything that hides someone's identity, and look at a frame with
|
|
530
|
-
`get_contact_sheet` before you call it done.
|
|
531
|
-
```
|
|
532
|
-
|
|
533
|
-
## Typography and graphics
|
|
534
|
-
|
|
535
|
-
A **graphic** is a layer drawn by a program: HTML and CSS for lettering, GLSL
|
|
536
|
-
for a generated background. It is a box like an image, so moving, sizing,
|
|
537
|
-
fading, keyframing, blending, grading and masking it are the tools you already
|
|
538
|
-
use. Reach for one whenever a title needs more than a text clip can do: motion
|
|
539
|
-
per letter or per word, an exit as well as an entrance, 3D, text on a path,
|
|
540
|
-
vertical writing, gradients or pictures inside the letters, several outlines or
|
|
541
|
-
a long shadow, a counter.
|
|
542
|
-
|
|
543
|
-
**Start from a preset.** `list_graphic_presets` has two dozen, grouped as
|
|
544
|
-
kinetic, stylized, distort, reveal, layout and background, each with the
|
|
545
|
-
parameters it takes (the text and the font among them).
|
|
546
|
-
|
|
547
|
-
```
|
|
548
|
-
list_graphic_presets({ category: "kinetic" })
|
|
549
|
-
add_graphic({ presetId: "com.cartcut.graphic.rise-in-out", startMs: 2000,
|
|
550
|
-
params: { title: "오늘의 레시피" } })
|
|
551
|
-
```
|
|
552
|
-
```
|
|
553
|
-
Lettering lands on a text row in front of the picture and a GLSL background on
|
|
554
|
-
a video row behind it. The box defaults to the preset's design size, centred.
|
|
555
|
-
|
|
556
|
-
**A title graphic shows the title and nothing under it.** Every parameter you
|
|
557
|
-
leave out keeps its default, and several presets ship a second line of sample
|
|
558
|
-
text: `lower-third-card`'s `role` ("Director of Photography"), `quote-card`'s
|
|
559
|
-
`author`, `ruby-title`'s `kicker` over the title and `counter`'s `label` under
|
|
560
|
-
the figure. Pass `""` for each of those, and for any other text parameter in
|
|
561
|
-
`list_graphic_presets` that draws a line of its own beside the title, unless the
|
|
562
|
-
user gave you its words. A ruby `reading` glosses the title itself and stays.
|
|
563
|
-
The defaults come back the same way through `apply_typography`, which fills
|
|
564
|
-
only the parameters its `bindings` name, and through `set_graphic` when it swaps
|
|
565
|
-
the preset, which resets every parameter.
|
|
566
|
-
|
|
567
|
-
**To restyle a title that already exists**, convert it rather than deleting and
|
|
568
|
-
re-adding: `apply_typography({ clipIds, presetId })` replaces each text clip in
|
|
569
|
-
place, keeping its id, row, timing, box and keyframes, and carries the text,
|
|
570
|
-
font, colour, size and alignment into the preset. Its result lists per clip
|
|
571
|
-
what did not carry (`dropped`: runs, a reveal, outline, shadow and so on), so
|
|
572
|
-
say so to the user or restyle it in the program.
|
|
573
|
-
|
|
574
|
-
**Write your own when no preset fits.** Pass a `program` instead of a
|
|
575
|
-
`presetId` to `add_graphic`, `set_graphic` or `apply_typography`. The contract,
|
|
576
|
-
every variable the host provides, what CSS is allowed and the recipes for the
|
|
577
|
-
matrix of effects is in `references/html-typography.md` beside this file (also
|
|
578
|
-
served as the MCP resource `skill://cartcut-editing/references/html-typography.md`).
|
|
579
|
-
Read it before writing one. A title program has one text parameter and one
|
|
580
|
-
element showing it, with no second line anywhere in its markup. The loop is:
|
|
581
|
-
```
|
|
582
|
-
```
|
|
583
|
-
check_program({ program, renderAtMs: [0, 400, 1200, 3600] })
|
|
584
|
-
→ errors with line numbers, warnings, and a filmstrip PNG
|
|
585
|
-
→ open the PNG and look at it, fix, check again
|
|
586
|
-
add_graphic({ program, startMs, durationMs })
|
|
587
|
-
get_contact_sheet() → see it composited with the picture
|
|
588
|
-
```
|
|
589
|
-
```
|
|
590
|
-
Look at the filmstrip every time. Typography is judged by eye, and most
|
|
591
|
-
mistakes (a word wrapping where it should not, a letter clipped at the box edge,
|
|
592
|
-
an exit that never plays) are invisible in the source and obvious in the strip.
|
|
593
|
-
|
|
594
|
-
Three habits that save a round trip:
|
|
595
|
-
|
|
596
|
-
- **Use the font parameter**, never a literal `font-family`. A face named in CSS
|
|
597
|
-
exists only on the machine that wrote it; a font parameter travels with the
|
|
598
|
-
project. `bundled:<file>` names a face every install has.
|
|
599
|
-
- **Korean wraps by eojeol only with `word-break: keep-all`.** Put it on every
|
|
600
|
-
text block, and `text-wrap: balance` on titles.
|
|
601
|
-
- **Give motion room.** Drawing is clipped to the box plus `bleed`, so a glow, a
|
|
602
|
-
3D flip or letters flying in need `bleed` in the manifest.
|
|
603
|
-
|
|
604
|
-
`save_program_as_preset` keeps a program you wrote as an installed preset, for
|
|
605
|
-
this project and every later one.
|
|
606
|
-
```
|
|
607
|
-
|
|
608
|
-
## What is not here yet
|
|
609
|
-
|
|
610
|
-
Nothing about the picture is missing any more.
|
|
611
|
-
|
|
612
|
-
## Source
|
|
613
|
-
|
|
614
|
-
Rewritten for AICUT from [`cartesiancs/cartcut`](https://github.com/cartesiancs/cartcut)
|
|
615
|
-
(MIT), plugins/cartcut-editing/skills/cartcut-editing/SKILL.md. The method is that skill's own; the way it runs is AICUT's.
|