luckiest-co 1.0.32 → 1.0.34

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.
Files changed (478) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/commands/plan.md +1 -0
  4. package/package.json +1 -1
  5. package/skills/luckiest-plan/SKILL.md +1 -0
  6. package/skills/luckiest-research/CHANGELOG.md +5 -0
  7. package/skills/luckiest-research/SKILL.md +8 -4
  8. package/skills/luckiest-video-studio/ATTRIBUTION.md +11 -0
  9. package/skills/luckiest-video-studio/CHANGELOG.md +56 -0
  10. package/skills/luckiest-video-studio/SKILL.md +35 -7
  11. package/skills/luckiest-video-studio/references/audio.md +61 -10
  12. package/skills/luckiest-video-studio/references/lessons.md +44 -0
  13. package/skills/luckiest-video-studio/references/step-2-plan.md +32 -1
  14. package/skills/luckiest-video-studio/references/step-3-compose.md +28 -0
  15. package/skills/luckiest-video-studio/references/step-4-deliver.md +24 -1
  16. package/skills/luckiest-video-studio/references/storyboard.md +24 -3
  17. package/skills/luckiest-video-studio/scripts/qa.mjs +167 -5
  18. package/skills/luckiest-video-studio/scripts/qa.test.mjs +99 -1
  19. package/skills/luckiest-video-studio/scripts/render-scenes.mjs +196 -71
  20. package/skills/luckiest-video-studio/scripts/render-scenes.test.mjs +109 -0
  21. package/skills/luckiest-video-studio/scripts/sfx-cues.mjs +116 -0
  22. package/skills/luckiest-video-studio/scripts/sfx-cues.test.mjs +76 -0
  23. package/skills/luckiest-video-studio/scripts/stamp-format.mjs +26 -0
  24. package/skills/luckiest-video-studio/scripts/storyboard.schema.json +23 -0
  25. package/skills/luckiest-video-studio/templates/logo-line-draw.html +12 -5
  26. package/skills/luckiest-video-studio-art-director/ATTRIBUTION.md +1 -0
  27. package/skills/luckiest-video-studio-art-director/CHANGELOG.md +8 -0
  28. package/skills/luckiest-video-studio-art-director/SKILL.md +18 -5
  29. package/skills/luckiest-video-studio-cards/CHANGELOG.md +18 -0
  30. package/skills/luckiest-video-studio-cards/SKILL.md +22 -7
  31. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-overview-agenda.html +17 -6
  32. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-overview-bigtype.html +15 -5
  33. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-overview-board.html +20 -6
  34. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-overview-checklist.html +27 -6
  35. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-overview-compare.html +40 -9
  36. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-overview-deck.html +26 -6
  37. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-overview-dossier.html +28 -9
  38. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-overview-filmstrip.html +36 -5
  39. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-overview-grid6.html +24 -6
  40. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-overview-indexset.html +34 -6
  41. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-overview-maplegend.html +39 -8
  42. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-overview-matrix.html +35 -7
  43. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-overview-numlist.html +26 -7
  44. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-overview-outline.html +26 -6
  45. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-overview-phases.html +34 -7
  46. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-overview-quad.html +41 -10
  47. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-overview-roadmap.html +66 -17
  48. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-overview-stepper.html +42 -7
  49. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-overview-toc.html +26 -8
  50. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-overview-vtimeline.html +35 -9
  51. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-section-bracket.html +16 -4
  52. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-section-circle.html +21 -5
  53. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-section-classified.html +25 -7
  54. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-section-collage.html +27 -9
  55. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-section-correction.html +19 -7
  56. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-section-crt.html +15 -4
  57. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-section-cutout.html +18 -8
  58. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-section-fullbleed.html +18 -5
  59. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-section-highlight.html +15 -5
  60. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-section-indexcard.html +18 -5
  61. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-section-map.html +20 -8
  62. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-section-markerbox.html +12 -5
  63. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-section-numeral.html +21 -7
  64. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-section-split.html +25 -9
  65. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-section-stacked.html +26 -10
  66. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-section-stamp.html +14 -5
  67. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-section-ticker.html +26 -9
  68. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-section-tornstrip.html +13 -4
  69. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-stat-annotated.html +29 -9
  70. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-stat-arc.html +25 -7
  71. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-stat-axis.html +34 -14
  72. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-stat-bar.html +17 -8
  73. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-stat-bracket.html +24 -8
  74. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-stat-calendar.html +24 -9
  75. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-stat-callout.html +24 -5
  76. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-stat-columns.html +27 -9
  77. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-stat-corner.html +22 -9
  78. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-stat-dots.html +27 -8
  79. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-stat-engraving.html +30 -8
  80. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-stat-footnote.html +20 -8
  81. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-stat-frac.html +24 -8
  82. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-stat-heat.html +22 -8
  83. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-stat-isotype.html +29 -8
  84. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-stat-ledger.html +18 -6
  85. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-stat-left.html +27 -10
  86. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-stat-magnifier.html +21 -8
  87. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-stat-map.html +21 -9
  88. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-stat-meter.html +26 -9
  89. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-stat-multiplier.html +27 -12
  90. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-stat-odo.html +18 -5
  91. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-stat-pack.html +41 -17
  92. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-stat-photo.html +18 -7
  93. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-stat-pie.html +25 -8
  94. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-stat-postage.html +24 -8
  95. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-stat-pricetag.html +25 -11
  96. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-stat-quote.html +21 -8
  97. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-stat-ranking.html +25 -10
  98. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-stat-receipt.html +24 -12
  99. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-stat-ribbon.html +34 -12
  100. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-stat-semi.html +22 -7
  101. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-stat-spotlight.html +23 -9
  102. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-stat-stamp.html +24 -7
  103. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-stat-steps.html +30 -9
  104. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-stat-tape.html +33 -12
  105. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-stat-torn.html +22 -9
  106. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-stat-trend.html +23 -9
  107. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-stat-vs.html +30 -10
  108. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-stat-window.html +38 -25
  109. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-stat.html +23 -4
  110. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier1/t1-timeline.html +41 -6
  111. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier2/t2-label.html +10 -3
  112. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier2/t2-lb-bracket.html +9 -2
  113. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier2/t2-lb-caption.html +12 -5
  114. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier2/t2-lb-circle.html +10 -3
  115. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier2/t2-lb-definition.html +10 -3
  116. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier2/t2-lb-footnote.html +11 -4
  117. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier2/t2-lb-magnify.html +9 -2
  118. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier2/t2-lb-pin.html +9 -2
  119. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier2/t2-lb-pullquote.html +10 -3
  120. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier2/t2-lb-spotlight.html +15 -2
  121. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier2/t2-lb-sticky.html +9 -2
  122. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier2/t2-lb-tag.html +10 -3
  123. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier2/t2-lb-underline.html +9 -2
  124. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier2/t2-lower-third.html +9 -2
  125. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier2/t2-lt-badge.html +10 -3
  126. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier2/t2-lt-barslab.html +26 -7
  127. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier2/t2-lt-bracket.html +9 -2
  128. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier2/t2-lt-clapper.html +9 -2
  129. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier2/t2-lt-highlight.html +9 -2
  130. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier2/t2-lt-indextab.html +10 -3
  131. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier2/t2-lt-rail.html +9 -2
  132. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier2/t2-lt-ribbon.html +9 -2
  133. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier2/t2-lt-stacked.html +9 -2
  134. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier2/t2-lt-stamp.html +9 -2
  135. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier2/t2-lt-sticky.html +9 -2
  136. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/cards/tier2/t2-lt-typecard.html +9 -2
  137. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/style.json +1 -1
  138. package/skills/luckiest-video-studio-cards/packs/01-paper-collage/tokens.css +18 -8
  139. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-overview-agenda.html +23 -5
  140. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-overview-beforeafter.html +30 -6
  141. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-overview-bento.html +34 -8
  142. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-overview-bigleft.html +28 -6
  143. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-overview-callouts.html +36 -7
  144. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-overview-cardrow5.html +17 -4
  145. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-overview-checklist.html +11 -3
  146. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-overview-cycle.html +30 -6
  147. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-overview-dashboard.html +32 -5
  148. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-overview-deck2.html +21 -5
  149. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-overview-deck3.html +18 -4
  150. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-overview-duallist.html +24 -4
  151. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-overview-featurecompare.html +19 -5
  152. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-overview-featuregrid.html +25 -4
  153. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-overview-flashcards.html +22 -5
  154. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-overview-flow.html +23 -4
  155. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-overview-funnel.html +19 -5
  156. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-overview-gantt.html +22 -6
  157. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-overview-grid6.html +17 -4
  158. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-overview-grid9.html +15 -4
  159. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-overview-iconlist.html +18 -3
  160. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-overview-journey.html +41 -6
  161. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-overview-kpirow.html +24 -6
  162. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-overview-layers.html +20 -5
  163. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-overview-legend.html +19 -4
  164. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-overview-levels.html +19 -5
  165. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-overview-logowall.html +18 -6
  166. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-overview-mappoints.html +18 -5
  167. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-overview-matrix.html +24 -6
  168. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-overview-milestones.html +38 -5
  169. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-overview-mindmap.html +35 -12
  170. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-overview-nested.html +13 -5
  171. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-overview-network.html +76 -31
  172. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-overview-notifs.html +21 -3
  173. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-overview-numlist.html +16 -4
  174. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-overview-orgchart.html +36 -16
  175. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-overview-outline.html +17 -3
  176. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-overview-phases.html +23 -5
  177. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-overview-pipeline.html +25 -4
  178. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-overview-pricing.html +36 -8
  179. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-overview-profiles.html +20 -5
  180. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-overview-proscons.html +21 -6
  181. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-overview-pyramid.html +17 -4
  182. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-overview-quad.html +13 -5
  183. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-overview-quotegrid.html +19 -5
  184. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-overview-ranked.html +19 -5
  185. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-overview-roadmap.html +27 -5
  186. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-overview-spectrum.html +29 -6
  187. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-overview-split3.html +24 -5
  188. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-overview-spotlightcard.html +34 -8
  189. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-overview-statgrid.html +17 -5
  190. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-overview-steps.html +25 -4
  191. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-overview-summary.html +22 -5
  192. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-overview-tiercompare.html +29 -6
  193. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-overview-timeline.html +26 -5
  194. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-overview-toc.html +15 -5
  195. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-overview-tree.html +40 -15
  196. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-overview-tricards.html +22 -4
  197. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-overview-venn.html +34 -9
  198. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-overview-vstable.html +24 -5
  199. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-section-ascend.html +10 -4
  200. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-section-aurora-bars.html +12 -4
  201. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-section-beam.html +11 -4
  202. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-section-boxed.html +26 -13
  203. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-section-breath.html +14 -3
  204. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-section-chaptercard.html +13 -4
  205. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-section-column-light.html +17 -9
  206. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-section-constellation.html +15 -6
  207. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-section-countdown.html +10 -4
  208. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-section-curtain.html +9 -3
  209. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-section-dawn.html +13 -4
  210. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-section-depth.html +18 -12
  211. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-section-divider.html +10 -3
  212. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-section-drift-grid.html +11 -4
  213. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-section-duotone.html +16 -4
  214. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-section-eclipse.html +11 -4
  215. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-section-emblem.html +12 -5
  216. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-section-flare-sweep.html +14 -6
  217. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-section-glow-rule.html +22 -13
  218. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-section-gradient-word.html +15 -5
  219. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-section-gridfloor.html +16 -2
  220. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-section-halo.html +16 -5
  221. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-section-horizon.html +16 -4
  222. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-section-index.html +25 -9
  223. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-section-kinetic.html +10 -3
  224. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-section-lensflare.html +10 -3
  225. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-section-liquid.html +12 -5
  226. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-section-marquee.html +34 -25
  227. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-section-mesh.html +13 -4
  228. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-section-monolith.html +9 -3
  229. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-section-node-title.html +17 -1
  230. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-section-numeral.html +13 -4
  231. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-section-orb.html +12 -2
  232. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-section-orbit.html +9 -1
  233. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-section-particles.html +7 -1
  234. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-section-pill.html +7 -1
  235. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-section-portal.html +14 -2
  236. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-section-prism.html +15 -2
  237. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-section-question.html +14 -2
  238. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-section-quoteopen.html +11 -2
  239. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-section-reveal-mask.html +6 -1
  240. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-section-ribbon.html +12 -1
  241. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-section-ripple.html +8 -1
  242. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-section-searchbar.html +15 -2
  243. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-section-slab.html +9 -2
  244. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-section-sphere-top.html +12 -3
  245. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-section-split-reveal.html +24 -7
  246. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-section-splitpanel.html +27 -4
  247. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-section-spotlight-cone.html +16 -3
  248. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-section-spotlight.html +10 -2
  249. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-section-stack.html +17 -4
  250. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-section-stacked-words.html +14 -3
  251. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-section-starfield.html +7 -1
  252. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-section-sweep.html +11 -2
  253. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-section-tunnel.html +14 -4
  254. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-section-type-scale.html +9 -2
  255. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-section-typed.html +9 -2
  256. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-section-underline-grow.html +13 -1
  257. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-section-waveform.html +11 -2
  258. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-section-wordmark.html +11 -3
  259. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-stat-annot.html +22 -7
  260. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-stat-beforeafter.html +23 -6
  261. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-stat-bigpercent.html +10 -3
  262. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-stat-bracketstat.html +13 -3
  263. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-stat-bubble.html +7 -3
  264. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-stat-cbars.html +8 -3
  265. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-stat-clockface.html +8 -4
  266. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-stat-column.html +12 -4
  267. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-stat-compass.html +7 -3
  268. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-stat-counterpill.html +11 -3
  269. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-stat-curve.html +22 -10
  270. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-stat-delta.html +13 -4
  271. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-stat-dial.html +9 -3
  272. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-stat-donut.html +15 -4
  273. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-stat-dotgrid.html +14 -4
  274. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-stat-figure.html +9 -3
  275. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-stat-fillshape.html +11 -3
  276. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-stat-fraction.html +11 -5
  277. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-stat-funnel.html +24 -8
  278. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-stat-growtharrow.html +18 -4
  279. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-stat-heatcell.html +8 -3
  280. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-stat-isotype.html +16 -4
  281. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-stat-layered.html +10 -3
  282. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-stat-mega.html +9 -3
  283. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-stat-meter.html +9 -4
  284. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-stat-milestone.html +9 -3
  285. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-stat-money.html +16 -4
  286. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-stat-multiplier.html +12 -4
  287. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-stat-multiring.html +10 -3
  288. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-stat-needle.html +10 -3
  289. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-stat-nodes.html +50 -9
  290. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-stat-odometer.html +9 -4
  291. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-stat-orbitmoons.html +21 -8
  292. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-stat-orbitstat.html +9 -3
  293. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-stat-pair.html +18 -3
  294. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-stat-percentile.html +11 -3
  295. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-stat-pictobar.html +11 -4
  296. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-stat-polar.html +12 -2
  297. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-stat-quotestat.html +15 -5
  298. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-stat-radialbars.html +18 -6
  299. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-stat-range.html +12 -5
  300. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-stat-rank.html +13 -5
  301. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-stat-ratio.html +10 -5
  302. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-stat-ring.html +10 -3
  303. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-stat-risewall.html +18 -2
  304. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-stat-score.html +11 -4
  305. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-stat-segbar.html +9 -3
  306. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-stat-semigauge.html +9 -4
  307. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-stat-sparkline.html +9 -3
  308. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-stat-spectrum.html +9 -2
  309. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-stat-split.html +14 -4
  310. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-stat-stackedbars.html +9 -4
  311. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-stat-tickerstat.html +18 -5
  312. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-stat-tiles.html +18 -4
  313. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-stat-timer.html +14 -4
  314. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-stat-trendline.html +18 -4
  315. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-stat-underscore.html +9 -3
  316. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-stat-versus.html +18 -5
  317. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-stat-waffle.html +18 -4
  318. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier1/t1-stat-waterfall.html +9 -4
  319. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lb-badge.html +13 -4
  320. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lb-brace.html +13 -4
  321. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lb-bracket.html +13 -4
  322. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lb-bubble.html +16 -4
  323. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lb-byline.html +17 -5
  324. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lb-callout.html +13 -4
  325. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lb-category.html +14 -5
  326. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lb-checkmark.html +13 -4
  327. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lb-chipstat.html +13 -4
  328. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lb-comparemini.html +14 -5
  329. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lb-coord.html +26 -8
  330. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lb-counter.html +17 -6
  331. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lb-crosshair.html +18 -6
  332. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lb-dashed.html +19 -5
  333. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lb-definition.html +14 -5
  334. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lb-deltachip.html +15 -6
  335. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lb-eyebrow.html +14 -5
  336. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lb-fact.html +14 -5
  337. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lb-flag.html +20 -7
  338. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lb-formula.html +17 -7
  339. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lb-hash.html +17 -5
  340. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lb-highlightbox.html +13 -4
  341. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lb-iconchip.html +13 -4
  342. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lb-info.html +14 -5
  343. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lb-infocard.html +13 -4
  344. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lb-keycap.html +13 -4
  345. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lb-keyword.html +12 -3
  346. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lb-leader.html +16 -5
  347. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lb-legend.html +14 -5
  348. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lb-measure.html +14 -5
  349. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lb-meterchip.html +16 -7
  350. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lb-metric.html +15 -6
  351. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lb-micropie.html +15 -6
  352. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lb-minibar.html +15 -6
  353. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lb-node.html +28 -18
  354. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lb-note.html +14 -5
  355. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lb-numbercallout.html +18 -6
  356. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lb-percent.html +15 -6
  357. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lb-pointer.html +31 -22
  358. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lb-price.html +20 -8
  359. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lb-progress.html +15 -6
  360. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lb-pulse.html +14 -5
  361. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lb-qmark.html +15 -6
  362. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lb-quote.html +16 -7
  363. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lb-rating.html +14 -5
  364. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lb-ribbon.html +19 -6
  365. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lb-ringmark.html +27 -17
  366. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lb-search.html +14 -5
  367. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lb-sparkchip.html +15 -6
  368. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lb-spec.html +25 -13
  369. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lb-status.html +15 -6
  370. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lb-step.html +16 -7
  371. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lb-tag.html +14 -5
  372. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lb-takeaway.html +13 -4
  373. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lb-tcode.html +18 -6
  374. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lb-timestamp.html +15 -6
  375. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lb-toast.html +15 -6
  376. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lb-tooltip.html +14 -5
  377. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lb-underline.html +14 -5
  378. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lb-warning.html +16 -7
  379. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lt-avatar.html +12 -5
  380. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lt-badgecard.html +12 -6
  381. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lt-barslide.html +11 -5
  382. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lt-bracket.html +20 -7
  383. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lt-brandbar.html +13 -7
  384. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lt-bug.html +12 -5
  385. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lt-capsule.html +14 -5
  386. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lt-chapterbar.html +12 -5
  387. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lt-chip.html +11 -5
  388. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lt-cinemastrip.html +20 -8
  389. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lt-cite.html +12 -6
  390. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lt-clockname.html +11 -5
  391. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lt-coordbar.html +16 -6
  392. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lt-corner.html +11 -5
  393. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lt-cornerframe.html +16 -6
  394. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lt-countbar.html +13 -7
  395. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lt-dividername.html +26 -6
  396. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lt-dotline.html +11 -5
  397. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lt-doublecard.html +12 -6
  398. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lt-dual.html +12 -6
  399. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lt-edgebar.html +11 -5
  400. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lt-flipcard.html +15 -5
  401. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lt-geopin.html +11 -5
  402. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lt-glasscard.html +11 -5
  403. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lt-gradient.html +11 -5
  404. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lt-gradientbar.html +12 -4
  405. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lt-handlebar.html +11 -5
  406. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lt-infochips.html +11 -5
  407. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lt-lensbar.html +25 -12
  408. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lt-live.html +12 -6
  409. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lt-location.html +14 -6
  410. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lt-logolock.html +14 -6
  411. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lt-micname.html +14 -6
  412. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lt-minicard.html +13 -5
  413. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lt-minimal.html +13 -5
  414. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lt-nameplate3d.html +13 -5
  415. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lt-neonframe.html +14 -5
  416. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lt-neonpill.html +13 -6
  417. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lt-nowplaying.html +15 -7
  418. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lt-orbitbadge.html +13 -5
  419. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lt-pill.html +14 -6
  420. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lt-portraitframe.html +14 -6
  421. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lt-progressname.html +13 -5
  422. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lt-quote.html +15 -7
  423. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lt-ratingname.html +14 -6
  424. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lt-ribbon.html +13 -5
  425. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lt-sidebracket.html +13 -5
  426. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lt-slidetab.html +15 -6
  427. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lt-social.html +14 -6
  428. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lt-spotlightname.html +14 -6
  429. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lt-stacked.html +13 -5
  430. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lt-statline.html +13 -5
  431. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lt-tagrow.html +14 -5
  432. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lt-thinstrip.html +18 -8
  433. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lt-ticker.html +29 -7
  434. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lt-titlebar.html +19 -5
  435. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lt-trust.html +16 -8
  436. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lt-typedname.html +13 -5
  437. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lt-underbar.html +13 -5
  438. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/cards/tier2/t2-lt-waveband.html +14 -6
  439. package/skills/luckiest-video-studio-cards/packs/02-aurora-glass/tokens.css +18 -8
  440. package/skills/luckiest-video-studio-cards/packs/_blueprint/cards/tier1/t1-stat.html +4 -2
  441. package/skills/luckiest-video-studio-cards/packs/_blueprint/cards/tier2/t2-list.html +5 -2
  442. package/skills/luckiest-video-studio-cards/packs/_blueprint/tokens.css +12 -4
  443. package/skills/luckiest-video-studio-cards/references/card-contract.md +15 -1
  444. package/skills/luckiest-video-studio-cards/scripts/qa-cards.mjs +14 -8
  445. package/skills/luckiest-video-studio-cards/templates/glass-popout/index.html +35 -11
  446. package/skills/luckiest-video-studio-cards/templates/glass-popout/meta.json +6 -1
  447. package/skills/luckiest-video-studio-cards/templates/graph-paper/index.html +15 -10
  448. package/skills/luckiest-video-studio-cards/templates/graph-paper/meta.json +7 -2
  449. package/skills/luckiest-video-studio-motion/ATTRIBUTION.md +4 -0
  450. package/skills/luckiest-video-studio-motion/CHANGELOG.md +9 -0
  451. package/skills/luckiest-video-studio-motion/SKILL.md +7 -3
  452. package/skills/luckiest-video-studio-motion/references/vocabulary.md +21 -0
  453. package/skills/luckiest-video-studio-motion/templates/spring.js +50 -0
  454. package/skills/luckiest-video-studio-motion/templates/spring.test.mjs +51 -0
  455. package/skills/luckiest-video-studio-recreate/ATTRIBUTION.md +2 -0
  456. package/skills/luckiest-video-studio-recreate/CHANGELOG.md +11 -0
  457. package/skills/luckiest-video-studio-recreate/SKILL.md +46 -7
  458. package/skills/luckiest-video-studio-reel/CHANGELOG.md +6 -0
  459. package/skills/luckiest-video-studio-reel/SKILL.md +9 -4
  460. package/skills/luckiest-video-studio-reel/templates/reel.html +36 -18
  461. package/skills/luckiest-video-studio-reference/CHANGELOG.md +4 -0
  462. package/skills/luckiest-video-studio-reference/SKILL.md +10 -3
  463. package/skills/luckiest-video-studio-review/ATTRIBUTION.md +4 -0
  464. package/skills/luckiest-video-watcher/ATTRIBUTION.md +37 -0
  465. package/skills/luckiest-video-watcher/CHANGELOG.md +90 -0
  466. package/skills/luckiest-video-watcher/LICENSE-claude-video +21 -0
  467. package/skills/luckiest-video-watcher/SKILL.md +201 -0
  468. package/skills/luckiest-video-watcher/references/watch-guide.md +159 -0
  469. package/skills/luckiest-video-watcher/scripts/config.py +174 -0
  470. package/skills/luckiest-video-watcher/scripts/download.py +207 -0
  471. package/skills/luckiest-video-watcher/scripts/frames.py +758 -0
  472. package/skills/luckiest-video-watcher/scripts/gemini.py +162 -0
  473. package/skills/luckiest-video-watcher/scripts/local_whisperx.py +147 -0
  474. package/skills/luckiest-video-watcher/scripts/runtime.py +35 -0
  475. package/skills/luckiest-video-watcher/scripts/setup.py +338 -0
  476. package/skills/luckiest-video-watcher/scripts/transcribe.py +113 -0
  477. package/skills/luckiest-video-watcher/scripts/watch.py +430 -0
  478. package/skills/luckiest-video-watcher/scripts/whisper.py +425 -0
