@mevdragon/vidfarm-devcli 0.13.0 → 0.15.0

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 (427) hide show
  1. package/.agents/skills/embedded-captions/CATALOG.md +93 -0
  2. package/.agents/skills/embedded-captions/SKILL.md +286 -0
  3. package/.agents/skills/embedded-captions/assets/brand/CDPR-fankit-terms.txt +35 -0
  4. package/.agents/skills/embedded-captions/assets/brand/cyberpunk-widths.json +115 -0
  5. package/.agents/skills/embedded-captions/assets/fonts/char-widths.json +2211 -0
  6. package/.agents/skills/embedded-captions/assets/strokefonts/HersheyScript1.svg +242 -0
  7. package/.agents/skills/embedded-captions/assets/strokefonts/HersheyScriptMed.svg +242 -0
  8. package/.agents/skills/embedded-captions/dna/README.md +148 -0
  9. package/.agents/skills/embedded-captions/dna/chrome.json +68 -0
  10. package/.agents/skills/embedded-captions/dna/cream.json +69 -0
  11. package/.agents/skills/embedded-captions/dna/documentary.json +62 -0
  12. package/.agents/skills/embedded-captions/dna/editorial.json +70 -0
  13. package/.agents/skills/embedded-captions/dna/glitch.json +82 -0
  14. package/.agents/skills/embedded-captions/dna/ink.json +65 -0
  15. package/.agents/skills/embedded-captions/dna/keynote.json +62 -0
  16. package/.agents/skills/embedded-captions/dna/loud.json +75 -0
  17. package/.agents/skills/embedded-captions/dna/neon.json +58 -0
  18. package/.agents/skills/embedded-captions/dna/velocity.json +89 -0
  19. package/.agents/skills/embedded-captions/modes/cinematic/README.md +48 -0
  20. package/.agents/skills/embedded-captions/modes/cinematic/_archive/champion/spec.md +98 -0
  21. package/.agents/skills/embedded-captions/modes/cinematic/_archive/champion/template.html +188 -0
  22. package/.agents/skills/embedded-captions/modes/cinematic/_archive/memory-wall/spec.md +134 -0
  23. package/.agents/skills/embedded-captions/modes/cinematic/_archive/memory-wall/template.html +179 -0
  24. package/.agents/skills/embedded-captions/modes/cinematic/_archive/portrait-header/spec.md +81 -0
  25. package/.agents/skills/embedded-captions/modes/cinematic/_archive/portrait-header/template.html +170 -0
  26. package/.agents/skills/embedded-captions/modes/cinematic/cinematic-cream/spec.md +16 -0
  27. package/.agents/skills/embedded-captions/modes/cinematic/cinematic-cream/template.html +226 -0
  28. package/.agents/skills/embedded-captions/modes/cinematic/engine.html +355 -0
  29. package/.agents/skills/embedded-captions/modes/standard/_anatomy.md +233 -0
  30. package/.agents/skills/embedded-captions/modes/standard/_motion.md +192 -0
  31. package/.agents/skills/embedded-captions/modes/standard/fonts/build-fonts-css.cjs +97 -0
  32. package/.agents/skills/embedded-captions/references/aesthetic-principles.md +168 -0
  33. package/.agents/skills/embedded-captions/references/anti-patterns.md +188 -0
  34. package/.agents/skills/embedded-captions/references/bespoke-vs-presets.md +178 -0
  35. package/.agents/skills/embedded-captions/references/caption-grouping.md +130 -0
  36. package/.agents/skills/embedded-captions/references/composition-craft.md +522 -0
  37. package/.agents/skills/embedded-captions/references/direction-catalog.md +138 -0
  38. package/.agents/skills/embedded-captions/references/example-renders/champion.html +371 -0
  39. package/.agents/skills/embedded-captions/references/example-renders/memory-wall.html +334 -0
  40. package/.agents/skills/embedded-captions/references/failure-modes.md +145 -0
  41. package/.agents/skills/embedded-captions/references/layout-heuristics.md +238 -0
  42. package/.agents/skills/embedded-captions/references/motion-vocabulary.md +148 -0
  43. package/.agents/skills/embedded-captions/references/rail.md +68 -0
  44. package/.agents/skills/embedded-captions/references/reference-bar.md +47 -0
  45. package/.agents/skills/embedded-captions/references/scene-types.md +94 -0
  46. package/.agents/skills/embedded-captions/references/test-set.md +66 -0
  47. package/.agents/skills/embedded-captions/references/typographic-moves.md +266 -0
  48. package/.agents/skills/embedded-captions/references/typography-presets.md +63 -0
  49. package/.agents/skills/embedded-captions/scripts/audio-envelope.cjs +95 -0
  50. package/.agents/skills/embedded-captions/scripts/check-occlusion.cjs +250 -0
  51. package/.agents/skills/embedded-captions/scripts/check-overflow.cjs +194 -0
  52. package/.agents/skills/embedded-captions/scripts/check-rail-climax.cjs +233 -0
  53. package/.agents/skills/embedded-captions/scripts/check-timing.cjs +173 -0
  54. package/.agents/skills/embedded-captions/scripts/fill-timings.cjs +124 -0
  55. package/.agents/skills/embedded-captions/scripts/fit-fonts.cjs +158 -0
  56. package/.agents/skills/embedded-captions/scripts/gen-stroke-path.py +46 -0
  57. package/.agents/skills/embedded-captions/scripts/inject-fonts.cjs +169 -0
  58. package/.agents/skills/embedded-captions/scripts/lib-dna.cjs +201 -0
  59. package/.agents/skills/embedded-captions/scripts/make-cinematic.cjs +1205 -0
  60. package/.agents/skills/embedded-captions/scripts/make-composition.cjs +404 -0
  61. package/.agents/skills/embedded-captions/scripts/make-theme.cjs +8781 -0
  62. package/.agents/skills/embedded-captions/scripts/matte.cjs +294 -0
  63. package/.agents/skills/embedded-captions/scripts/measure-layout.cjs +293 -0
  64. package/.agents/skills/embedded-captions/scripts/prepare.sh +39 -0
  65. package/.agents/skills/embedded-captions/scripts/preview-frames.cjs +268 -0
  66. package/.agents/skills/embedded-captions/scripts/render-and-composite.sh +509 -0
  67. package/.agents/skills/embedded-captions/scripts/render-theme.sh +34 -0
  68. package/.agents/skills/embedded-captions/scripts/safe-zones.cjs +813 -0
  69. package/.agents/skills/embedded-captions/scripts/transcribe.cjs +349 -0
  70. package/.agents/skills/embedded-captions/themes/PORTING.md +49 -0
  71. package/.agents/skills/embedded-captions/themes/README.md +244 -0
  72. package/.agents/skills/embedded-captions/themes/anchor.json +27 -0
  73. package/.agents/skills/embedded-captions/themes/arcade.json +51 -0
  74. package/.agents/skills/embedded-captions/themes/aurora.json +41 -0
  75. package/.agents/skills/embedded-captions/themes/biolume.json +35 -0
  76. package/.agents/skills/embedded-captions/themes/brush.json +74 -0
  77. package/.agents/skills/embedded-captions/themes/chalkboard.json +52 -0
  78. package/.agents/skills/embedded-captions/themes/dossier.json +56 -0
  79. package/.agents/skills/embedded-captions/themes/graffiti.json +62 -0
  80. package/.agents/skills/embedded-captions/themes/hologram.json +41 -0
  81. package/.agents/skills/embedded-captions/themes/inkwater.json +43 -0
  82. package/.agents/skills/embedded-captions/themes/laser.json +46 -0
  83. package/.agents/skills/embedded-captions/themes/lastpage.json +33 -0
  84. package/.agents/skills/embedded-captions/themes/neonsign.json +53 -0
  85. package/.agents/skills/embedded-captions/themes/nightcity.json +56 -0
  86. package/.agents/skills/embedded-captions/themes/ordnance.json +54 -0
  87. package/.agents/skills/embedded-captions/themes/papercut.json +37 -0
  88. package/.agents/skills/embedded-captions/themes/popup.json +46 -0
  89. package/.agents/skills/embedded-captions/themes/ransom.json +62 -0
  90. package/.agents/skills/embedded-captions/themes/scoreboard.json +54 -0
  91. package/.agents/skills/embedded-captions/themes/spectrum.json +46 -0
  92. package/.agents/skills/embedded-captions/themes/stardust.json +29 -0
  93. package/.agents/skills/embedded-captions/themes/stomp.json +43 -0
  94. package/.agents/skills/embedded-captions/themes/terminal.json +49 -0
  95. package/.agents/skills/embedded-captions/themes/thunder.json +44 -0
  96. package/.agents/skills/embedded-captions/themes/transit.json +44 -0
  97. package/.agents/skills/embedded-captions/themes/vhs.json +47 -0
  98. package/.agents/skills/faceless-explainer/SKILL.md +209 -0
  99. package/.agents/skills/faceless-explainer/references/cut-catalog.md +215 -0
  100. package/.agents/skills/faceless-explainer/references/motion-language.md +156 -0
  101. package/.agents/skills/faceless-explainer/references/story-design.md +248 -0
  102. package/.agents/skills/faceless-explainer/references/visual-design.md +146 -0
  103. package/.agents/skills/faceless-explainer/scripts/assemble-index.mjs +570 -0
  104. package/.agents/skills/faceless-explainer/scripts/audio.mjs +260 -0
  105. package/.agents/skills/faceless-explainer/scripts/build-frame.mjs +536 -0
  106. package/.agents/skills/faceless-explainer/scripts/captions.mjs +508 -0
  107. package/.agents/skills/faceless-explainer/scripts/lib/assets.mjs +55 -0
  108. package/.agents/skills/faceless-explainer/scripts/lib/dimensions.mjs +45 -0
  109. package/.agents/skills/faceless-explainer/scripts/lib/storyboard.mjs +249 -0
  110. package/.agents/skills/faceless-explainer/scripts/lib/tokens.mjs +204 -0
  111. package/.agents/skills/faceless-explainer/scripts/lib/transition-registry.mjs +38 -0
  112. package/.agents/skills/faceless-explainer/scripts/lib/transitions.json +71 -0
  113. package/.agents/skills/faceless-explainer/scripts/transitions.mjs +320 -0
  114. package/.agents/skills/faceless-explainer/sub-agents/frame-worker.md +75 -0
  115. package/.agents/skills/flockposter/LICENSE +17 -0
  116. package/.agents/skills/flockposter/README.md +72 -0
  117. package/.agents/skills/flockposter/SKILL.md +562 -0
  118. package/.agents/skills/flockposter/examples/cli-instagram-reel.sh +21 -0
  119. package/.agents/skills/flockposter/examples/cli-multi-platform.json +69 -0
  120. package/.agents/skills/flockposter/examples/cli-tiktok-upload-only.sh +22 -0
  121. package/.agents/skills/flockposter/examples/cli-x-thread.sh +17 -0
  122. package/.agents/skills/flockposter/examples/cli-youtube-short.sh +21 -0
  123. package/.agents/skills/flockposter/examples/public-api-instagram-reel.json +28 -0
  124. package/.agents/skills/general-video/SKILL.md +143 -0
  125. package/.agents/skills/hyperframes/SKILL.md +160 -0
  126. package/.agents/skills/hyperframes-animation/SKILL.md +84 -0
  127. package/.agents/skills/hyperframes-animation/adapters/animate-text.md +64 -0
  128. package/.agents/skills/hyperframes-animation/adapters/animejs.md +114 -0
  129. package/.agents/skills/hyperframes-animation/adapters/css-animations.md +143 -0
  130. package/.agents/skills/hyperframes-animation/adapters/gsap-easing-and-stagger.md +118 -0
  131. package/.agents/skills/hyperframes-animation/adapters/gsap-timeline-and-labels.md +96 -0
  132. package/.agents/skills/hyperframes-animation/adapters/gsap-transforms-and-perf.md +96 -0
  133. package/.agents/skills/hyperframes-animation/adapters/gsap.md +105 -0
  134. package/.agents/skills/hyperframes-animation/adapters/html-in-canvas-patterns.md +507 -0
  135. package/.agents/skills/hyperframes-animation/adapters/lottie.md +117 -0
  136. package/.agents/skills/hyperframes-animation/adapters/three.md +131 -0
  137. package/.agents/skills/hyperframes-animation/adapters/typegpu.md +178 -0
  138. package/.agents/skills/hyperframes-animation/adapters/waapi.md +101 -0
  139. package/.agents/skills/hyperframes-animation/blueprints/comparison-split.md +27 -0
  140. package/.agents/skills/hyperframes-animation/blueprints/constellation-hub.md +44 -0
  141. package/.agents/skills/hyperframes-animation/blueprints/cta-morph-press.md +28 -0
  142. package/.agents/skills/hyperframes-animation/blueprints/cursor-ui-demo.md +57 -0
  143. package/.agents/skills/hyperframes-animation/blueprints/dataviz-countup.md +46 -0
  144. package/.agents/skills/hyperframes-animation/blueprints/device-surface-showcase.md +53 -0
  145. package/.agents/skills/hyperframes-animation/blueprints/grid-card-assemble.md +66 -0
  146. package/.agents/skills/hyperframes-animation/blueprints/kinetic-type-beats.md +78 -0
  147. package/.agents/skills/hyperframes-animation/blueprints/logo-assemble-lockup.md +69 -0
  148. package/.agents/skills/hyperframes-animation/blueprints/overwhelm-surround.md +28 -0
  149. package/.agents/skills/hyperframes-animation/blueprints/spatial-pan-stations.md +37 -0
  150. package/.agents/skills/hyperframes-animation/blueprints/ticker-takeover.md +29 -0
  151. package/.agents/skills/hyperframes-animation/blueprints/titlecard-reveal.md +42 -0
  152. package/.agents/skills/hyperframes-animation/blueprints/typewriter-reveal.md +51 -0
  153. package/.agents/skills/hyperframes-animation/blueprints/video-text-pivot.md +30 -0
  154. package/.agents/skills/hyperframes-animation/blueprints-index.md +146 -0
  155. package/.agents/skills/hyperframes-animation/examples/assets/avatars/02.avif +0 -0
  156. package/.agents/skills/hyperframes-animation/examples/assets/brands/github.avif +0 -0
  157. package/.agents/skills/hyperframes-animation/examples/assets/brands/nvidia.avif +0 -0
  158. package/.agents/skills/hyperframes-animation/examples/assets/brands/visa.avif +0 -0
  159. package/.agents/skills/hyperframes-animation/examples/assets/brands/zoominfo.avif +0 -0
  160. package/.agents/skills/hyperframes-animation/examples/brand-reveal-assemble-zoom.html +382 -0
  161. package/.agents/skills/hyperframes-animation/examples/comparison-split-cards.html +649 -0
  162. package/.agents/skills/hyperframes-animation/examples/concept-demo-decode-pan.html +520 -0
  163. package/.agents/skills/hyperframes-animation/examples/cta-morph-press.html +468 -0
  164. package/.agents/skills/hyperframes-animation/examples/cta-orbit-collapse.html +1298 -0
  165. package/.agents/skills/hyperframes-animation/examples/demo-page-scroll-spotlight.html +759 -0
  166. package/.agents/skills/hyperframes-animation/examples/hook-counter-burst.html +729 -0
  167. package/.agents/skills/hyperframes-animation/examples/messaging-multi-phrase.html +352 -0
  168. package/.agents/skills/hyperframes-animation/examples/metric-video-text-pivot.html +779 -0
  169. package/.agents/skills/hyperframes-animation/examples/problem-mockup-overwhelm.html +1374 -0
  170. package/.agents/skills/hyperframes-animation/examples/proof-logo-chain.html +861 -0
  171. package/.agents/skills/hyperframes-animation/examples/takeover-ticker-displace.html +347 -0
  172. package/.agents/skills/hyperframes-animation/examples/workflow-approve-press.html +606 -0
  173. package/.agents/skills/hyperframes-animation/rules/3d-page-scroll.md +227 -0
  174. package/.agents/skills/hyperframes-animation/rules/3d-text-depth-layers.md +297 -0
  175. package/.agents/skills/hyperframes-animation/rules/ai-tracking-box.md +382 -0
  176. package/.agents/skills/hyperframes-animation/rules/ambient-glow-bloom.md +305 -0
  177. package/.agents/skills/hyperframes-animation/rules/asr-keyword-glow.md +286 -0
  178. package/.agents/skills/hyperframes-animation/rules/avatar-cloud-network.md +371 -0
  179. package/.agents/skills/hyperframes-animation/rules/camera-cursor-tracking.md +246 -0
  180. package/.agents/skills/hyperframes-animation/rules/card-morph-anchor.md +267 -0
  181. package/.agents/skills/hyperframes-animation/rules/center-outward-expansion.md +227 -0
  182. package/.agents/skills/hyperframes-animation/rules/context-sensitive-cursor.md +257 -0
  183. package/.agents/skills/hyperframes-animation/rules/coordinate-target-zoom.md +332 -0
  184. package/.agents/skills/hyperframes-animation/rules/counting-dynamic-scale.md +283 -0
  185. package/.agents/skills/hyperframes-animation/rules/css-marker-patterns.md +373 -0
  186. package/.agents/skills/hyperframes-animation/rules/cursor-click-ripple.md +262 -0
  187. package/.agents/skills/hyperframes-animation/rules/depth-of-field-blur.md +313 -0
  188. package/.agents/skills/hyperframes-animation/rules/depth-scatter-assemble.md +303 -0
  189. package/.agents/skills/hyperframes-animation/rules/discrete-text-sequence.md +273 -0
  190. package/.agents/skills/hyperframes-animation/rules/dynamic-content-sequencing.md +307 -0
  191. package/.agents/skills/hyperframes-animation/rules/gsap-effects.md +299 -0
  192. package/.agents/skills/hyperframes-animation/rules/hacker-flip-3d.md +223 -0
  193. package/.agents/skills/hyperframes-animation/rules/kinetic-beat-slam.md +183 -0
  194. package/.agents/skills/hyperframes-animation/rules/motion-blur-streak.md +328 -0
  195. package/.agents/skills/hyperframes-animation/rules/multi-phase-camera.md +273 -0
  196. package/.agents/skills/hyperframes-animation/rules/orbit-3d-entry.md +301 -0
  197. package/.agents/skills/hyperframes-animation/rules/physics-press-reaction.md +350 -0
  198. package/.agents/skills/hyperframes-animation/rules/press-release-spring.md +296 -0
  199. package/.agents/skills/hyperframes-animation/rules/reactive-displacement.md +277 -0
  200. package/.agents/skills/hyperframes-animation/rules/scale-swap-transition.md +298 -0
  201. package/.agents/skills/hyperframes-animation/rules/sine-wave-loop.md +278 -0
  202. package/.agents/skills/hyperframes-animation/rules/split-tilt-cards.md +277 -0
  203. package/.agents/skills/hyperframes-animation/rules/spring-pop-entrance.md +273 -0
  204. package/.agents/skills/hyperframes-animation/rules/stat-bars-and-fills.md +156 -0
  205. package/.agents/skills/hyperframes-animation/rules/svg-icon-enrichment.md +329 -0
  206. package/.agents/skills/hyperframes-animation/rules/svg-path-draw.md +274 -0
  207. package/.agents/skills/hyperframes-animation/rules/vertical-spring-ticker.md +239 -0
  208. package/.agents/skills/hyperframes-animation/rules/viewport-change.md +349 -0
  209. package/.agents/skills/hyperframes-animation/rules-index.md +86 -0
  210. package/.agents/skills/hyperframes-animation/scripts/animation-map.mjs +606 -0
  211. package/.agents/skills/hyperframes-animation/scripts/package-loader.mjs +288 -0
  212. package/.agents/skills/hyperframes-animation/scripts/package-loader.test.mjs +62 -0
  213. package/.agents/skills/hyperframes-animation/techniques.md +507 -0
  214. package/.agents/skills/hyperframes-animation/transitions/TRANSITION-REGISTRY.md +167 -0
  215. package/.agents/skills/hyperframes-animation/transitions/catalog.md +127 -0
  216. package/.agents/skills/hyperframes-animation/transitions/css-3d.md +12 -0
  217. package/.agents/skills/hyperframes-animation/transitions/css-blur.md +51 -0
  218. package/.agents/skills/hyperframes-animation/transitions/css-cover.md +43 -0
  219. package/.agents/skills/hyperframes-animation/transitions/css-destruction.md +95 -0
  220. package/.agents/skills/hyperframes-animation/transitions/css-dissolve.md +66 -0
  221. package/.agents/skills/hyperframes-animation/transitions/css-distortion.md +45 -0
  222. package/.agents/skills/hyperframes-animation/transitions/css-grid.md +10 -0
  223. package/.agents/skills/hyperframes-animation/transitions/css-light.md +49 -0
  224. package/.agents/skills/hyperframes-animation/transitions/css-mechanical.md +30 -0
  225. package/.agents/skills/hyperframes-animation/transitions/css-other.md +25 -0
  226. package/.agents/skills/hyperframes-animation/transitions/css-push.md +41 -0
  227. package/.agents/skills/hyperframes-animation/transitions/css-radial.md +37 -0
  228. package/.agents/skills/hyperframes-animation/transitions/css-scale.md +24 -0
  229. package/.agents/skills/hyperframes-animation/transitions/overview.md +153 -0
  230. package/.agents/skills/hyperframes-cli/SKILL.md +113 -0
  231. package/.agents/skills/hyperframes-cli/references/doctor-browser.md +45 -0
  232. package/.agents/skills/hyperframes-cli/references/init-and-scaffold.md +55 -0
  233. package/.agents/skills/hyperframes-cli/references/lambda.md +132 -0
  234. package/.agents/skills/hyperframes-cli/references/lint-validate-inspect.md +121 -0
  235. package/.agents/skills/hyperframes-cli/references/preview-render.md +149 -0
  236. package/.agents/skills/hyperframes-cli/references/upgrade-info-misc.md +75 -0
  237. package/.agents/skills/hyperframes-core/SKILL.md +78 -0
  238. package/.agents/skills/hyperframes-core/references/composition-patterns.md +263 -0
  239. package/.agents/skills/hyperframes-core/references/data-attributes.md +70 -0
  240. package/.agents/skills/hyperframes-core/references/determinism-rules.md +68 -0
  241. package/.agents/skills/hyperframes-core/references/full-screen-motion.md +62 -0
  242. package/.agents/skills/hyperframes-core/references/minimal-composition.md +66 -0
  243. package/.agents/skills/hyperframes-core/references/script-format.md +49 -0
  244. package/.agents/skills/hyperframes-core/references/storyboard-format.md +95 -0
  245. package/.agents/skills/hyperframes-core/references/sub-compositions.md +237 -0
  246. package/.agents/skills/hyperframes-core/references/subagent-dispatch.md +41 -0
  247. package/.agents/skills/hyperframes-core/references/tailwind.md +125 -0
  248. package/.agents/skills/hyperframes-core/references/tracks-and-clips.md +76 -0
  249. package/.agents/skills/hyperframes-core/references/variables-and-media.md +90 -0
  250. package/.agents/skills/hyperframes-creative/SKILL.md +70 -0
  251. package/.agents/skills/hyperframes-creative/frame-presets/biennale-yellow/FRAME.md +289 -0
  252. package/.agents/skills/hyperframes-creative/frame-presets/biennale-yellow/caption-skin.html +221 -0
  253. package/.agents/skills/hyperframes-creative/frame-presets/biennale-yellow/frame-showcase.html +1214 -0
  254. package/.agents/skills/hyperframes-creative/frame-presets/blockframe/FRAME.md +275 -0
  255. package/.agents/skills/hyperframes-creative/frame-presets/blockframe/caption-skin.html +224 -0
  256. package/.agents/skills/hyperframes-creative/frame-presets/blockframe/frame-showcase.html +1347 -0
  257. package/.agents/skills/hyperframes-creative/frame-presets/blue-professional/FRAME.md +307 -0
  258. package/.agents/skills/hyperframes-creative/frame-presets/blue-professional/caption-skin.html +223 -0
  259. package/.agents/skills/hyperframes-creative/frame-presets/blue-professional/frame-showcase.html +1372 -0
  260. package/.agents/skills/hyperframes-creative/frame-presets/bold-poster/FRAME.md +275 -0
  261. package/.agents/skills/hyperframes-creative/frame-presets/bold-poster/caption-skin.html +230 -0
  262. package/.agents/skills/hyperframes-creative/frame-presets/bold-poster/frame-showcase.html +1140 -0
  263. package/.agents/skills/hyperframes-creative/frame-presets/broadside/FRAME.md +284 -0
  264. package/.agents/skills/hyperframes-creative/frame-presets/broadside/caption-skin.html +225 -0
  265. package/.agents/skills/hyperframes-creative/frame-presets/broadside/frame-showcase.html +1166 -0
  266. package/.agents/skills/hyperframes-creative/frame-presets/capsule/FRAME.md +284 -0
  267. package/.agents/skills/hyperframes-creative/frame-presets/capsule/caption-skin.html +224 -0
  268. package/.agents/skills/hyperframes-creative/frame-presets/capsule/frame-showcase.html +1465 -0
  269. package/.agents/skills/hyperframes-creative/frame-presets/cartesian/FRAME.md +278 -0
  270. package/.agents/skills/hyperframes-creative/frame-presets/cartesian/caption-skin.html +222 -0
  271. package/.agents/skills/hyperframes-creative/frame-presets/cartesian/frame-showcase.html +1263 -0
  272. package/.agents/skills/hyperframes-creative/frame-presets/claude/FRAME.md +277 -0
  273. package/.agents/skills/hyperframes-creative/frame-presets/claude/caption-skin.html +224 -0
  274. package/.agents/skills/hyperframes-creative/frame-presets/claude/frame-showcase.html +1439 -0
  275. package/.agents/skills/hyperframes-creative/frame-presets/cobalt-grid/FRAME.md +265 -0
  276. package/.agents/skills/hyperframes-creative/frame-presets/cobalt-grid/caption-skin.html +238 -0
  277. package/.agents/skills/hyperframes-creative/frame-presets/cobalt-grid/frame-showcase.html +1468 -0
  278. package/.agents/skills/hyperframes-creative/frame-presets/coral/FRAME.md +314 -0
  279. package/.agents/skills/hyperframes-creative/frame-presets/coral/caption-skin.html +226 -0
  280. package/.agents/skills/hyperframes-creative/frame-presets/coral/frame-showcase.html +1268 -0
  281. package/.agents/skills/hyperframes-creative/frame-presets/creative-mode/FRAME.md +333 -0
  282. package/.agents/skills/hyperframes-creative/frame-presets/creative-mode/caption-skin.html +227 -0
  283. package/.agents/skills/hyperframes-creative/frame-presets/creative-mode/frame-showcase.html +1330 -0
  284. package/.agents/skills/hyperframes-creative/frame-presets/daisy-days/FRAME.md +274 -0
  285. package/.agents/skills/hyperframes-creative/frame-presets/daisy-days/caption-skin.html +230 -0
  286. package/.agents/skills/hyperframes-creative/frame-presets/daisy-days/frame-showcase.html +1444 -0
  287. package/.agents/skills/hyperframes-creative/frame-presets/editorial-forest/FRAME.md +265 -0
  288. package/.agents/skills/hyperframes-creative/frame-presets/editorial-forest/caption-skin.html +223 -0
  289. package/.agents/skills/hyperframes-creative/frame-presets/editorial-forest/frame-showcase.html +1273 -0
  290. package/.agents/skills/hyperframes-creative/palettes/bold-energetic.md +14 -0
  291. package/.agents/skills/hyperframes-creative/palettes/clean-corporate.md +14 -0
  292. package/.agents/skills/hyperframes-creative/palettes/dark-premium.md +14 -0
  293. package/.agents/skills/hyperframes-creative/palettes/jewel-rich.md +14 -0
  294. package/.agents/skills/hyperframes-creative/palettes/monochrome.md +14 -0
  295. package/.agents/skills/hyperframes-creative/palettes/nature-earth.md +14 -0
  296. package/.agents/skills/hyperframes-creative/palettes/neon-electric.md +14 -0
  297. package/.agents/skills/hyperframes-creative/palettes/pastel-soft.md +14 -0
  298. package/.agents/skills/hyperframes-creative/palettes/warm-editorial.md +14 -0
  299. package/.agents/skills/hyperframes-creative/references/audio-reactive.md +76 -0
  300. package/.agents/skills/hyperframes-creative/references/beat-direction.md +164 -0
  301. package/.agents/skills/hyperframes-creative/references/composition-patterns.md +199 -0
  302. package/.agents/skills/hyperframes-creative/references/data-in-motion.md +19 -0
  303. package/.agents/skills/hyperframes-creative/references/design-adherence.md +19 -0
  304. package/.agents/skills/hyperframes-creative/references/design-picker.md +123 -0
  305. package/.agents/skills/hyperframes-creative/references/design-spec.md +55 -0
  306. package/.agents/skills/hyperframes-creative/references/house-style.md +73 -0
  307. package/.agents/skills/hyperframes-creative/references/motion-principles.md +150 -0
  308. package/.agents/skills/hyperframes-creative/references/narration.md +92 -0
  309. package/.agents/skills/hyperframes-creative/references/prompt-expansion.md +68 -0
  310. package/.agents/skills/hyperframes-creative/references/typography.md +218 -0
  311. package/.agents/skills/hyperframes-creative/references/video-composition.md +63 -0
  312. package/.agents/skills/hyperframes-creative/references/visual-styles.md +457 -0
  313. package/.agents/skills/hyperframes-creative/scripts/contrast-report.mjs +353 -0
  314. package/.agents/skills/hyperframes-creative/scripts/extract-audio-data.py +188 -0
  315. package/.agents/skills/hyperframes-creative/scripts/package-loader.mjs +288 -0
  316. package/.agents/skills/hyperframes-creative/scripts/package-loader.test.mjs +62 -0
  317. package/.agents/skills/hyperframes-creative/templates/design-picker.html +1432 -0
  318. package/.agents/skills/hyperframes-keyframes/SKILL.md +237 -0
  319. package/.agents/skills/hyperframes-keyframes/agents/openai.yaml +4 -0
  320. package/.agents/skills/hyperframes-keyframes/references/keyframe-patterns.md +106 -0
  321. package/.agents/skills/motion-graphics/SKILL.md +172 -0
  322. package/.agents/skills/motion-graphics/agents/builder.md +40 -0
  323. package/.agents/skills/motion-graphics/agents/director.md +53 -0
  324. package/.agents/skills/motion-graphics/agents/finalize.md +17 -0
  325. package/.agents/skills/motion-graphics/catalog-map.md +40 -0
  326. package/.agents/skills/motion-graphics/categories/asset-fusion/module.md +37 -0
  327. package/.agents/skills/motion-graphics/categories/charts/module.md +21 -0
  328. package/.agents/skills/motion-graphics/categories/kinetic-type/module.md +19 -0
  329. package/.agents/skills/motion-graphics/categories/logo-reveal/module.md +17 -0
  330. package/.agents/skills/motion-graphics/categories/lower-thirds/module.md +16 -0
  331. package/.agents/skills/motion-graphics/categories/maps/bake-basemap.mjs +273 -0
  332. package/.agents/skills/motion-graphics/categories/maps/module.md +61 -0
  333. package/.agents/skills/motion-graphics/categories/news/module.md +56 -0
  334. package/.agents/skills/motion-graphics/categories/stat/module.md +21 -0
  335. package/.agents/skills/motion-graphics/categories/tweet/module.md +16 -0
  336. package/.agents/skills/motion-graphics/categories/webpage/module.md +21 -0
  337. package/.agents/skills/motion-graphics/grounding/PROTOCOL.md +64 -0
  338. package/.agents/skills/motion-graphics/grounding/locate.mjs +227 -0
  339. package/.agents/skills/motion-graphics/phases/source/guide.md +21 -0
  340. package/.agents/skills/motion-graphics/references/builder-contract.md +38 -0
  341. package/.agents/skills/motion-graphics/references/motion-vocabulary.md +43 -0
  342. package/.agents/skills/motion-graphics/references/shot-plan-ir.md +54 -0
  343. package/.agents/skills/motion-graphics/samples/asset-fusion/_ref-circle-highlight.html +306 -0
  344. package/.agents/skills/product-launch-video/SKILL.md +208 -0
  345. package/.agents/skills/product-launch-video/references/cut-catalog.md +220 -0
  346. package/.agents/skills/product-launch-video/references/motion-language.md +156 -0
  347. package/.agents/skills/product-launch-video/references/story-design.md +373 -0
  348. package/.agents/skills/product-launch-video/references/visual-design.md +126 -0
  349. package/.agents/skills/product-launch-video/scripts/assemble-index.mjs +570 -0
  350. package/.agents/skills/product-launch-video/scripts/audio.mjs +260 -0
  351. package/.agents/skills/product-launch-video/scripts/build-frame.mjs +536 -0
  352. package/.agents/skills/product-launch-video/scripts/captions.mjs +508 -0
  353. package/.agents/skills/product-launch-video/scripts/lib/assets.mjs +55 -0
  354. package/.agents/skills/product-launch-video/scripts/lib/dimensions.mjs +45 -0
  355. package/.agents/skills/product-launch-video/scripts/lib/pad-frame-duration.mjs +36 -0
  356. package/.agents/skills/product-launch-video/scripts/lib/pad-frame-duration.test.mjs +76 -0
  357. package/.agents/skills/product-launch-video/scripts/lib/storyboard.mjs +249 -0
  358. package/.agents/skills/product-launch-video/scripts/lib/tokens.mjs +204 -0
  359. package/.agents/skills/product-launch-video/scripts/lib/transition-registry.mjs +38 -0
  360. package/.agents/skills/product-launch-video/scripts/lib/transitions.json +71 -0
  361. package/.agents/skills/product-launch-video/scripts/stage-assets.mjs +39 -0
  362. package/.agents/skills/product-launch-video/scripts/transitions.mjs +327 -0
  363. package/.agents/skills/product-launch-video/sub-agents/frame-worker.md +75 -0
  364. package/.agents/skills/slideshow/SKILL.md +550 -0
  365. package/.agents/skills/slideshow/references/standalone-harness.md +1020 -0
  366. package/.agents/skills/talking-head-recut/NOTICE.md +39 -0
  367. package/.agents/skills/talking-head-recut/SKILL.md +1195 -0
  368. package/.agents/skills/talking-head-recut/assets/vendor/gsap.min.js +10 -0
  369. package/.agents/skills/talking-head-recut/references/DESIGN_INDEX.md +145 -0
  370. package/.agents/skills/talking-head-recut/references/frames/clean.html +92 -0
  371. package/.agents/skills/talking-head-recut/references/frames/hairline.html +171 -0
  372. package/.agents/skills/talking-head-recut/references/frames/polaroid.html +131 -0
  373. package/.agents/skills/talking-head-recut/references/layouts/overlay.html +164 -0
  374. package/.agents/skills/talking-head-recut/references/layouts/pip.html +143 -0
  375. package/.agents/skills/talking-head-recut/references/layouts/split.html +121 -0
  376. package/.agents/skills/talking-head-recut/references/layouts/stack.html +109 -0
  377. package/.agents/skills/talking-head-recut/references/styles/academic.html +172 -0
  378. package/.agents/skills/talking-head-recut/references/styles/audit.html +170 -0
  379. package/.agents/skills/talking-head-recut/references/styles/editorial.html +189 -0
  380. package/.agents/skills/talking-head-recut/references/styles/geom.html +181 -0
  381. package/.agents/skills/talking-head-recut/references/styles/minimal.html +130 -0
  382. package/.agents/skills/talking-head-recut/references/styles/spotlight.html +142 -0
  383. package/.agents/skills/talking-head-recut/references/styles/swiss.html +188 -0
  384. package/.agents/skills/talking-head-recut/references/styles/terminal.html +196 -0
  385. package/.agents/skills/talking-head-recut/references/styles/whiteboard.html +170 -0
  386. package/.agents/skills/talking-head-recut/references/styles/xhs.html +206 -0
  387. package/.agents/skills/vidfarm-media/SKILL.md +85 -0
  388. package/.agents/skills/vidfarm-media/references/tts.md +54 -0
  389. package/.agents/skills/vidfarm-media/scripts/audio.mjs +628 -0
  390. package/.agents/skills/vidfarm-media/scripts/wait-bgm.mjs +31 -0
  391. package/.agents/skills/website-to-video/SKILL.md +145 -0
  392. package/.agents/skills/website-to-video/assets/sfx/CREDITS.md +35 -0
  393. package/.agents/skills/website-to-video/assets/sfx/manifest.json +97 -0
  394. package/.agents/skills/website-to-video/references/beat-builder-guide.md +263 -0
  395. package/.agents/skills/website-to-video/references/capabilities.md +713 -0
  396. package/.agents/skills/website-to-video/references/step-0-capture.md +55 -0
  397. package/.agents/skills/website-to-video/references/step-1-design.md +333 -0
  398. package/.agents/skills/website-to-video/references/step-2-brief.md +178 -0
  399. package/.agents/skills/website-to-video/references/step-3-storyboard.md +572 -0
  400. package/.agents/skills/website-to-video/references/step-4-vo.md +225 -0
  401. package/.agents/skills/website-to-video/references/step-5-build.md +483 -0
  402. package/.agents/skills/website-to-video/references/step-6-validate.md +341 -0
  403. package/.agents/skills/website-to-video/scripts/w2h-verify.mjs +759 -0
  404. package/SKILL.director.md +60 -4
  405. package/SKILL.platform.md +7 -2
  406. package/demo/dist/app.css +1 -1
  407. package/demo/dist/app.js +485 -86
  408. package/dist/src/account-pages-legacy.js +9 -14
  409. package/dist/src/app.js +659 -159
  410. package/dist/src/cli.js +618 -17
  411. package/dist/src/composition-runtime.js +286 -6
  412. package/dist/src/devcli/composition-edit.js +176 -8
  413. package/dist/src/devcli/doctor.js +192 -0
  414. package/dist/src/devcli/hyperframes-cli.js +118 -0
  415. package/dist/src/devcli/skills.js +476 -0
  416. package/dist/src/devcli/stills.js +249 -0
  417. package/dist/src/devcli/transitions.js +205 -0
  418. package/dist/src/editor-chat.js +260 -4
  419. package/dist/src/frontend/template-editor-chat.js +6 -5
  420. package/dist/src/homepage.js +2 -48
  421. package/dist/src/hyperframes/composition.js +188 -7
  422. package/dist/src/services/composition-lint.js +199 -0
  423. package/dist/src/services/hyperframes.js +127 -28
  424. package/dist/src/services/serverless-records.js +7 -0
  425. package/dist/src/template-editor-shell.js +87 -48
  426. package/package.json +2 -1
  427. package/public/assets/page-runtime-client-app.js +31 -31