@@ -0,0 +1,26 @@
1
+ // Output formats and the stamp that turns one scene HTML into a copy sized for one of them.
2
+ // HyperFrames reads the canvas from the root data-width/data-height, so a stamped copy renders at that size.
3
+ export const FORMATS = { landscape: [1920, 1080], vertical: [1080, 1920], square: [1080, 1080] };
4
+ const RESOLUTION = { landscape: "landscape", vertical: "portrait", square: "square" };
5
+ // Safe area as [top, bottom, left, right] fractions, from luckiest-video-studio-composition/references/grids-and-ratios.md.
6
+ // Vertical is the strictest of TikTok, Reels, and Shorts combined.
7
+ export const SAFE = { landscape: [0.05, 0.05, 0.05, 0.05], vertical: [0.15, 0.35, 0.11, 0.18], square: [0.07, 0.07, 0.07, 0.07] };
8
+
9
+ // Set or replace one attribute inside an opening tag string.
10
+ const setAttr = (tag, name, value) => {
11
+ const re = new RegExp(`\\s${name}\\s*=\\s*("[^"]*"|'[^']*'|[^\\s>]+)`, "i");
12
+ return re.test(tag) ? tag.replace(re, ` ${name}="${value}"`) : tag.replace(/\s*\/?>$/, (end) => ` ${name}="${value}"${end}`);
13
+ };
14
+
15
+ export function stampFormat(html, name) {
16
+ const [w, h] = FORMATS[name];
17
+ const [t, b, l, r] = SAFE[name];
18
+ const px = (f, side) => `${Math.round(f * side)}px`;
19
+ const vars = `<style>:root{--w:${w}px;--h:${h}px;--u:${Math.min(w, h) / 100}px;` +
20
+ `--safe-t:${px(t, h)};--safe-b:${px(b, h)};--safe-l:${px(l, w)};--safe-r:${px(r, w)}}</style>`;
21
+ let out = html.replace(/<div\b[^>]*\bdata-composition-id\b[^>]*>/i, (tag) =>
22
+ setAttr(setAttr(setAttr(tag, "data-width", w), "data-height", h), "data-format", name));
23
+ out = out.replace(/<html\b[^>]*>/i, (tag) => setAttr(setAttr(tag, "data-resolution", RESOLUTION[name]), "data-format", name));
24
+ // Injected last in <head> so it wins over the author's master-size :root defaults.
25
+ return /<\/head>/i.test(out) ? out.replace(/<\/head>/i, `${vars}</head>`) : vars + out;
26
+ }
@@ -17,6 +17,13 @@
17
17
  "fps": { "enum": [24, 30, 60] }
18
18
  }
19
19
  },
20
+ "formats": {
21
+ "type": "array",
22
+ "items": { "enum": ["landscape", "vertical", "square"] },
23
+ "minItems": 1,
24
+ "uniqueItems": true,
25
+ "description": "Render one file per format from the same scenes: landscape 1920x1080, vertical 1080x1920, square 1080x1080. Omit to render only `format`. fps always comes from `format`."
26
+ },
20
27
  "hyperframes": { "type": "string", "description": "Pinned HyperFrames version for npx, for example 0.8.84" },
21
28
  "music": {
22
29
  "type": "object",
@@ -24,9 +31,22 @@
24
31
  "properties": {
25
32
  "file": { "type": "string", "description": "Path relative to the run folder" },
26
33
  "volume": { "type": "number", "minimum": 0, "maximum": 0.5, "default": 0.35 },
34
+ "offset": { "type": "number", "minimum": 0, "default": 0, "description": "Seconds to skip into the track" },
35
+ "at": { "type": "number", "minimum": 0, "default": 0, "description": "Video time where the track starts" },
27
36
  "license": { "type": "string" }
28
37
  }
29
38
  },
39
+ "facts": { "type": "array", "items": { "type": "string" }, "description": "Every number, price, and id shown on screen, as short phrases; checked by qa.mjs facts" },
40
+ "loudness": { "oneOf": [{ "type": "number", "maximum": 0 }, { "const": false }], "default": -14, "description": "Integrated LUFS for final.mp4; false skips normalization" },
41
+ "sfx": {
42
+ "type": "object",
43
+ "required": ["file"],
44
+ "description": "Global SFX track from scripts/sfx-cues.mjs, mixed under the joined video at 0 s",
45
+ "properties": {
46
+ "file": { "type": "string", "description": "Path relative to the run folder" },
47
+ "volume": { "type": "number", "minimum": 0, "maximum": 1, "default": 1 }
48
+ }
49
+ },
30
50
  "scenes": {
31
51
  "type": "array",
32
52
  "minItems": 1,
@@ -42,7 +62,10 @@
42
62
  "recipe": { "type": "string", "description": "logo: recipe name from references/logo-recipes.md" },
43
63
  "source": { "type": "string", "description": "demo: footage path relative to the run folder" },
44
64
  "sourceStart": { "type": "number", "minimum": 0, "default": 0 },
65
+ "hold": { "type": "number", "minimum": 0, "description": "Seconds into the scene where render-scenes --stills captures the hold frame. Default 0.5s before the cut." },
66
+ "focus": { "type": "object", "required": ["x", "y"], "properties": { "x": { "type": "number", "minimum": 0, "maximum": 1 }, "y": { "type": "number", "minimum": 0, "maximum": 1 } }, "description": "demo: crop center as fractions of the source frame when its shape differs from the output, default { x: 0.5, y: 0.5 }" },
45
67
  "faceRect": { "type": "array", "items": { "type": "number", "minimum": 0, "maximum": 1 }, "minItems": 4, "maxItems": 4, "description": "demo: speaker's face as [x, y, w, h] fractions of the frame, checked by the face gate" },
68
+ "states": { "type": "array", "items": { "type": "object", "required": ["t", "label"], "properties": { "t": { "type": "number", "minimum": 0 }, "label": { "type": "string" }, "shape": { "type": "string" }, "cursor": { "type": "string" } } }, "description": "One-shape morph scene: states in order, local times" },
46
69
  "variables": { "type": "object", "description": "Values the composition reads: copy, colors, logo path" },
47
70
  "assets": { "type": "array", "items": { "type": "string" }, "description": "Extra files (relative to the run folder) whose change should trigger a re-render" }
48
71
  }