@@ -0,0 +1,562 @@
1
+ ---
2
+ name: flockposter
3
+ description: Use this skill whenever the user wants to install, configure, or use FlockPoster from the command line, automate social media scheduling, upload media before posting, inspect connected integrations, create drafts or scheduled posts, or fetch analytics through the public FlockPoster CLI and API.
4
+ homepage: https://docs.flockposter.com
5
+ metadata: {"clawdbot":{"requires":{"bins":["flockposter"],"env":["FLOCKPOSTER_API_KEY"]}}}
6
+ ---
7
+
8
+ # FlockPoster Customer Skill
9
+
10
+ Use this skill for customer-facing FlockPoster CLI workflows only. Stay within the public CLI and public API. Do not assume access to product internals, deployment infrastructure, private repositories, or unreleased features.
11
+
12
+ ## Scope
13
+
14
+ Help with:
15
+ - installing `flockposter-cli`
16
+ - configuring `FLOCKPOSTER_API_KEY`
17
+ - listing integrations
18
+ - discovering provider settings and dynamic tools
19
+ - uploading media before posting
20
+ - creating draft or scheduled posts
21
+ - listing or deleting posts
22
+ - fetching platform or post analytics
23
+ - resolving missing release IDs with public commands
24
+
25
+ Do not rely on private files, internal architecture, staging environments, deployment commands, or internal business logic.
26
+
27
+ ## Setup
28
+
29
+ Install the CLI if it is missing:
30
+
31
+ ```bash
32
+ npm install -g flockposter-cli
33
+ ```
34
+
35
+ Required environment variable:
36
+
37
+ ```bash
38
+ export FLOCKPOSTER_API_KEY=your_api_key_here
39
+ ```
40
+
41
+ Optional for self-hosted or non-default API hosts:
42
+
43
+ ```bash
44
+ export FLOCKPOSTER_API_URL=https://your-host.example.com/api
45
+ ```
46
+
47
+ If the user does not know where to get an API key, direct them to their FlockPoster account settings and the public docs rather than guessing.
48
+
49
+ ## Working Pattern
50
+
51
+ Use this sequence unless the user asks for something narrower:
52
+
53
+ 1. Discover integrations with `flockposter integrations:list`
54
+ 2. Inspect integration settings with `flockposter integrations:settings <integration-id>`
55
+ 3. Fetch provider-specific dynamic data when needed with `flockposter integrations:trigger`
56
+ 4. Upload media before posting with `flockposter upload <file>`
57
+ 5. Create the post with `flockposter posts:create`
58
+ 6. Review output with `flockposter posts:list` or analytics commands
59
+
60
+ Do not skip discovery for provider-specific posts. Integration IDs are customer-specific, and settings can vary by provider, account, and release.
61
+
62
+ ## Agent Decision Rules
63
+
64
+ - Use CLI flags for one platform with one shared content body.
65
+ - Use repeated `-c` and matching repeated `-m` values for comments, replies, or X threads.
66
+ - Use `posts:create --json <file>` when each platform needs different content, different media, or different settings.
67
+ - For CLI `--settings`, pass provider fields directly; the backend can infer the provider from the integration ID.
68
+ - For CLI `--json`, include `settings.__type` when settings are present.
69
+ - For public API payloads, always include `settings.__type` for provider-specific settings.
70
+ - Never invent provider values. Run `integrations:settings`, then use the field names and allowed values shown by the schema.
71
+ - Treat uploaded FlockPoster media URLs as the default for TikTok, Instagram, and YouTube posts.
72
+
73
+ ## Core Commands
74
+
75
+ Discovery:
76
+
77
+ ```bash
78
+ flockposter integrations:list
79
+ flockposter integrations:settings <integration-id>
80
+ flockposter integrations:trigger <integration-id> <method> -d '{"key":"value"}'
81
+ ```
82
+
83
+ Posting:
84
+
85
+ ```bash
86
+ flockposter posts:create -c "Content" -s "2026-05-18T15:00:00Z" -i "integration-id"
87
+ flockposter posts:create -c "Content" -s "2026-05-18T15:00:00Z" -t draft -i "integration-id"
88
+ flockposter posts:create -c "Thread item 1" -c "Thread item 2" -s "2026-05-18T15:00:00Z" -d 5000 -i "integration-id"
89
+ flockposter posts:create --json post.json
90
+ ```
91
+
92
+ Management:
93
+
94
+ ```bash
95
+ flockposter posts:list
96
+ flockposter posts:delete <post-id>
97
+ ```
98
+
99
+ Uploads:
100
+
101
+ ```bash
102
+ flockposter upload image.jpg
103
+ ```
104
+
105
+ For posts with local media, upload the file first and pass the returned `.path` to `posts:create`:
106
+
107
+ ```bash
108
+ MEDIA_RESULT=$(flockposter upload video.mp4)
109
+ MEDIA_URL=$(echo "$MEDIA_RESULT" | jq -r '.path')
110
+ flockposter posts:create -c "Content" -s "2026-05-18T15:00:00Z" -m "$MEDIA_URL" -i "integration-id"
111
+ ```
112
+
113
+ Analytics:
114
+
115
+ ```bash
116
+ flockposter analytics:platform <integration-id> -d 30
117
+ flockposter analytics:post <post-id> -d 7
118
+ ```
119
+
120
+ Missing release ID recovery:
121
+
122
+ ```bash
123
+ flockposter posts:missing <post-id>
124
+ flockposter posts:connect <post-id> --release-id "<content-id>"
125
+ ```
126
+
127
+ ## Payload Shapes
128
+
129
+ CLI `--settings` example. Use this for a single integration:
130
+
131
+ ```bash
132
+ flockposter posts:create \
133
+ -c "Post content" \
134
+ -s "2026-05-18T15:00:00Z" \
135
+ --settings '{"who_can_reply_post":"everyone"}' \
136
+ -i "x-integration-id"
137
+ ```
138
+
139
+ CLI `--json` example. Use this when platforms need different content/settings:
140
+
141
+ ```json
142
+ {
143
+ "integrations": ["x-integration-id", "instagram-integration-id"],
144
+ "posts": [
145
+ {
146
+ "provider": "x",
147
+ "post": [{ "content": "Short X version", "image": [] }],
148
+ "settings": { "__type": "x", "who_can_reply_post": "everyone" }
149
+ },
150
+ {
151
+ "provider": "instagram",
152
+ "post": [{ "content": "Instagram caption", "image": ["https://uploads.flockposter.com/reel.mp4"] }],
153
+ "settings": { "__type": "instagram", "post_type": "post" }
154
+ }
155
+ ]
156
+ }
157
+ ```
158
+
159
+ Public API payloads use a different shape from CLI JSON files:
160
+
161
+ ```json
162
+ {
163
+ "type": "schedule",
164
+ "date": "2026-05-18T15:00:00.000Z",
165
+ "shortLink": false,
166
+ "tags": [],
167
+ "posts": [
168
+ {
169
+ "integration": { "id": "instagram-integration-id" },
170
+ "value": [
171
+ {
172
+ "content": "Instagram caption",
173
+ "image": [{ "id": "uploaded-media-id", "path": "https://uploads.flockposter.com/reel.mp4" }]
174
+ }
175
+ ],
176
+ "settings": { "__type": "instagram", "post_type": "post" }
177
+ }
178
+ ]
179
+ }
180
+ ```
181
+
182
+ ## Provider-Specific Cases
183
+
184
+ Always run `flockposter integrations:settings <integration-id>` before relying on provider-specific fields. The examples below show common public settings, but the live integration schema should be treated as the source of truth.
185
+
186
+ Common setting keys:
187
+
188
+ | Provider | Required/common settings | Notes |
189
+ |----------|--------------------------|-------|
190
+ | X | `who_can_reply_post`, optional `community` | Valid reply values: `everyone`, `following`, `mentionedUsers`, `subscribers`, `verified`. |
191
+ | TikTok | `privacy_level`, `comment`, `duet`, `stitch`, `autoAddMusic`, `brand_content_toggle`, `brand_organic_toggle`, `content_posting_method` | Use `content_posting_method: "UPLOAD"` for upload without posting. |
192
+ | Instagram | `post_type`, optional `is_trial_reel`, `graduation_strategy`, `collaborators` | Reels use `post_type: "post"` with video media. |
193
+ | YouTube | `title`, `type`, optional `selfDeclaredMadeForKids`, `thumbnail`, `tags` | Shorts use normal YouTube upload settings. |
194
+
195
+ ### X
196
+
197
+ Use `who_can_reply_post` to control replies. Valid values are `everyone`, `following`, `mentionedUsers`, `subscribers`, and `verified`. Use `community` only for an X community URL in the form `https://x.com/i/communities/<id>`.
198
+
199
+ ```bash
200
+ flockposter posts:create \
201
+ -c "Post content" \
202
+ -s "2026-05-18T15:00:00Z" \
203
+ --settings '{"who_can_reply_post":"everyone","community":""}' \
204
+ -i "x-integration-id"
205
+ ```
206
+
207
+ For threads, create comments/replies through the normal post/comment structure or JSON mode.
208
+
209
+ ```bash
210
+ flockposter posts:create \
211
+ -c "1/ First thread item" \
212
+ -c "2/ Second thread item" \
213
+ -c "3/ Final thread item" \
214
+ -s "2026-05-18T15:00:00Z" \
215
+ -d 5000 \
216
+ --settings '{"who_can_reply_post":"everyone"}' \
217
+ -i "x-integration-id"
218
+ ```
219
+
220
+ ### TikTok
221
+
222
+ Upload media to FlockPoster before creating TikTok posts. TikTok supports two posting methods:
223
+ - `DIRECT_POST`: publish directly to TikTok.
224
+ - `UPLOAD`: upload media to TikTok without posting, so the creator can review/edit/publish in TikTok later.
225
+
226
+ ```bash
227
+ VIDEO_RESULT=$(flockposter upload video.mp4)
228
+ VIDEO_URL=$(echo "$VIDEO_RESULT" | jq -r '.path')
229
+
230
+ flockposter posts:create \
231
+ -c "Video caption #fyp" \
232
+ -s "2026-05-18T15:00:00Z" \
233
+ --settings '{"content_posting_method":"UPLOAD","privacy_level":"PUBLIC_TO_EVERYONE","comment":true,"duet":false,"stitch":false,"autoAddMusic":"no","brand_content_toggle":false,"brand_organic_toggle":false,"video_made_with_ai":false}' \
234
+ -m "$VIDEO_URL" \
235
+ -i "tiktok-integration-id"
236
+ ```
237
+
238
+ When `content_posting_method` is `UPLOAD`, TikTok handles final publishing in the TikTok app. Privacy, comment, duet, stitch, and disclosure controls may be disabled or ignored by TikTok for upload-only flows.
239
+
240
+ For a direct TikTok publish, use `content_posting_method: "DIRECT_POST"`:
241
+
242
+ ```bash
243
+ flockposter posts:create \
244
+ -c "Video caption #fyp" \
245
+ -s "2026-05-18T15:00:00Z" \
246
+ --settings '{"content_posting_method":"DIRECT_POST","privacy_level":"PUBLIC_TO_EVERYONE","comment":true,"duet":false,"stitch":false,"autoAddMusic":"no","brand_content_toggle":false,"brand_organic_toggle":false,"video_made_with_ai":false}' \
247
+ -m "$VIDEO_URL" \
248
+ -i "tiktok-integration-id"
249
+ ```
250
+
251
+ ### Instagram Reels, Posts, Stories, And Trial Reels
252
+
253
+ Instagram uses `post_type: "post"` for regular feed posts and Reels, and `post_type: "story"` for Stories. FlockPoster determines Reel behavior from video media under `post_type: "post"`.
254
+
255
+ ```bash
256
+ VIDEO_RESULT=$(flockposter upload reel.mp4)
257
+ VIDEO_URL=$(echo "$VIDEO_RESULT" | jq -r '.path')
258
+
259
+ flockposter posts:create \
260
+ -c "Reel caption" \
261
+ -s "2026-05-18T15:00:00Z" \
262
+ --settings '{"post_type":"post"}' \
263
+ -m "$VIDEO_URL" \
264
+ -i "instagram-integration-id"
265
+ ```
266
+
267
+ For Trial Reels, use one video with `is_trial_reel: true`. Optional `graduation_strategy` values are `MANUAL` and `SS_PERFORMANCE`.
268
+
269
+ ```bash
270
+ flockposter posts:create \
271
+ -c "Trial Reel caption" \
272
+ -s "2026-05-18T15:00:00Z" \
273
+ --settings '{"post_type":"post","is_trial_reel":true,"graduation_strategy":"MANUAL"}' \
274
+ -m "$VIDEO_URL" \
275
+ -i "instagram-integration-id"
276
+ ```
277
+
278
+ Stories use `post_type: "story"` and should use Story-compatible media.
279
+
280
+ ```bash
281
+ STORY_RESULT=$(flockposter upload story.jpg)
282
+ STORY_URL=$(echo "$STORY_RESULT" | jq -r '.path')
283
+
284
+ flockposter posts:create \
285
+ -c "" \
286
+ -s "2026-05-18T15:00:00Z" \
287
+ --settings '{"post_type":"story"}' \
288
+ -m "$STORY_URL" \
289
+ -i "instagram-integration-id"
290
+ ```
291
+
292
+ ### YouTube Shorts
293
+
294
+ YouTube uses the normal YouTube upload flow for both standard videos and Shorts. Upload a Shorts-compatible video and create a YouTube post with the usual title, privacy, made-for-kids, thumbnail, and tags settings.
295
+
296
+ ```bash
297
+ VIDEO_RESULT=$(flockposter upload short.mp4)
298
+ VIDEO_URL=$(echo "$VIDEO_RESULT" | jq -r '.path')
299
+
300
+ flockposter posts:create \
301
+ -c "Short description" \
302
+ -s "2026-05-18T15:00:00Z" \
303
+ --settings '{"title":"Short title","type":"public","selfDeclaredMadeForKids":"no","tags":[{"value":"shorts","label":"shorts"}]}' \
304
+ -m "$VIDEO_URL" \
305
+ -i "youtube-integration-id"
306
+ ```
307
+
308
+ For a normal YouTube video, use the same settings and provide the uploaded video URL as media. If using a thumbnail, upload the thumbnail first and pass it in `settings.thumbnail` as an object with `id` and `path`.
309
+
310
+ ## Inline Examples
311
+
312
+ Use these examples directly from the copied `SKILL.md`. Replace integration IDs, dates, captions, and media file paths with the customer's values.
313
+
314
+ ### CLI X Thread
315
+
316
+ ```bash
317
+ #!/usr/bin/env bash
318
+ set -euo pipefail
319
+
320
+ # Required:
321
+ # export FLOCKPOSTER_API_KEY=...
322
+ # export X_INTEGRATION_ID=...
323
+
324
+ flockposter integrations:settings "$X_INTEGRATION_ID"
325
+
326
+ flockposter posts:create \
327
+ -c "1/ First thread item" \
328
+ -c "2/ Second thread item" \
329
+ -c "3/ Final thread item" \
330
+ -s "2026-05-18T15:00:00Z" \
331
+ -d 5000 \
332
+ --settings '{"who_can_reply_post":"everyone","community":""}' \
333
+ -i "$X_INTEGRATION_ID"
334
+ ```
335
+
336
+ ### CLI TikTok Upload Without Posting
337
+
338
+ ```bash
339
+ #!/usr/bin/env bash
340
+ set -euo pipefail
341
+
342
+ # Required:
343
+ # export FLOCKPOSTER_API_KEY=...
344
+ # export TIKTOK_INTEGRATION_ID=...
345
+ # export VIDEO_FILE=video.mp4
346
+ #
347
+ # TikTok upload-only means FlockPoster uploads media to TikTok without publishing it.
348
+ # The creator finishes review/edit/publish inside TikTok.
349
+
350
+ flockposter integrations:settings "$TIKTOK_INTEGRATION_ID"
351
+
352
+ VIDEO_RESULT=$(flockposter upload "${VIDEO_FILE:-video.mp4}")
353
+ VIDEO_URL=$(echo "$VIDEO_RESULT" | jq -r '.path')
354
+
355
+ flockposter posts:create \
356
+ -c "Video caption #fyp" \
357
+ -s "2026-05-18T15:00:00Z" \
358
+ --settings '{"content_posting_method":"UPLOAD","privacy_level":"PUBLIC_TO_EVERYONE","comment":true,"duet":false,"stitch":false,"autoAddMusic":"no","brand_content_toggle":false,"brand_organic_toggle":false,"video_made_with_ai":false}' \
359
+ -m "$VIDEO_URL" \
360
+ -i "$TIKTOK_INTEGRATION_ID"
361
+ ```
362
+
363
+ ### CLI Instagram Reel
364
+
365
+ ```bash
366
+ #!/usr/bin/env bash
367
+ set -euo pipefail
368
+
369
+ # Required:
370
+ # export FLOCKPOSTER_API_KEY=...
371
+ # export INSTAGRAM_INTEGRATION_ID=...
372
+ # export VIDEO_FILE=reel.mp4
373
+ #
374
+ # Instagram Reels use post_type "post" with video media.
375
+
376
+ flockposter integrations:settings "$INSTAGRAM_INTEGRATION_ID"
377
+
378
+ VIDEO_RESULT=$(flockposter upload "${VIDEO_FILE:-reel.mp4}")
379
+ VIDEO_URL=$(echo "$VIDEO_RESULT" | jq -r '.path')
380
+
381
+ flockposter posts:create \
382
+ -c "Reel caption" \
383
+ -s "2026-05-18T15:00:00Z" \
384
+ --settings '{"post_type":"post"}' \
385
+ -m "$VIDEO_URL" \
386
+ -i "$INSTAGRAM_INTEGRATION_ID"
387
+ ```
388
+
389
+ ### CLI YouTube Short
390
+
391
+ ```bash
392
+ #!/usr/bin/env bash
393
+ set -euo pipefail
394
+
395
+ # Required:
396
+ # export FLOCKPOSTER_API_KEY=...
397
+ # export YOUTUBE_INTEGRATION_ID=...
398
+ # export VIDEO_FILE=short.mp4
399
+ #
400
+ # YouTube Shorts use the normal YouTube upload flow.
401
+
402
+ flockposter integrations:settings "$YOUTUBE_INTEGRATION_ID"
403
+
404
+ VIDEO_RESULT=$(flockposter upload "${VIDEO_FILE:-short.mp4}")
405
+ VIDEO_URL=$(echo "$VIDEO_RESULT" | jq -r '.path')
406
+
407
+ flockposter posts:create \
408
+ -c "Short description" \
409
+ -s "2026-05-18T15:00:00Z" \
410
+ --settings '{"title":"Short title","type":"public","selfDeclaredMadeForKids":"no","tags":[{"value":"shorts","label":"shorts"}]}' \
411
+ -m "$VIDEO_URL" \
412
+ -i "$YOUTUBE_INTEGRATION_ID"
413
+ ```
414
+
415
+ ### CLI Multi-Platform JSON
416
+
417
+ Save as `post.json`, replace IDs and media URLs, then run `flockposter posts:create --json post.json`.
418
+
419
+ ```json
420
+ {
421
+ "integrations": ["x-integration-id", "instagram-integration-id", "youtube-integration-id", "tiktok-integration-id"],
422
+ "posts": [
423
+ {
424
+ "provider": "x",
425
+ "post": [
426
+ {
427
+ "content": "Short X version",
428
+ "image": []
429
+ }
430
+ ],
431
+ "settings": {
432
+ "__type": "x",
433
+ "who_can_reply_post": "everyone",
434
+ "community": ""
435
+ }
436
+ },
437
+ {
438
+ "provider": "instagram",
439
+ "post": [
440
+ {
441
+ "content": "Instagram Reel caption",
442
+ "image": ["https://uploads.flockposter.com/reel.mp4"]
443
+ }
444
+ ],
445
+ "settings": {
446
+ "__type": "instagram",
447
+ "post_type": "post"
448
+ }
449
+ },
450
+ {
451
+ "provider": "youtube",
452
+ "post": [
453
+ {
454
+ "content": "YouTube Short description",
455
+ "image": ["https://uploads.flockposter.com/short.mp4"]
456
+ }
457
+ ],
458
+ "settings": {
459
+ "__type": "youtube",
460
+ "title": "Short title",
461
+ "type": "public",
462
+ "selfDeclaredMadeForKids": "no",
463
+ "tags": [{ "value": "shorts", "label": "shorts" }]
464
+ }
465
+ },
466
+ {
467
+ "provider": "tiktok",
468
+ "post": [
469
+ {
470
+ "content": "TikTok caption #fyp",
471
+ "image": ["https://uploads.flockposter.com/tiktok.mp4"]
472
+ }
473
+ ],
474
+ "settings": {
475
+ "__type": "tiktok",
476
+ "content_posting_method": "UPLOAD",
477
+ "privacy_level": "PUBLIC_TO_EVERYONE",
478
+ "comment": true,
479
+ "duet": false,
480
+ "stitch": false,
481
+ "autoAddMusic": "no",
482
+ "brand_content_toggle": false,
483
+ "brand_organic_toggle": false,
484
+ "video_made_with_ai": false
485
+ }
486
+ }
487
+ ]
488
+ }
489
+ ```
490
+
491
+ ### Public API Instagram Reel JSON
492
+
493
+ Use this shape for `POST /public/v1/posts` payloads. Replace the integration ID and uploaded media object.
494
+
495
+ ```json
496
+ {
497
+ "type": "schedule",
498
+ "date": "2026-05-18T15:00:00.000Z",
499
+ "shortLink": false,
500
+ "tags": [],
501
+ "posts": [
502
+ {
503
+ "integration": {
504
+ "id": "instagram-integration-id"
505
+ },
506
+ "value": [
507
+ {
508
+ "content": "Instagram Reel caption",
509
+ "image": [
510
+ {
511
+ "id": "uploaded-media-id",
512
+ "path": "https://uploads.flockposter.com/reel.mp4"
513
+ }
514
+ ]
515
+ }
516
+ ],
517
+ "settings": {
518
+ "__type": "instagram",
519
+ "post_type": "post"
520
+ }
521
+ }
522
+ ]
523
+ }
524
+ ```
525
+
526
+ ## Important Behaviors
527
+
528
+ - Treat media upload as the default for local files. Many platforms reject external URLs.
529
+ - Use ISO 8601 timestamps when scheduling posts.
530
+ - Inspect integration settings before inventing provider-specific fields.
531
+ - If analytics returns `{"missing": true}`, recover the release ID with `posts:missing` and `posts:connect`.
532
+ - TikTok visibility is controlled with `privacy_level`.
533
+ - Instagram Reels use `post_type: "post"` with video media.
534
+ - X reply controls use the allowed values from `who_can_reply_post`.
535
+ - YouTube Shorts use the normal YouTube upload settings.
536
+ - Prefer the public docs and the CLI help output over assumptions.
537
+
538
+ ## Troubleshooting
539
+
540
+ If the CLI fails with auth errors:
541
+ - check that `FLOCKPOSTER_API_KEY` is set
542
+ - confirm the account has access to the requested feature
543
+ - verify `FLOCKPOSTER_API_URL` only if the user is self-hosting or using a custom host
544
+
545
+ If posting fails:
546
+ - confirm the integration exists and is connected
547
+ - inspect the integration settings schema
548
+ - upload media first if the post includes files
549
+ - simplify to a minimal post, then add provider-specific settings back
550
+
551
+ If the user needs exact argument names or a command list, run:
552
+
553
+ ```bash
554
+ flockposter --help
555
+ flockposter <command> --help
556
+ ```
557
+
558
+ ## Public References
559
+
560
+ - Docs: `https://docs.flockposter.com`
561
+ - App: `https://app.flockposter.com`
562
+ - CLI package: `https://www.npmjs.com/package/flockposter-cli`
@@ -0,0 +1,21 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+
4
+ # Required:
5
+ # export FLOCKPOSTER_API_KEY=...
6
+ # export INSTAGRAM_INTEGRATION_ID=...
7
+ # export VIDEO_FILE=reel.mp4
8
+ #
9
+ # Instagram Reels use post_type "post" with video media.
10
+
11
+ flockposter integrations:settings "$INSTAGRAM_INTEGRATION_ID"
12
+
13
+ VIDEO_RESULT=$(flockposter upload "${VIDEO_FILE:-reel.mp4}")
14
+ VIDEO_URL=$(echo "$VIDEO_RESULT" | jq -r '.path')
15
+
16
+ flockposter posts:create \
17
+ -c "Reel caption" \
18
+ -s "2026-05-18T15:00:00Z" \
19
+ --settings '{"post_type":"post"}' \
20
+ -m "$VIDEO_URL" \
21
+ -i "$INSTAGRAM_INTEGRATION_ID"
@@ -0,0 +1,69 @@
1
+ {
2
+ "integrations": ["x-integration-id", "instagram-integration-id", "youtube-integration-id", "tiktok-integration-id"],
3
+ "posts": [
4
+ {
5
+ "provider": "x",
6
+ "post": [
7
+ {
8
+ "content": "Short X version",
9
+ "image": []
10
+ }
11
+ ],
12
+ "settings": {
13
+ "__type": "x",
14
+ "who_can_reply_post": "everyone",
15
+ "community": ""
16
+ }
17
+ },
18
+ {
19
+ "provider": "instagram",
20
+ "post": [
21
+ {
22
+ "content": "Instagram Reel caption",
23
+ "image": ["https://uploads.flockposter.com/reel.mp4"]
24
+ }
25
+ ],
26
+ "settings": {
27
+ "__type": "instagram",
28
+ "post_type": "post"
29
+ }
30
+ },
31
+ {
32
+ "provider": "youtube",
33
+ "post": [
34
+ {
35
+ "content": "YouTube Short description",
36
+ "image": ["https://uploads.flockposter.com/short.mp4"]
37
+ }
38
+ ],
39
+ "settings": {
40
+ "__type": "youtube",
41
+ "title": "Short title",
42
+ "type": "public",
43
+ "selfDeclaredMadeForKids": "no",
44
+ "tags": [{ "value": "shorts", "label": "shorts" }]
45
+ }
46
+ },
47
+ {
48
+ "provider": "tiktok",
49
+ "post": [
50
+ {
51
+ "content": "TikTok caption #fyp",
52
+ "image": ["https://uploads.flockposter.com/tiktok.mp4"]
53
+ }
54
+ ],
55
+ "settings": {
56
+ "__type": "tiktok",
57
+ "content_posting_method": "UPLOAD",
58
+ "privacy_level": "PUBLIC_TO_EVERYONE",
59
+ "comment": true,
60
+ "duet": false,
61
+ "stitch": false,
62
+ "autoAddMusic": "no",
63
+ "brand_content_toggle": false,
64
+ "brand_organic_toggle": false,
65
+ "video_made_with_ai": false
66
+ }
67
+ }
68
+ ]
69
+ }
@@ -0,0 +1,22 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+
4
+ # Required:
5
+ # export FLOCKPOSTER_API_KEY=...
6
+ # export TIKTOK_INTEGRATION_ID=...
7
+ # export VIDEO_FILE=video.mp4
8
+ #
9
+ # TikTok upload-only means FlockPoster uploads media to TikTok without publishing it.
10
+ # The creator finishes review/edit/publish inside TikTok.
11
+
12
+ flockposter integrations:settings "$TIKTOK_INTEGRATION_ID"
13
+
14
+ VIDEO_RESULT=$(flockposter upload "${VIDEO_FILE:-video.mp4}")
15
+ VIDEO_URL=$(echo "$VIDEO_RESULT" | jq -r '.path')
16
+
17
+ flockposter posts:create \
18
+ -c "Video caption #fyp" \
19
+ -s "2026-05-18T15:00:00Z" \
20
+ --settings '{"content_posting_method":"UPLOAD","privacy_level":"PUBLIC_TO_EVERYONE","comment":true,"duet":false,"stitch":false,"autoAddMusic":"no","brand_content_toggle":false,"brand_organic_toggle":false,"video_made_with_ai":false}' \
21
+ -m "$VIDEO_URL" \
22
+ -i "$TIKTOK_INTEGRATION_ID"
@@ -0,0 +1,17 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+
4
+ # Required:
5
+ # export FLOCKPOSTER_API_KEY=...
6
+ # export X_INTEGRATION_ID=...
7
+
8
+ flockposter integrations:settings "$X_INTEGRATION_ID"
9
+
10
+ flockposter posts:create \
11
+ -c "1/ First thread item" \
12
+ -c "2/ Second thread item" \
13
+ -c "3/ Final thread item" \
14
+ -s "2026-05-18T15:00:00Z" \
15
+ -d 5000 \
16
+ --settings '{"who_can_reply_post":"everyone","community":""}' \
17
+ -i "$X_INTEGRATION_ID"