@@ -2,15 +2,22 @@
2
2
  <html lang="en" data-resolution="landscape">
3
3
  <head>
4
4
  <!-- line-draw logo recipe (luckiest-video-studio). Traces every path of the mark in its own color, fills, holds.
5
- Fill {{paper}} and {{ink}} from brand.json, {{caption}} from the scene, paste the SVG, keep duration in sync with storyboard.json. --><meta charset="UTF-8" />
5
+ Fill {{paper}} and {{ink}} from brand.json, {{caption}} from the scene, paste the SVG, keep duration in sync with storyboard.json.
6
+ Sized with --u and the safe tokens, so it renders landscape, vertical, and square from this one file. --><meta charset="UTF-8" />
6
7
  <script src="https://cdn.jsdelivr.net/npm/gsap@3.14.2/dist/gsap.min.js"></script>
7
8
  <style>
9
+ /* Master size defaults. render-scenes.mjs appends the real --w, --h, --u and safe tokens for each format. */
10
+ :root{--w:1920px;--h:1080px;--u:10.8px;--safe-t:54px;--safe-b:54px;--safe-l:96px;--safe-r:96px}
8
11
  *{margin:0;padding:0;box-sizing:border-box}
9
- html,body{width:1920px;height:1080px;overflow:hidden;background:{{paper}}}
10
- #root{width:100%;height:100%;display:grid;place-items:center}
11
- .stage{width:520px;height:560px;display:grid;place-items:center}
12
+ html,body{width:var(--w);height:var(--h);overflow:hidden;background:{{paper}}}
13
+ #root{width:100%;height:100%}
14
+ /* Centered in the safe area, not the frame: the vertical safe area sits high to clear the platform UI. */
15
+ .stage{position:absolute;inset:var(--safe-t) var(--safe-r) var(--safe-b) var(--safe-l);margin:auto;width:calc(var(--u)*48);height:calc(var(--u)*52);display:grid;place-items:center}
12
16
  .mark{width:100%;height:100%;overflow:visible}
13
- .cap{position:absolute;bottom:110px;width:100%;text-align:center;font:500 28px/1 Inter,system-ui,sans-serif;letter-spacing:.32em;color:{{ink}};opacity:0}
17
+ .cap{position:absolute;left:var(--safe-l);right:var(--safe-r);bottom:calc(var(--safe-b) + var(--u)*5);text-align:center;font:500 calc(var(--u)*2.6)/1.3 Inter,system-ui,sans-serif;letter-spacing:.32em;color:{{ink}};opacity:0}
18
+ /* Phones show the whole frame smaller: a bigger mark and 25% larger caption. */
19
+ [data-format=vertical] .stage{width:calc(var(--u)*56);height:calc(var(--u)*60)}
20
+ [data-format=vertical] .cap{font-size:calc(var(--u)*3.2)}
14
21
  </style></head>
15
22
  <body>
16
23
  <div id="root" data-composition-id="main" data-start="0" data-duration="6" data-width="1920" data-height="1080">
@@ -12,6 +12,7 @@
12
12
 
13
13
  ## Changes in this edition
14
14
 
15
+ - 1.5.0: "Do not repeat earlier runs", a practice studied from the Motion Studio skill bundle; no code or text copied.
15
16
  - 1.4.0: section 3b "Real, not generated", `references/shot-prompting.md`, and the "Looks generated" check.
16
17
 
17
18
  - 1.3.0: rule format, freedom levels, corrections loop, and the "repeats a logged correction" review column.
@@ -1,5 +1,13 @@
1
1
  # Changelog — luckiest-video-studio-art-director
2
2
 
3
+ ## 1.5.0 — 2026-10-08
4
+ - "Do not repeat earlier runs": reads earlier `art-direction.json` files in the
5
+ workspace and bans their signature transition, wow device, texture, and concept,
6
+ plus palette and fonts unless the design system fixes them or the user wants a
7
+ series. Recorded under `bannedFromEarlierRuns`; `wowDevice` is now written so
8
+ later runs can read it.
9
+ - Practice studied from the Motion Studio skill bundle. Ideas only, no code or text copied: the bundle carries no license for its own scripts or docs.
10
+
3
11
  ## 1.4.0 — 2026-10-05
4
12
  - Section 3b "Real, not generated": named light direction with hard shadows,
5
13
  film stock and grain, skin texture, off-center candid framing, specific
@@ -20,7 +20,7 @@ user-invocable: true
20
20
  license: MIT. See ATTRIBUTION.md
21
21
  allowed-tools: Bash, Read, Write, Edit, Glob, Grep, AskUserQuestion
22
22
  metadata:
23
- version: "1.4.0"
23
+ version: "1.5.0"
24
24
  listing_id: luckiest-video-studio-art-director
25
25
  author: luckiest
26
26
  ---
@@ -35,11 +35,11 @@ confidence. Variety reads as noise.
35
35
  ## Staying current
36
36
 
37
37
  On activation, call the Luckiest MCP `check_updates` tool with
38
- `{ listingId: "luckiest-video-studio-art-director", installedSemver: "1.4.0" }`. If
38
+ `{ listingId: "luckiest-video-studio-art-director", installedSemver: "1.5.0" }`. If
39
39
  `upToDate: false`, surface the `notice` once and continue. Never block on it.
40
40
 
41
41
  When done, call `report_usage` once with
42
- `{ listing_id: "luckiest-video-studio-art-director", skill_version: "1.4.0", matched: true, success: <true|false> }`.
42
+ `{ listing_id: "luckiest-video-studio-art-director", skill_version: "1.5.0", matched: true, success: <true|false> }`.
43
43
  Metadata only, never prompt text. Skip silently if unavailable.
44
44
 
45
45
  ## Standing rules
@@ -155,7 +155,17 @@ Fill every row with one choice:
155
155
  | Type scale | From the composition skill's 8px scale |
156
156
  | Texture | One: none, grain, paper, or glass. Stays subliminal |
157
157
  | Imagery | Real product UI and real logos. Name the crop and device frame style |
158
- | Banned | Centered title on gradient, everything fading in, corner labels, frame borders, glow on UI chrome, generic particle bursts |
158
+ | Banned | Centered title on gradient, everything fading in, corner labels, frame borders, glow on UI chrome, generic particle bursts, and the looks of earlier runs (below) |
159
+
160
+ ### Do not repeat earlier runs
161
+
162
+ Before filling the rows, read every earlier `video-studio-output*/art-direction.json`
163
+ in the workspace. From each, add to `banned`: its signature transition, its wow
164
+ device (the technique, not the scene id), its texture, and its concept. Also add its
165
+ palette and font pair, unless the design system fixed them (section 0) or the user
166
+ asked for a matching series. A brand keeps its colors and faces from video to video;
167
+ it does not keep the same trick. Record what came from where under
168
+ `bannedFromEarlierRuns`, and say in one line what you banned.
159
169
 
160
170
  ### Video-safe color
161
171
 
@@ -243,7 +253,10 @@ element whose motion carries no meaning.
243
253
  "intensity": { "travelPx": 24, "scale": [0.96, 1], "overshoot": 0.02 },
244
254
  "holdMin": 0.3,
245
255
  "wow": "s03",
246
- "static": ["headline while read", "logo lockup"]
256
+ "wowDevice": "logo assembles from the product's own UI cards",
257
+ "static": ["headline while read", "logo lockup"],
258
+ "banned": ["centered title on gradient", "everything fading in", "liquid iris transition", "chrome text sweep"],
259
+ "bannedFromEarlierRuns": [{ "run": "video-studio-output-2026-09-30-101500", "items": ["liquid iris transition", "chrome text sweep"] }]
247
260
  }
248
261
  ```
249
262
 
@@ -1,5 +1,23 @@
1
1
  # Changelog: luckiest-video-studio-cards
2
2
 
3
+ ## 1.3.0 — 2026-10-08
4
+ - All 406 pack cards render in landscape, vertical, and square from one file. Cards
5
+ size the canvas with `--w`/`--h`, place text from the safe insets, and restack under
6
+ `[data-format=vertical]` and `[data-format=square]`; tier2 overlays sit at the bottom
7
+ of the safe area in vertical and square. Removed the "packs are 1920x1080 only" note.
8
+ - Pack `tokens.css` carries the landscape size defaults and `--type`, which makes type
9
+ 20% larger in vertical.
10
+ - Slot text that sat in the landscape margins or bled off the frame (hero numerals,
11
+ edge tabs) now sits inside the safe area.
12
+ - `qa-cards.mjs sample` takes `--format <name,...|all>`, `--tier`, and `--all`, and puts
13
+ tier2 cards on a gray backdrop.
14
+
15
+ ## 1.2.0 — 2026-10-08
16
+ - `graph-paper` and `glass-popout` scene templates use the coordinator's size
17
+ tokens and render in all three formats; `glass-popout` stacks its panel at the
18
+ bottom of the safe area in vertical and square, and sits on the safe edge in
19
+ landscape. Card packs stay 1920x1080 only, noted in SKILL.md.
20
+
3
21
  ## 1.1.0 — 2026-10-05
4
22
  - Cards follow `art-direction.json` when installed.
5
23
 
@@ -14,7 +14,7 @@ user-invocable: false
14
14
  license: MIT. See ATTRIBUTION.md
15
15
  allowed-tools: Bash, Read, Write, Edit, Glob, Grep, AskUserQuestion
16
16
  metadata:
17
- version: "1.1.0"
17
+ version: "1.3.0"
18
18
  listing_id: luckiest-video-studio-cards
19
19
  author: luckiest
20
20
  ---
@@ -28,11 +28,11 @@ consistent than drawing each beat from scratch.
28
28
  ## Staying current
29
29
 
30
30
  On activation, call the Luckiest MCP `check_updates` tool with
31
- `{ listingId: "luckiest-video-studio-cards", installedSemver: "1.1.0" }`. If
31
+ `{ listingId: "luckiest-video-studio-cards", installedSemver: "1.3.0" }`. If
32
32
  `upToDate: false`, surface the `notice` once and continue. Never block on it.
33
33
 
34
34
  When done, call `report_usage` once with
35
- `{ listing_id: "luckiest-video-studio-cards", skill_version: "1.1.0", matched: true, success: <true|false> }`.
35
+ `{ listing_id: "luckiest-video-studio-cards", skill_version: "1.3.0", matched: true, success: <true|false> }`.
36
36
  Metadata only. Skip silently if unavailable.
37
37
 
38
38
  ## Standing rules
@@ -98,16 +98,31 @@ If the run already has `art-direction.json`, follow it; otherwise, if `luckiest-
98
98
 
99
99
  Scene templates in `<skill-dir>/templates/` (`graph-paper` for a full-frame
100
100
  backdrop, `glass-popout` for a side panel over a reframed camera) are starting
101
- points for a whole scene rather than one card.
101
+ points for a whole scene rather than one card. Both are sized with the coordinator's
102
+ size tokens, so they render landscape, vertical, and square from one file when the
103
+ storyboard lists `formats`. `glass-popout` moves its panel to the bottom of the safe
104
+ area in vertical and square.
105
+
106
+ Every pack card renders in all three formats from one file. The card reads the
107
+ coordinator's size tokens (`--w`, `--h`, the `--safe-*` insets) and restacks under
108
+ `[data-format=vertical]` and `[data-format=square]`: tier1 layouts stack inside the
109
+ safe area, tier2 overlays move to the bottom of the safe area clear of the face, and
110
+ type runs 20% larger in vertical. Nothing extra to do: add `formats` to the storyboard
111
+ once the master is approved (coordinator `step-4-deliver.md`, "Other formats (last)").
102
112
 
103
113
  ## Step 4: Check
104
114
 
105
115
  Easing, duration, and stagger edits to a card follow `luckiest-video-studio-motion`.
106
116
 
107
117
  Render the scene with the coordinator's `render-scenes.mjs` and look at the hero
108
- frame at full size and phone size: every slot filled with real copy, no text
109
- clipped at the longest slot value, the brand colors in place of the pack
110
- defaults.
118
+ frame at full size and phone size, in every format the storyboard lists: every slot
119
+ filled with real copy, no text clipped at the longest slot value, text inside the
120
+ safe area (`node <coordinator>/scripts/qa.mjs safe <run-dir>`), the brand colors in
121
+ place of the pack defaults.
122
+
123
+ To check cards themselves, `node <skill-dir>/scripts/qa-cards.mjs sample <run-dir>
124
+ --format all` writes a sample run with one card per purpose in each format
125
+ (`--pack`, `--tier`, `--all` narrow or widen it; tier2 cards get a gray backdrop).
111
126
 
112
127
  ## Make a new pack
113
128
 
@@ -13,7 +13,7 @@
13
13
  <style>
14
14
  html, body { margin: 0; }
15
15
  #t1-ov-agenda {
16
- position: absolute; inset: 0; width: 1920px; height: 1080px;
16
+ position: absolute; inset: 0; width: var(--w); height: var(--h);
17
17
  background: var(--paper); color: var(--ink);
18
18
  font-family: var(--font-display); overflow: hidden;
19
19
  }
@@ -35,7 +35,7 @@
35
35
 
36
36
  /* small marker title at top - left aligned, thinner bar */
37
37
  #t1-ov-agenda .title-bar {
38
- position: absolute; top: 64px; left: 130px; z-index: 3;
38
+ position: absolute; top: calc(var(--safe-t) + 10px); left: calc(var(--safe-l) + 34px); z-index: 3;
39
39
  display: flex; align-items: center; gap: 20px;
40
40
  }
41
41
  #t1-ov-agenda .title-accent {
@@ -49,7 +49,7 @@
49
49
 
50
50
  /* stacked bars */
51
51
  #t1-ov-agenda .bars {
52
- position: absolute; top: 190px; left: 130px; right: 130px;
52
+ position: absolute; top: calc(var(--safe-t) + 136px); left: calc(var(--safe-l) + 34px); right: calc(var(--safe-r) + 34px);
53
53
  display: flex; flex-direction: column; gap: 12px; z-index: 3;
54
54
  }
55
55
  #t1-ov-agenda .bar {
@@ -71,7 +71,7 @@
71
71
  flex: 0 0 150px; height: 100%;
72
72
  display: flex; align-items: center; justify-content: center;
73
73
  border-right: 4px solid var(--ink);
74
- font-weight: var(--wt-black); font-size: 96px;
74
+ font-weight: var(--wt-black); font-size: calc(96px * var(--type));
75
75
  line-height: 1; letter-spacing: var(--track-tight);
76
76
  font-variant-numeric: tabular-nums;
77
77
  background: var(--ink); color: var(--paper);
@@ -83,7 +83,7 @@
83
83
  /* chapter title */
84
84
  #t1-ov-agenda .chapter {
85
85
  flex: 1; padding: 0 48px;
86
- font-weight: var(--wt-black); font-size: 68px;
86
+ font-weight: var(--wt-black); font-size: calc(68px * var(--type));
87
87
  letter-spacing: var(--track-tight); line-height: 1.05; color: var(--ink);
88
88
  }
89
89
 
@@ -97,11 +97,22 @@
97
97
  }
98
98
 
99
99
  #t1-ov-agenda .source {
100
- position: absolute; left: 130px; bottom: 88px;
100
+ position: absolute; left: calc(var(--safe-l) + 34px); bottom: calc(var(--safe-b) + 34px);
101
101
  font-family: var(--font-label); font-weight: var(--wt-bold);
102
102
  font-size: var(--size-tiny); letter-spacing: var(--track-wide);
103
103
  text-transform: uppercase; color: var(--muted); z-index: 3;
104
104
  }
105
+
106
+ /* Vertical and square: title and bars span the safe box; in vertical the bars get a narrower
107
+ chip and smaller, wrapping chapter titles. Source sits at the bottom left of the safe area. */
108
+ [data-format="vertical"] #t1-ov-agenda .title-bar, [data-format="square"] #t1-ov-agenda .title-bar { top: var(--safe-t); left: var(--safe-l); }
109
+ [data-format="vertical"] #t1-ov-agenda .bars, [data-format="square"] #t1-ov-agenda .bars { top: calc(var(--safe-t) + 110px); left: var(--safe-l); right: var(--safe-r); }
110
+ [data-format="vertical"] #t1-ov-agenda .bar { height: 180px; }
111
+ [data-format="vertical"] #t1-ov-agenda .chip { flex-basis: 120px; font-size: calc(80px * var(--type)); }
112
+ [data-format="vertical"] #t1-ov-agenda .chapter { padding: 0 32px; font-size: calc(52px * var(--type)); }
113
+ [data-format="vertical"] #t1-ov-agenda .now-badge { margin-right: 24px; }
114
+ [data-format="square"] #t1-ov-agenda .chapter { padding: 0 40px; font-size: 60px; }
115
+ [data-format="vertical"] #t1-ov-agenda .source, [data-format="square"] #t1-ov-agenda .source { left: var(--safe-l); bottom: var(--safe-b); }
105
116
  </style>
106
117
  </head>
107
118
  <body>
@@ -13,7 +13,7 @@
13
13
  <style>
14
14
  html, body { margin: 0; }
15
15
  #t1-ov-bigtype {
16
- position: absolute; inset: 0; width: 1920px; height: 1080px;
16
+ position: absolute; inset: 0; width: var(--w); height: var(--h);
17
17
  background: var(--paper); color: var(--ink);
18
18
  font-family: var(--font-display); overflow: hidden;
19
19
  }
@@ -35,7 +35,7 @@
35
35
 
36
36
  /* kicker - small Archivo label at top */
37
37
  #t1-ov-bigtype .kicker {
38
- position: absolute; top: 64px; left: 130px; z-index: 4;
38
+ position: absolute; top: calc(var(--safe-t) + 10px); left: calc(var(--safe-l) + 34px); z-index: 4;
39
39
  display: flex; align-items: center; gap: 20px;
40
40
  }
41
41
  #t1-ov-bigtype .kicker-rule {
@@ -49,7 +49,7 @@
49
49
 
50
50
  /* type lines container */
51
51
  #t1-ov-bigtype .lines {
52
- position: absolute; top: 150px; left: 80px; right: 80px;
52
+ position: absolute; top: calc(var(--safe-t) + 96px); left: var(--safe-l); right: var(--safe-r);
53
53
  display: flex; flex-direction: column; gap: 10px; z-index: 4;
54
54
  }
55
55
  /* each line wrapper - clip overflow for reveal wipe */
@@ -60,7 +60,7 @@
60
60
  #t1-ov-bigtype .line-inner {
61
61
  display: block;
62
62
  font-weight: var(--wt-black);
63
- font-size: 150px;
63
+ font-size: calc(150px * var(--type));
64
64
  letter-spacing: -0.045em;
65
65
  line-height: 0.98;
66
66
  color: var(--ink);
@@ -80,11 +80,21 @@
80
80
  }
81
81
 
82
82
  #t1-ov-bigtype .source {
83
- position: absolute; right: 130px; bottom: 72px; z-index: 4;
83
+ position: absolute; right: calc(var(--safe-r) + 34px); bottom: calc(var(--safe-b) + 18px); z-index: 4;
84
84
  font-family: var(--font-label); font-weight: var(--wt-bold);
85
85
  font-size: var(--size-tiny); letter-spacing: var(--track-wide);
86
86
  text-transform: uppercase; color: var(--muted);
87
87
  }
88
+
89
+ /* Vertical and square: the type lines wrap inside the safe width at a smaller size; square
90
+ centres the block vertically. Kicker and source pin to the safe corners. */
91
+ [data-format="vertical"] #t1-ov-bigtype .kicker, [data-format="square"] #t1-ov-bigtype .kicker { top: var(--safe-t); left: var(--safe-l); }
92
+ [data-format="vertical"] #t1-ov-bigtype .line-inner, [data-format="square"] #t1-ov-bigtype .line-inner { white-space: normal; }
93
+ [data-format="vertical"] #t1-ov-bigtype .lines { top: calc(var(--safe-t) + 96px); gap: 18px; }
94
+ [data-format="vertical"] #t1-ov-bigtype .line-inner { font-size: calc(76px * var(--type)); }
95
+ [data-format="square"] #t1-ov-bigtype .lines { top: 50%; transform: translateY(-50%); gap: 16px; }
96
+ [data-format="square"] #t1-ov-bigtype .line-inner { font-size: 90px; }
97
+ [data-format="vertical"] #t1-ov-bigtype .source, [data-format="square"] #t1-ov-bigtype .source { right: auto; left: var(--safe-l); bottom: var(--safe-b); }
88
98
  </style>
89
99
  </head>
90
100
  <body>
@@ -15,7 +15,7 @@
15
15
  <style>
16
16
  html, body { margin: 0; }
17
17
  #t1-ov-board {
18
- position: absolute; inset: 0; width: 1920px; height: 1080px;
18
+ position: absolute; inset: 0; width: var(--w); height: var(--h);
19
19
  background: var(--paper); color: var(--ink);
20
20
  font-family: var(--font-display); overflow: hidden;
21
21
  }
@@ -37,7 +37,7 @@
37
37
 
38
38
  /* board outer frame */
39
39
  #t1-ov-board .board {
40
- position: absolute; left: 180px; right: 180px; top: 96px;
40
+ position: absolute; left: calc(var(--safe-l) + 84px); right: calc(var(--safe-r) + 84px); top: calc(var(--safe-t) + 42px);
41
41
  background: var(--ink);
42
42
  border: 6px solid var(--ink);
43
43
  border-radius: 4px;
@@ -54,7 +54,7 @@
54
54
  border-bottom: 4px solid rgba(239,233,220,0.18);
55
55
  }
56
56
  #t1-ov-board .header-title {
57
- font-weight: var(--wt-black); font-size: 52px;
57
+ font-weight: var(--wt-black); font-size: calc(52px * var(--type));
58
58
  letter-spacing: var(--track-wide); text-transform: uppercase;
59
59
  color: var(--yellow);
60
60
  }
@@ -109,7 +109,7 @@
109
109
  flex: 1; padding: 0 48px;
110
110
  display: flex; align-items: center;
111
111
  font-family: var(--font-label); font-weight: var(--wt-bold);
112
- font-size: 44px; letter-spacing: 0.02em;
112
+ font-size: calc(44px * var(--type)); letter-spacing: 0.02em;
113
113
  color: var(--paper); z-index: 3;
114
114
  /* clip for stepped reveal */
115
115
  clip-path: inset(0 100% 0 0);
@@ -120,7 +120,7 @@
120
120
  flex-shrink: 0; width: 280px;
121
121
  display: flex; align-items: center; justify-content: center;
122
122
  font-family: var(--font-label); font-weight: var(--wt-black);
123
- font-size: 44px; letter-spacing: 0.1em;
123
+ font-size: calc(44px * var(--type)); letter-spacing: 0.1em;
124
124
  color: var(--yellow);
125
125
  border-left: 3px solid rgba(239,233,220,0.1);
126
126
  z-index: 3;
@@ -129,11 +129,25 @@
129
129
 
130
130
  /* source */
131
131
  #t1-ov-board .source {
132
- position: absolute; left: 180px; bottom: 54px; z-index: 8;
132
+ position: absolute; left: calc(var(--safe-l) + 84px); bottom: var(--safe-b); z-index: 8;
133
133
  font-family: var(--font-label); font-weight: var(--wt-bold);
134
134
  font-size: var(--size-tiny); letter-spacing: var(--track-wide);
135
135
  text-transform: uppercase; color: var(--muted);
136
136
  }
137
+
138
+ /* Vertical and square: the board fills the safe width; the TOPIC/TIME column labels drop out,
139
+ the time column narrows and topics may wrap to two lines. */
140
+ [data-format="vertical"] #t1-ov-board .board, [data-format="square"] #t1-ov-board .board { left: var(--safe-l); right: var(--safe-r); top: var(--safe-t); }
141
+ [data-format="vertical"] #t1-ov-board .header-cols, [data-format="square"] #t1-ov-board .header-cols { display: none; }
142
+ [data-format="vertical"] #t1-ov-board .board-header, [data-format="square"] #t1-ov-board .board-header { padding: 26px 32px 20px; }
143
+ [data-format="vertical"] #t1-ov-board .header-title { font-size: calc(40px * var(--type)); }
144
+ [data-format="vertical"] #t1-ov-board .row { height: 150px; }
145
+ [data-format="vertical"] #t1-ov-board .row-num { width: 64px; }
146
+ [data-format="vertical"] #t1-ov-board .row-topic { padding: 0 24px; font-size: calc(34px * var(--type)); line-height: 1.15; }
147
+ [data-format="vertical"] #t1-ov-board .row-time { width: 150px; font-size: calc(32px * var(--type)); letter-spacing: 0.04em; }
148
+ [data-format="square"] #t1-ov-board .row-topic { padding: 0 32px; font-size: 40px; line-height: 1.15; }
149
+ [data-format="square"] #t1-ov-board .row-time { width: 200px; font-size: 40px; }
150
+ [data-format="vertical"] #t1-ov-board .source, [data-format="square"] #t1-ov-board .source { left: var(--safe-l); bottom: var(--safe-b); }
137
151
  </style>
138
152
  </head>
139
153
  <body>
@@ -13,7 +13,7 @@
13
13
  <style>
14
14
  html, body { margin: 0; }
15
15
  #t1-ov-check {
16
- position: absolute; inset: 0; width: 1920px; height: 1080px;
16
+ position: absolute; inset: 0; width: var(--w); height: var(--h);
17
17
  background: var(--paper); color: var(--ink);
18
18
  font-family: var(--font-display); overflow: hidden;
19
19
  }
@@ -35,7 +35,7 @@
35
35
 
36
36
  /* marker title */
37
37
  #t1-ov-check .title {
38
- position: absolute; top: 80px; left: 50%; transform: translateX(-50%) skewX(var(--marker-skew));
38
+ position: absolute; top: calc(var(--safe-t) + 26px); left: 50%; transform: translateX(-50%) skewX(var(--marker-skew));
39
39
  background: var(--yellow); padding: 8px 32px; z-index: 3;
40
40
  font-weight: var(--wt-black); font-size: var(--size-title);
41
41
  letter-spacing: var(--track-tight); text-transform: uppercase; white-space: nowrap;
@@ -43,7 +43,7 @@
43
43
 
44
44
  /* checklist */
45
45
  #t1-ov-check .list {
46
- position: absolute; top: 230px; left: 50%; transform: translateX(-50%);
46
+ position: absolute; top: calc(var(--safe-t) + 176px); left: 50%; transform: translateX(-50%);
47
47
  width: 1300px; display: flex; flex-direction: column; gap: 0; z-index: 3;
48
48
  }
49
49
  #t1-ov-check .item {
@@ -63,7 +63,7 @@
63
63
  #t1-ov-check .check {
64
64
  position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
65
65
  font-family: var(--font-label); font-weight: var(--wt-black);
66
- font-size: 52px; color: var(--ink); line-height: 1;
66
+ font-size: calc(52px * var(--type)); color: var(--ink); line-height: 1;
67
67
  transform: scale(0); opacity: 0;
68
68
  }
69
69
  /* yellow fill behind the check */
@@ -74,16 +74,37 @@
74
74
  }
75
75
 
76
76
  #t1-ov-check .label {
77
- flex: 1; font-weight: var(--wt-black); font-size: 52px;
77
+ flex: 1; font-weight: var(--wt-black); font-size: calc(52px * var(--type));
78
78
  letter-spacing: var(--track-tight); line-height: 1.05; color: var(--ink);
79
79
  }
80
80
 
81
81
  #t1-ov-check .source {
82
- position: absolute; left: 130px; bottom: 88px;
82
+ position: absolute; left: calc(var(--safe-l) + 34px); bottom: calc(var(--safe-b) + 34px);
83
83
  font-family: var(--font-label); font-weight: var(--wt-bold);
84
84
  font-size: var(--size-tiny); letter-spacing: var(--track-wide);
85
85
  text-transform: uppercase; color: var(--muted); z-index: 3;
86
86
  }
87
+
88
+ /* Vertical and square: title centred on the safe box, list spans the safe width with smaller
89
+ wrapping labels, source at the bottom left of the safe area. */
90
+ [data-format="vertical"] #t1-ov-check .title, [data-format="square"] #t1-ov-check .title {
91
+ top: var(--safe-t); left: calc(var(--safe-l) + (var(--w) - var(--safe-l) - var(--safe-r)) / 2);
92
+ width: max-content; max-width: calc(var(--w) - var(--safe-l) - var(--safe-r) - 64px);
93
+ white-space: normal; text-align: center;
94
+ }
95
+ [data-format="vertical"] #t1-ov-check .title { font-size: calc(64px * var(--type)); }
96
+ [data-format="vertical"] #t1-ov-check .list, [data-format="square"] #t1-ov-check .list {
97
+ left: var(--safe-l); right: var(--safe-r); width: auto; transform: none;
98
+ }
99
+ [data-format="vertical"] #t1-ov-check .list { top: calc(var(--safe-t) + 150px); }
100
+ [data-format="square"] #t1-ov-check .list { top: calc(var(--safe-t) + 150px); }
101
+ [data-format="vertical"] #t1-ov-check .item, [data-format="square"] #t1-ov-check .item { gap: 32px; padding: 26px 0; }
102
+ [data-format="vertical"] #t1-ov-check .box, [data-format="square"] #t1-ov-check .box { flex-basis: 60px; width: 60px; height: 60px; }
103
+ [data-format="vertical"] #t1-ov-check .check { font-size: calc(40px * var(--type)); }
104
+ [data-format="square"] #t1-ov-check .check { font-size: 44px; }
105
+ [data-format="vertical"] #t1-ov-check .label { font-size: calc(42px * var(--type)); }
106
+ [data-format="square"] #t1-ov-check .label { font-size: 44px; }
107
+ [data-format="vertical"] #t1-ov-check .source, [data-format="square"] #t1-ov-check .source { left: var(--safe-l); bottom: var(--safe-b); }
87
108
  </style>
88
109
  </head>
89
110
  <body>