@kolbo/kolbo-code-linux-arm64-musl 0.0.0-dev-202604161628

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 (282) hide show
  1. package/bin/kolbo +0 -0
  2. package/package.json +14 -0
  3. package/skills/brainstorming/SKILL.md +164 -0
  4. package/skills/brainstorming/scripts/frame-template.html +214 -0
  5. package/skills/brainstorming/scripts/helper.js +88 -0
  6. package/skills/brainstorming/scripts/server.cjs +354 -0
  7. package/skills/brainstorming/scripts/start-server.sh +148 -0
  8. package/skills/brainstorming/scripts/stop-server.sh +56 -0
  9. package/skills/brainstorming/spec-document-reviewer-prompt.md +49 -0
  10. package/skills/brainstorming/visual-companion.md +287 -0
  11. package/skills/color-grading/SKILL.md +152 -0
  12. package/skills/dispatching-parallel-agents/SKILL.md +182 -0
  13. package/skills/docx/.skillfish.json +10 -0
  14. package/skills/docx/SKILL.md +196 -0
  15. package/skills/docx/docx-js.md +350 -0
  16. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  17. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  18. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  19. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  20. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  21. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  22. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  23. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  24. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  25. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  26. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  27. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  28. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  29. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  30. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  31. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  32. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  33. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  34. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  35. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  36. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  37. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  38. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  39. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  40. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  41. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  42. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  43. package/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  44. package/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  45. package/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  46. package/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  47. package/skills/docx/ooxml/schemas/mce/mc.xsd +75 -0
  48. package/skills/docx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
  49. package/skills/docx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
  50. package/skills/docx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
  51. package/skills/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
  52. package/skills/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
  53. package/skills/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  54. package/skills/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
  55. package/skills/docx/ooxml/scripts/pack.py +159 -0
  56. package/skills/docx/ooxml/scripts/unpack.py +29 -0
  57. package/skills/docx/ooxml/scripts/validate.py +69 -0
  58. package/skills/docx/ooxml/scripts/validation/__init__.py +15 -0
  59. package/skills/docx/ooxml/scripts/validation/base.py +951 -0
  60. package/skills/docx/ooxml/scripts/validation/docx.py +274 -0
  61. package/skills/docx/ooxml/scripts/validation/pptx.py +315 -0
  62. package/skills/docx/ooxml/scripts/validation/redlining.py +279 -0
  63. package/skills/docx/ooxml.md +599 -0
  64. package/skills/docx/scripts/__init__.py +1 -0
  65. package/skills/docx/scripts/document.py +1272 -0
  66. package/skills/docx/scripts/templates/comments.xml +3 -0
  67. package/skills/docx/scripts/templates/commentsExtended.xml +3 -0
  68. package/skills/docx/scripts/templates/commentsExtensible.xml +3 -0
  69. package/skills/docx/scripts/templates/commentsIds.xml +3 -0
  70. package/skills/docx/scripts/templates/people.xml +3 -0
  71. package/skills/docx/scripts/utilities.py +374 -0
  72. package/skills/executing-plans/SKILL.md +70 -0
  73. package/skills/ffmpeg-patterns/SKILL.md +240 -0
  74. package/skills/finishing-a-development-branch/SKILL.md +200 -0
  75. package/skills/frontend-design/SKILL.md +42 -0
  76. package/skills/fullstack-app/SKILL.md +621 -0
  77. package/skills/image-prompting-guide/SKILL.md +143 -0
  78. package/skills/kolbo/SKILL.md +610 -0
  79. package/skills/music-prompting/SKILL.md +146 -0
  80. package/skills/pdf/.skillfish.json +10 -0
  81. package/skills/pdf/FORMS.md +205 -0
  82. package/skills/pdf/REFERENCE.md +612 -0
  83. package/skills/pdf/SKILL.md +293 -0
  84. package/skills/pdf/scripts/check_bounding_boxes.py +70 -0
  85. package/skills/pdf/scripts/check_bounding_boxes_test.py +226 -0
  86. package/skills/pdf/scripts/check_fillable_fields.py +12 -0
  87. package/skills/pdf/scripts/convert_pdf_to_images.py +35 -0
  88. package/skills/pdf/scripts/create_validation_image.py +41 -0
  89. package/skills/pdf/scripts/extract_form_field_info.py +152 -0
  90. package/skills/pdf/scripts/fill_fillable_fields.py +114 -0
  91. package/skills/pdf/scripts/fill_pdf_form_with_annotations.py +108 -0
  92. package/skills/photo-studio/SKILL.md +130 -0
  93. package/skills/pptx/.skillfish.json +10 -0
  94. package/skills/pptx/SKILL.md +483 -0
  95. package/skills/pptx/html2pptx.md +626 -0
  96. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  97. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  98. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  99. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  100. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  101. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  102. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  103. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  104. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  105. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  106. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  107. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  108. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  109. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  110. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  111. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  112. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  113. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  114. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  115. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  116. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  117. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  118. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  119. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  120. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  121. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  122. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  123. package/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  124. package/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  125. package/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  126. package/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  127. package/skills/pptx/ooxml/schemas/mce/mc.xsd +75 -0
  128. package/skills/pptx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
  129. package/skills/pptx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
  130. package/skills/pptx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
  131. package/skills/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
  132. package/skills/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
  133. package/skills/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  134. package/skills/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
  135. package/skills/pptx/ooxml/scripts/pack.py +159 -0
  136. package/skills/pptx/ooxml/scripts/unpack.py +29 -0
  137. package/skills/pptx/ooxml/scripts/validate.py +69 -0
  138. package/skills/pptx/ooxml/scripts/validation/__init__.py +15 -0
  139. package/skills/pptx/ooxml/scripts/validation/base.py +951 -0
  140. package/skills/pptx/ooxml/scripts/validation/docx.py +274 -0
  141. package/skills/pptx/ooxml/scripts/validation/pptx.py +315 -0
  142. package/skills/pptx/ooxml/scripts/validation/redlining.py +279 -0
  143. package/skills/pptx/ooxml.md +427 -0
  144. package/skills/pptx/scripts/html2pptx.js +995 -0
  145. package/skills/pptx/scripts/inventory.py +1020 -0
  146. package/skills/pptx/scripts/rearrange.py +231 -0
  147. package/skills/pptx/scripts/replace.py +385 -0
  148. package/skills/pptx/scripts/thumbnail.py +450 -0
  149. package/skills/production-review/SKILL.md +152 -0
  150. package/skills/receiving-code-review/SKILL.md +213 -0
  151. package/skills/remotion-best-practices/SKILL.md +62 -0
  152. package/skills/remotion-best-practices/rules/3d.md +86 -0
  153. package/skills/remotion-best-practices/rules/animations.md +27 -0
  154. package/skills/remotion-best-practices/rules/assets/charts-bar-chart.tsx +173 -0
  155. package/skills/remotion-best-practices/rules/assets/text-animations-typewriter.tsx +100 -0
  156. package/skills/remotion-best-practices/rules/assets/text-animations-word-highlight.tsx +103 -0
  157. package/skills/remotion-best-practices/rules/assets.md +78 -0
  158. package/skills/remotion-best-practices/rules/audio-visualization.md +198 -0
  159. package/skills/remotion-best-practices/rules/audio.md +169 -0
  160. package/skills/remotion-best-practices/rules/calculate-metadata.md +134 -0
  161. package/skills/remotion-best-practices/rules/can-decode.md +81 -0
  162. package/skills/remotion-best-practices/rules/charts.md +120 -0
  163. package/skills/remotion-best-practices/rules/compositions.md +154 -0
  164. package/skills/remotion-best-practices/rules/display-captions.md +184 -0
  165. package/skills/remotion-best-practices/rules/extract-frames.md +229 -0
  166. package/skills/remotion-best-practices/rules/ffmpeg.md +38 -0
  167. package/skills/remotion-best-practices/rules/fonts.md +152 -0
  168. package/skills/remotion-best-practices/rules/get-audio-duration.md +58 -0
  169. package/skills/remotion-best-practices/rules/get-video-dimensions.md +68 -0
  170. package/skills/remotion-best-practices/rules/get-video-duration.md +60 -0
  171. package/skills/remotion-best-practices/rules/gifs.md +141 -0
  172. package/skills/remotion-best-practices/rules/images.md +134 -0
  173. package/skills/remotion-best-practices/rules/import-srt-captions.md +69 -0
  174. package/skills/remotion-best-practices/rules/light-leaks.md +73 -0
  175. package/skills/remotion-best-practices/rules/lottie.md +70 -0
  176. package/skills/remotion-best-practices/rules/maps.md +412 -0
  177. package/skills/remotion-best-practices/rules/measuring-dom-nodes.md +34 -0
  178. package/skills/remotion-best-practices/rules/measuring-text.md +140 -0
  179. package/skills/remotion-best-practices/rules/motion-design.md +215 -0
  180. package/skills/remotion-best-practices/rules/parameters.md +109 -0
  181. package/skills/remotion-best-practices/rules/sequencing.md +118 -0
  182. package/skills/remotion-best-practices/rules/sfx.md +30 -0
  183. package/skills/remotion-best-practices/rules/subtitles.md +36 -0
  184. package/skills/remotion-best-practices/rules/tailwind.md +11 -0
  185. package/skills/remotion-best-practices/rules/text-animations.md +20 -0
  186. package/skills/remotion-best-practices/rules/timing.md +179 -0
  187. package/skills/remotion-best-practices/rules/transcribe-captions.md +70 -0
  188. package/skills/remotion-best-practices/rules/transitions.md +197 -0
  189. package/skills/remotion-best-practices/rules/transparent-videos.md +106 -0
  190. package/skills/remotion-best-practices/rules/trimming.md +51 -0
  191. package/skills/remotion-best-practices/rules/videos.md +171 -0
  192. package/skills/remotion-best-practices/rules/voiceover.md +99 -0
  193. package/skills/requesting-code-review/SKILL.md +105 -0
  194. package/skills/requesting-code-review/code-reviewer.md +146 -0
  195. package/skills/short-form-video/SKILL.md +168 -0
  196. package/skills/sound-design/SKILL.md +154 -0
  197. package/skills/storytelling/SKILL.md +139 -0
  198. package/skills/subagent-driven-development/SKILL.md +277 -0
  199. package/skills/subagent-driven-development/code-quality-reviewer-prompt.md +26 -0
  200. package/skills/subagent-driven-development/implementer-prompt.md +113 -0
  201. package/skills/subagent-driven-development/spec-reviewer-prompt.md +61 -0
  202. package/skills/subtitle-production/SKILL.md +244 -0
  203. package/skills/subtitle-production/reference/burn_to_video.py +222 -0
  204. package/skills/subtitle-production/reference/export_srts.py +127 -0
  205. package/skills/subtitle-production/reference/gen_srt.py +42 -0
  206. package/skills/supabase/.skillfish.json +10 -0
  207. package/skills/supabase/SKILL.md +106 -0
  208. package/skills/supabase/assets/feedback-issue-template.md +17 -0
  209. package/skills/supabase/references/skill-feedback.md +17 -0
  210. package/skills/supabase-postgres-best-practices/.skillfish.json +10 -0
  211. package/skills/supabase-postgres-best-practices/SKILL.md +64 -0
  212. package/skills/supabase-postgres-best-practices/references/_contributing.md +170 -0
  213. package/skills/supabase-postgres-best-practices/references/_sections.md +39 -0
  214. package/skills/supabase-postgres-best-practices/references/_template.md +34 -0
  215. package/skills/supabase-postgres-best-practices/references/advanced-full-text-search.md +55 -0
  216. package/skills/supabase-postgres-best-practices/references/advanced-jsonb-indexing.md +49 -0
  217. package/skills/supabase-postgres-best-practices/references/conn-idle-timeout.md +46 -0
  218. package/skills/supabase-postgres-best-practices/references/conn-limits.md +44 -0
  219. package/skills/supabase-postgres-best-practices/references/conn-pooling.md +41 -0
  220. package/skills/supabase-postgres-best-practices/references/conn-prepared-statements.md +46 -0
  221. package/skills/supabase-postgres-best-practices/references/data-batch-inserts.md +54 -0
  222. package/skills/supabase-postgres-best-practices/references/data-n-plus-one.md +53 -0
  223. package/skills/supabase-postgres-best-practices/references/data-pagination.md +50 -0
  224. package/skills/supabase-postgres-best-practices/references/data-upsert.md +50 -0
  225. package/skills/supabase-postgres-best-practices/references/lock-advisory.md +56 -0
  226. package/skills/supabase-postgres-best-practices/references/lock-deadlock-prevention.md +68 -0
  227. package/skills/supabase-postgres-best-practices/references/lock-short-transactions.md +50 -0
  228. package/skills/supabase-postgres-best-practices/references/lock-skip-locked.md +54 -0
  229. package/skills/supabase-postgres-best-practices/references/monitor-explain-analyze.md +45 -0
  230. package/skills/supabase-postgres-best-practices/references/monitor-pg-stat-statements.md +55 -0
  231. package/skills/supabase-postgres-best-practices/references/monitor-vacuum-analyze.md +55 -0
  232. package/skills/supabase-postgres-best-practices/references/query-composite-indexes.md +44 -0
  233. package/skills/supabase-postgres-best-practices/references/query-covering-indexes.md +40 -0
  234. package/skills/supabase-postgres-best-practices/references/query-index-types.md +48 -0
  235. package/skills/supabase-postgres-best-practices/references/query-missing-indexes.md +43 -0
  236. package/skills/supabase-postgres-best-practices/references/query-partial-indexes.md +45 -0
  237. package/skills/supabase-postgres-best-practices/references/schema-constraints.md +80 -0
  238. package/skills/supabase-postgres-best-practices/references/schema-data-types.md +46 -0
  239. package/skills/supabase-postgres-best-practices/references/schema-foreign-key-indexes.md +59 -0
  240. package/skills/supabase-postgres-best-practices/references/schema-lowercase-identifiers.md +55 -0
  241. package/skills/supabase-postgres-best-practices/references/schema-partitioning.md +55 -0
  242. package/skills/supabase-postgres-best-practices/references/schema-primary-keys.md +61 -0
  243. package/skills/supabase-postgres-best-practices/references/security-privileges.md +54 -0
  244. package/skills/supabase-postgres-best-practices/references/security-rls-basics.md +50 -0
  245. package/skills/supabase-postgres-best-practices/references/security-rls-performance.md +57 -0
  246. package/skills/supabase-quickstart/SKILL.md +400 -0
  247. package/skills/systematic-debugging/CREATION-LOG.md +119 -0
  248. package/skills/systematic-debugging/SKILL.md +296 -0
  249. package/skills/systematic-debugging/condition-based-waiting-example.ts +158 -0
  250. package/skills/systematic-debugging/condition-based-waiting.md +115 -0
  251. package/skills/systematic-debugging/defense-in-depth.md +122 -0
  252. package/skills/systematic-debugging/find-polluter.sh +63 -0
  253. package/skills/systematic-debugging/root-cause-tracing.md +169 -0
  254. package/skills/systematic-debugging/test-academic.md +14 -0
  255. package/skills/systematic-debugging/test-pressure-1.md +58 -0
  256. package/skills/systematic-debugging/test-pressure-2.md +68 -0
  257. package/skills/systematic-debugging/test-pressure-3.md +69 -0
  258. package/skills/test-driven-development/SKILL.md +371 -0
  259. package/skills/test-driven-development/testing-anti-patterns.md +299 -0
  260. package/skills/typography-video/SKILL.md +182 -0
  261. package/skills/typography-video/reference/KineticTitleScene.tsx +345 -0
  262. package/skills/using-git-worktrees/SKILL.md +218 -0
  263. package/skills/using-superpowers/SKILL.md +115 -0
  264. package/skills/using-superpowers/references/codex-tools.md +100 -0
  265. package/skills/using-superpowers/references/gemini-tools.md +33 -0
  266. package/skills/verification-before-completion/SKILL.md +139 -0
  267. package/skills/video-editing/SKILL.md +128 -0
  268. package/skills/video-production/SKILL.md +247 -0
  269. package/skills/video-prompting-guide/SKILL.md +268 -0
  270. package/skills/writing-plans/SKILL.md +152 -0
  271. package/skills/writing-plans/plan-document-reviewer-prompt.md +49 -0
  272. package/skills/writing-skills/SKILL.md +655 -0
  273. package/skills/writing-skills/anthropic-best-practices.md +1150 -0
  274. package/skills/writing-skills/examples/CLAUDE_MD_TESTING.md +189 -0
  275. package/skills/writing-skills/graphviz-conventions.dot +172 -0
  276. package/skills/writing-skills/persuasion-principles.md +187 -0
  277. package/skills/writing-skills/render-graphs.js +168 -0
  278. package/skills/writing-skills/testing-skills-with-subagents.md +384 -0
  279. package/skills/xlsx/.skillfish.json +10 -0
  280. package/skills/xlsx/SKILL.md +288 -0
  281. package/skills/xlsx/recalc.py +178 -0
  282. package/skills/youtube-clipper/SKILL.md +187 -0
@@ -0,0 +1,128 @@
1
+ ---
2
+ name: video-editing
3
+ description: >
4
+ Video editing decisions: what to cut vs keep, cut techniques (J-cut, L-cut, hard cut),
5
+ pacing by format, edit decision structure, silence/filler removal, talking head editing.
6
+ Use when making editorial decisions about video content.
7
+ Keywords: video editing, cut, trim, j-cut, l-cut, pacing, filler words, silence, talking head,
8
+ edit decision, transition, dead air, false start
9
+ ---
10
+
11
+ # Video Editing — Editorial Decisions
12
+
13
+ ## What to Cut
14
+
15
+ 1. **Filler words:** "um", "uh", "like", "you know" — cut at word boundaries using word timestamps
16
+ 2. **False starts:** When the speaker restarts a sentence, keep only the final take
17
+ 3. **Dead air:** Silence longer than 1.5 seconds should be trimmed to ~0.5 seconds
18
+ 4. **Off-topic tangents:** If the speaker wanders, cut to the next relevant segment
19
+ 5. **Repeated points:** Keep the best delivery, remove redundant takes
20
+
21
+ ## What NOT to Cut
22
+
23
+ - **Breath pauses:** Natural 0.3-0.8 second pauses between sentences. These sound natural.
24
+ - **Emphasis pauses:** Intentional pauses for dramatic effect
25
+ - **Reactions and transitions:** Verbal bridges like "So..." or "Now..." that provide flow
26
+
27
+ ## Cut Techniques
28
+
29
+ | Technique | Description | When to Use |
30
+ |-----------|-------------|-------------|
31
+ | **J-cut** | Audio from next segment starts ~0.5s before visual cut | Smooth transitions |
32
+ | **L-cut** | Audio from current segment continues ~0.5s after visual cut | Maintaining continuity |
33
+ | **Hard cut** | Instant transition | Major topic changes |
34
+ | **Jump cut** | Cut within same shot (visible jump) | YouTube/social energy, pacing |
35
+ | **Match cut** | Visual similarity bridges two different shots | Creative storytelling |
36
+
37
+ ## Pacing by Format
38
+
39
+ | Format | Approach |
40
+ |--------|----------|
41
+ | **Short-form (< 60s)** | Aggressive cuts. Minimal dead air. High energy. Visual change every 1-3s |
42
+ | **Medium-form (1-10 min)** | Balanced. Keep natural pauses for breathing room. Change every 3-5s |
43
+ | **Long-form (> 10 min)** | Let scenes breathe. Only cut obvious problems. Change every 5-10s |
44
+
45
+ ## Edit Decision Structure
46
+
47
+ When planning an edit, define:
48
+
49
+ - **Cuts:** Ordered list of segments to keep (source, in/out points, speed)
50
+ - **Overlays:** Timed overlay placements (images, diagrams, lower thirds)
51
+ - **Subtitles:** Subtitle configuration (enabled, style, source file)
52
+ - **Music:** Background music settings (asset, volume, ducking, fades)
53
+ - **Transitions:** Transition type and timing between cuts
54
+
55
+ ## Silence Removal Workflow
56
+
57
+ 1. **Detect silence** with FFmpeg: `silencedetect=noise=-35dB:d=0.4`
58
+ 2. **Parse** silence_start/silence_end timestamps from stderr
59
+ 3. **Generate segments** of non-silent audio
60
+ 4. **Concatenate** segments with the concat demuxer
61
+ 5. Optional: apply `atempo=1.14` for subtle speedup that feels natural
62
+
63
+ ## Talking Head Editing Checklist
64
+
65
+ - [ ] No visible jump cuts without intentional style choice
66
+ - [ ] Audio doesn't pop or click at cut points
67
+ - [ ] Pacing matches content energy and target platform
68
+ - [ ] Speaker's face is never covered by overlays
69
+ - [ ] All cuts are at word boundaries (not mid-word)
70
+ - [ ] Filler words removed unless they serve the personality
71
+ - [ ] B-roll covers any remaining jump cuts
72
+
73
+ ## Lip Sync (Dubbing / Localization)
74
+
75
+ When replacing audio and matching lips:
76
+
77
+ | Input | Tool | Output |
78
+ |-------|------|--------|
79
+ | Existing VIDEO + new audio | Lip sync | Video with synced lips |
80
+ | Still PHOTO + audio | Talking head generator | New video from photo |
81
+
82
+ **Decision rule:** If you have video footage of the person, use lip sync. If you only have a photo, use talking head generation.
83
+
84
+ **Workflow for localization:**
85
+ ```
86
+ transcribe(video) → translate → TTS(translated text) → lip_sync(original_video, new_audio)
87
+ ```
88
+
89
+ Keep original video as source for each language — never chain lip sync outputs.
90
+
91
+ **Face padding** for lip sync: `[0, 10, 0, 0]` (top, bottom, left, right) works for 90% of footage. Increase bottom if chin gets cropped.
92
+
93
+ ---
94
+
95
+ ## Kolbo MCP Integration
96
+
97
+ | Task | Kolbo MCP Tool | Notes |
98
+ |------|---------------|-------|
99
+ | Transcribe for edit points | `transcribe_audio` | Word-level timestamps for precise cuts |
100
+ | Lip sync dubbing | `generate_lipsync` | Source video + new audio |
101
+ | Generate B-roll | `generate_video` or `generate_image` | Cover jump cuts |
102
+ | Generate narration | `generate_speech` | Re-record with AI voice |
103
+ | Visual analysis | `chat_send_message` + Gemini | "Analyze this video for edit points" |
104
+
105
+ **Editing workflow with Kolbo:**
106
+ 1. `transcribe_audio` → get full transcript with word timestamps
107
+ 2. Identify filler words, dead air, false starts from transcript
108
+ 3. Generate FFmpeg trim commands for non-silent/non-filler segments
109
+ 4. `generate_image` or `generate_video` → B-roll for covering jump cuts
110
+ 5. Concatenate clips + burn-in subtitles + mix audio
111
+ 6. Review with `production-review` skill
112
+
113
+ **Localization workflow:**
114
+ 1. `transcribe_audio` → source language transcript
115
+ 2. Translate the transcript (use `chat_send_message` for translation)
116
+ 3. `generate_speech` → TTS in target language
117
+ 4. `generate_lipsync` → sync new audio to original face
118
+ 5. Repeat for each language (always from original, never chain)
119
+
120
+ ---
121
+
122
+ ## Local / Free Options
123
+
124
+ > **IMPORTANT:** Always use Kolbo MCP tools by default (`transcribe_audio`, `generate_lipsync`). FFmpeg silence removal is safe to use directly. For anything else, confirm with the user first.
125
+
126
+ **FFmpeg (safe, standard):** Silence detection/removal, trimming, concatenation — all built-in.
127
+
128
+ **Transcription:** If the user wants offline, `faster-whisper` runs on CPU (`pip install faster-whisper`). Confirm before installing.
@@ -0,0 +1,247 @@
1
+ ---
2
+ name: video-production
3
+ description: >
4
+ Full-stack video production assistant. Analyzes video content visually (Gemini),
5
+ generates transcriptions/SRT subtitles, plans and creates motion graphics (Remotion),
6
+ generates B-roll images/videos, produces timeline XMLs for Premiere/DaVinci.
7
+ Downloads YouTube videos with yt-dlp.
8
+ Use for: video analysis, visual analysis, describe video, what's in this video,
9
+ transcription, subtitles, motion graphics, B-roll, shorts, timeline XML, clip cutting,
10
+ silence removal, After Effects, Premiere Pro, DaVinci Resolve, YouTube download.
11
+ Keywords: video edit, ffmpeg, remotion, after effects, premiere, davinci, shorts, subtitles,
12
+ motion graphics, clip, render, transcribe, xml, timeline, b-roll, talking head, analyze,
13
+ yt-dlp, youtube, download, gemini, vision
14
+ allowed-tools:
15
+ - Read
16
+ - Write
17
+ - Edit
18
+ - Bash
19
+ - Glob
20
+ - Grep
21
+ - Agent
22
+ - AskUserQuestion
23
+ - TaskCreate
24
+ - TaskUpdate
25
+ - WebFetch
26
+ ---
27
+
28
+ # Video Production — Strategy Map
29
+
30
+ ## ⚠️ DEFAULT RULE: Video Analysis = Visual Analysis (NOT Transcription)
31
+
32
+ **The agent has built-in vision for images. For videos, always use Gemini via Kolbo MCP.**
33
+
34
+ | Media type | Action |
35
+ |------------|--------|
36
+ | **Image** (jpg, png, etc.) | Agent reads it directly — no upload needed |
37
+ | **Video** — "analyze", "describe", "what's in this?", "what prompts?", file path with no instruction | `upload_media` → `chat_send_message` + Gemini |
38
+ | **Transcription** — "transcribe", "subtitles", "SRT", "what's being said", "captions" | `transcribe_audio` only |
39
+ | Both visual + transcript | Run both |
40
+
41
+ **Never use ffmpeg to extract frames for analysis. Never use local Ollama/vision models. Commit to the right action — do not ask the user. Wait for `chat_send_message` to return before proceeding — it polls until done (up to 2 min). Do NOT fall back to ffmpeg or any other approach if it takes time.**
42
+
43
+ ---
44
+
45
+ ## Kolbo MCP Tools (Active When `kolbo auth login` Is Done)
46
+
47
+ These are available as MCP tools — use them directly without any Python/API key setup:
48
+
49
+ | Tool | Use |
50
+ |------|-----|
51
+ | `upload_media` | Upload local file to Kolbo CDN → get stable public URL |
52
+ | `chat_send_message` | Send message + `media_urls` array to Gemini for visual analysis |
53
+ | `transcribe_audio` | Transcribe audio/video to text + SRT (ElevenLabs Scribe) |
54
+ | `generate_image` | Generate B-roll images |
55
+ | `generate_video` | Generate B-roll videos |
56
+ | `generate_video_from_image` | Animate a still into video |
57
+ | `generate_music` | Generate background music |
58
+ | `generate_speech` | TTS for voiceover |
59
+ | `generate_sound` | Sound effects |
60
+ | `list_models` | Browse available models by type |
61
+ | `check_credits` | Check remaining Kolbo credit balance |
62
+
63
+ ### Visual Analysis Workflow — MANDATORY for all video analysis
64
+
65
+ **Step 1 is NOT optional. You cannot skip `upload_media` or construct the URL yourself.**
66
+
67
+ ```
68
+ Step 1: upload_media({ source: "/absolute/path/to/video.mp4" })
69
+ → Returns: { url, thumbnail_url, ... }
70
+ → Save the "url" field — this is the CDN URL you will pass to Gemini
71
+ → NEVER use thumbnail_url (it's a JPG preview, not the video)
72
+
73
+ Step 2: chat_send_message({
74
+ message: "Describe this video in detail. What is shown?",
75
+ media_urls: ["<url from step 1>"] ← must be an array, must be the "url" field
76
+ })
77
+ → returns: { content: "..." }
78
+ ```
79
+
80
+ **❌ Common mistakes that break video analysis:**
81
+ - Skipping `upload_media` and passing a local file path to `chat_send_message` — local paths don't work
82
+ - Using the transcription `.txt` URL as the `media_urls` value — Gemini needs the actual video CDN URL
83
+ - Using `thumbnail_url` instead of `url` from the `upload_media` response
84
+ - Calling `transcribe_audio` first then passing its output URL as the video — transcription gives text, not video
85
+
86
+ **Omit `model`** — Smart Select detects video/audio and auto-routes to Gemini.
87
+ **Sessions do NOT remember media between messages.** On retry: reuse the same CDN `url` from step 1 (no re-upload needed) but always pass `media_urls` again.
88
+
89
+ **Batch analysis (many videos)**: Pass `model: "gemini-3.1-flash-lite-preview"` explicitly for cheaper bulk runs.
90
+
91
+ For YouTube videos — download first with yt-dlp (see below), then follow steps 1–2 above.
92
+
93
+ ---
94
+
95
+ ## Pipeline
96
+
97
+ ```
98
+ Input: local video / YouTube URL / uploaded file
99
+
100
+ → [DEFAULT] Visual Analysis: upload_media → chat_send_message (Gemini)
101
+ → [EXPLICIT REQUEST] Transcription: transcribe_audio → SRT / text
102
+ → [EDITING] FFmpeg: cut, silence removal, 9:16 conversion
103
+ → [MOTION GRAPHICS] Remotion: compositions, captions, B-roll
104
+ → Output: Premiere XML / DaVinci EDL / MP4s / SRT
105
+ ```
106
+
107
+ ## APIs & Capabilities
108
+
109
+ | Service | Use |
110
+ |---------|-----|
111
+ | Kolbo MCP (`upload_media` + `chat_send_message`) | **Primary** — visual video/image analysis via Gemini |
112
+ | Kolbo MCP (`transcribe_audio`) | **Primary** — transcription, word-level SRT, multilingual |
113
+ | yt-dlp | Download YouTube/social media videos |
114
+ | FFmpeg | Local video editing, cutting, silence removal, format conversion |
115
+ | Remotion Lambda | Cloud render motion graphics |
116
+ | fal.ai (MCP) | Image & video B-roll generation |
117
+ | ElevenLabs | TTS, voice cloning, SFX (via Kolbo MCP `generate_speech`) |
118
+ | Suno | Background music (via Kolbo MCP `generate_music`) |
119
+
120
+ > Kolbo MCP tools need no API keys — auth is handled by `kolbo auth login`.
121
+ > FFmpeg/yt-dlp need to be installed locally on the machine.
122
+
123
+ ## YouTube / Social Media Download (yt-dlp)
124
+
125
+ Download video from YouTube, TikTok, Instagram, Twitter, etc.:
126
+
127
+ ```bash
128
+ # Best quality MP4
129
+ yt-dlp -f "bestvideo[height<=1080][ext=mp4]+bestaudio/best" \
130
+ --merge-output-format mp4 \
131
+ -o "%(id)s.%(ext)s" <url>
132
+
133
+ # With subtitles
134
+ yt-dlp -f "bestvideo[height<=1080][ext=mp4]+bestaudio/best" \
135
+ --write-auto-sub --sub-lang en --convert-subs srt \
136
+ --merge-output-format mp4 \
137
+ -o "%(id)s.%(ext)s" <url>
138
+
139
+ # Audio only (for transcription)
140
+ yt-dlp -f "bestaudio" --extract-audio --audio-format mp3 -o "%(id)s.%(ext)s" <url>
141
+ ```
142
+
143
+ After download → upload to Kolbo CDN with `upload_media` → analyze visually with `chat_send_message`.
144
+
145
+ ---
146
+
147
+ ## Key Rules
148
+
149
+ - **FFmpeg on Windows**: always copy inputs to `tempfile.mkdtemp()` first (handles spaces in paths)
150
+ - **9:16 shorts**: blurred background + centered content — never crop the original
151
+ - **Hebrew / RTL subtitles**: ASS format, Heebo Bold font, `\pos()` for RTL rendering
152
+ - **Video quality standard**: `-c:v libx264 -crf 18 -c:a aac -b:a 128k`
153
+ - **Image generation**: prefer fal MCP server over Python scripts when available
154
+ - **Silence removal**: `silencedetect -35dB:d=0.4` → trim+concat → `atempo=1.14`
155
+
156
+ ## Transcription
157
+
158
+ Use ElevenLabs Scribe for word-level SRT with speaker diarization:
159
+ ```python
160
+ import requests
161
+
162
+ def transcribe(audio_path, api_key, language="he"):
163
+ with open(audio_path, "rb") as f:
164
+ response = requests.post(
165
+ "https://api.elevenlabs.io/v1/speech-to-text",
166
+ headers={"xi-api-key": api_key},
167
+ files={"file": f},
168
+ data={"model_id": "scribe_v1", "language_code": language,
169
+ "timestamps_granularity": "word", "diarize": True}
170
+ )
171
+ return response.json()
172
+ ```
173
+
174
+ ## 9:16 Shorts — Blurred Background
175
+
176
+ ```python
177
+ filter_complex = (
178
+ "[0:v]split[bg][fg];"
179
+ "[bg]scale=1080:1920:force_original_aspect_ratio=increase,"
180
+ "crop=1080:1920,gblur=sigma=40[blurred];"
181
+ "[fg]scale=1080:1920:force_original_aspect_ratio=decrease,"
182
+ "pad=1080:1920:(ow-iw)/2:(oh-ih)/2:color=black@0[front];"
183
+ "[blurred][front]overlay=0:0"
184
+ )
185
+ ```
186
+
187
+ ## Silence Removal
188
+
189
+ ```python
190
+ import subprocess, json
191
+
192
+ def detect_silence(video_path, noise_db=-35, duration=0.4):
193
+ result = subprocess.run([
194
+ "ffmpeg", "-i", video_path,
195
+ "-af", f"silencedetect=noise={noise_db}dB:d={duration}",
196
+ "-f", "null", "-"
197
+ ], capture_output=True, text=True)
198
+ # Parse silence_start/silence_end from stderr
199
+ ...
200
+ ```
201
+
202
+ ## RTL (Hebrew/Arabic) Subtitles
203
+
204
+ For comprehensive RTL subtitle handling, load the `subtitle-production` skill — it contains full patterns for:
205
+ - Simple SRT burn-in with Heebo font + `Encoding=177`
206
+ - ASS per-word positioning for karaoke (with PIL `~0.74` scale factor)
207
+ - Remotion RTL captions with CSS `direction: rtl` and all the flip rules
208
+ - RTL progress bar with FFmpeg `geq` filter
209
+
210
+ **CRITICAL**: Any inline ASS tag (`\c`, `\K`, `\1c`, etc.) between RTL words breaks Unicode bidi in libass — words render LTR. Use separate Dialogue lines per word instead.
211
+
212
+ For Remotion RTL layout rules (padding flips, transform-origin, gradient direction), load the `typography-video` skill.
213
+
214
+ ## Remotion Motion Graphics
215
+
216
+ For motion graphics rendering, use the `remotion-best-practices` skill for detailed Remotion patterns.
217
+
218
+ For cloud rendering via Remotion Lambda:
219
+ ```bash
220
+ npx remotion lambda render <serve-url> <composition-id> --out output.mp4
221
+ ```
222
+
223
+ ## Premiere Pro XML Timeline
224
+
225
+ ```python
226
+ def generate_premiere_xml(clips, output_path, fps=30):
227
+ # Generate FCP7 XML compatible with Premiere Pro
228
+ ...
229
+ ```
230
+
231
+ ## Output Structure
232
+
233
+ Organize outputs per project:
234
+ ```
235
+ <project>/
236
+ ├── raw/ # original footage
237
+ ├── transcripts/ # SRT, word-level JSON
238
+ ├── clips/ # cut segments
239
+ ├── shorts/ # 9:16 vertical versions
240
+ ├── b-roll/ # generated B-roll images/videos
241
+ ├── motion/ # Remotion compositions
242
+ └── export/ # final deliverables + XML timelines
243
+ ```
244
+
245
+ ## Check Before Writing New Scripts
246
+
247
+ Before writing a new script, ask the user if they already have one for the task — they may have existing tools for clipping, silence removal, or subtitle burning.
@@ -0,0 +1,268 @@
1
+ ---
2
+ name: video-prompting-guide
3
+ description: >
4
+ Deep video generation prompting guide covering all major models: Kling, Sora, Seedance,
5
+ Grok, VEO, HunyuanVideo, Runway, LTX, MiniMax, Hailuo. Universal prompt formula, camera
6
+ vocabulary, lighting, lens effects, temporal effects, audio descriptions, and model-specific
7
+ tips. Use when writing or improving video generation prompts.
8
+ Keywords: video prompt, kling, sora, seedance, grok, veo, hunyuan, runway, ltx, camera,
9
+ lighting, cinematography, shot type, slow motion, dolly, tracking
10
+ ---
11
+
12
+ # Video Generation Prompting — Universal Guide
13
+
14
+ ## Universal Prompt Formula
15
+
16
+ All video generation models respond to this structure. Include what's relevant, omit what's not.
17
+
18
+ ```
19
+ [Shot type/framing] + [Camera movement] + [Subject description] +
20
+ [Action/motion in beats] + [Setting/environment] + [Lighting] +
21
+ [Style/aesthetic] + [Audio/atmosphere]
22
+ ```
23
+
24
+ **Shorter prompts = more creative freedom. Longer prompts = more control.**
25
+
26
+ ## Model-Specific Tips
27
+
28
+ | Model | Key Insight |
29
+ |-------|-------------|
30
+ | **Kling 2.6** | 4-part structure. Supports `++emphasis++` syntax for key elements. |
31
+ | **Sora 2 / Sora 2 Pro** | Richest structured template. Advanced fields: lenses, filtration, grade, diegetic sound, wardrobe, finishing. Prose-first — write a rich paragraph, then add technical blocks. |
32
+ | **Seedance** | Motion-focused. Describe the movement arc clearly. |
33
+ | **Grok Video** | Reference-image placeholders (`<IMAGE_1>`). Best for identity/product carryover from source images. |
34
+ | **VEO 3.1 / VEO 3** | 14-component prompt structure. Best vocabulary reference. |
35
+ | **HunyuanVideo 1.5** | Formula: Subject + Motion + Scene + [Shot] + [Camera] + [Lighting] + [Style] + [Atmosphere]. |
36
+ | **Runway Gen-4** | "Focus on motion, not appearance." One scene per clip. Simplicity wins. |
37
+ | **LTX-2** | 6-element structure. Supports audio/voice prompting. |
38
+ | **MiniMax / Hailuo** | Clean descriptions work well. Avoid over-specification. |
39
+
40
+ ---
41
+
42
+ ## Camera Shot Types
43
+
44
+ | Shot | When to Use |
45
+ |------|-------------|
46
+ | **Wide / establishing shot** | Open a scene, show location context |
47
+ | **Full / long shot** | Subject head-to-toe with environment |
48
+ | **Medium shot** | Waist up, balances detail with context |
49
+ | **Medium close-up** | Chest up, conversational intimacy |
50
+ | **Close-up** | Face or key object, emphasize emotion |
51
+ | **Extreme close-up** | Isolated detail (eye, drop, texture) |
52
+ | **Over-the-shoulder** | Conversation framing, connection |
53
+ | **Point-of-view (POV)** | Viewer becomes the character |
54
+ | **Bird's-eye / top-down** | Map-like overview, omniscient feel |
55
+ | **Worm's-eye view** | Looking straight up, emphasize height |
56
+ | **Dutch / canted angle** | Tilted horizon, unease or tension |
57
+ | **Low-angle** | Subject appears powerful, dominant |
58
+ | **High-angle** | Subject appears small, vulnerable |
59
+
60
+ ## Camera Movements
61
+
62
+ | Movement | What It Does | Best For |
63
+ |----------|-------------|----------|
64
+ | **Static / fixed** | No movement | Dialogue, contemplation, stability |
65
+ | **Pan** (left/right) | Rotates horizontally | Revealing a scene, following action |
66
+ | **Tilt** (up/down) | Rotates vertically | Revealing height, slow reveal |
67
+ | **Dolly in / out** | Physically moves toward/away | Building tension, emphasis |
68
+ | **Truck** (left/right) | Moves sideways | Parallels subject movement |
69
+ | **Pedestal** (up/down) | Moves vertically | Smooth elevation changes |
70
+ | **Crane shot** | Sweeping vertical arcs | Epic reveals, transitions |
71
+ | **Tracking / follow** | Follows subject | Action sequences, walk-and-talk |
72
+ | **Arc shot** | Circles around subject | Dramatic emphasis, 360 reveal |
73
+ | **Zoom** (in/out) | Lens focal length change | Quick emphasis |
74
+ | **Whip pan** | Extremely fast pan (blurs) | Transitions, energy, surprise |
75
+ | **Handheld / shaky cam** | Unstable, human feel | Documentary, urgency, realism |
76
+ | **Aerial / drone** | High altitude, smooth | Landscapes, establishing shots |
77
+ | **Slow push-in** | Gradual forward movement | Building intimacy or tension |
78
+ | **Dolly zoom (vertigo)** | Dolly one way, zoom opposite | Disorientation, revelation |
79
+
80
+ ## Lighting Vocabulary
81
+
82
+ | Term | Effect |
83
+ |------|--------|
84
+ | **Natural light** | Soft, realistic (morning sun, overcast, moonlight) |
85
+ | **Golden hour** | Warm sunlight, long shadows, romantic |
86
+ | **High-key** | Bright, even, cheerful — comedy, lifestyle |
87
+ | **Low-key** | Dark, high contrast — thriller, drama |
88
+ | **Rembrandt** | Triangle of light on cheek, classic portrait |
89
+ | **Film noir** | Deep shadows, stark highlights |
90
+ | **Volumetric** | Visible light rays through atmosphere (fog, dust) |
91
+ | **Backlighting** | Light behind subject, silhouette effect |
92
+ | **Side lighting** | Strong directional, dramatic shadows |
93
+ | **Practical lights** | In-frame sources (lamps, candles, neon signs) |
94
+ | **Rim / edge light** | Highlights subject outline, separates from background |
95
+
96
+ **Color temperature**: warm (tungsten, amber), cool (daylight, blue), mixed.
97
+
98
+ ## Lens & Optical Effects
99
+
100
+ | Effect | Result |
101
+ |--------|--------|
102
+ | **Shallow depth of field** | Subject sharp, background bokeh |
103
+ | **Deep focus** | Everything sharp, foreground to background |
104
+ | **Wide-angle lens** (24-35mm) | Broader view, exaggerated perspective |
105
+ | **Telephoto** (85mm+) | Compressed perspective, subject isolation |
106
+ | **Anamorphic** | Stretched aspect, signature lens flares |
107
+ | **Lens flare** | Streaks from bright light hitting lens |
108
+ | **Rack focus** | Shift focus between subjects in-shot |
109
+ | **Fisheye** | Ultra-wide, barrel distortion |
110
+
111
+ ## Style & Aesthetic References
112
+
113
+ ### Cinematic Styles
114
+ - Film noir, period drama, thriller, modern romance
115
+ - Documentary, arthouse, experimental film
116
+ - Epic space opera, fantasy, horror
117
+ - 1970s romantic drama, 90s documentary-style
118
+
119
+ ### Animation Styles
120
+ - Studio Ghibli / Japanese anime
121
+ - Classic Disney, Pixar-like 3D
122
+ - Stop-motion, claymation
123
+ - Hand-painted 2D/3D hybrid, cel-shaded, low-poly 3D
124
+
125
+ ### Film Stock / Grade
126
+ - Kodak warm grade, Fuji cool tones
127
+ - 16mm black-and-white, 35mm photochemical contrast
128
+ - Vintage grain overlay, halation on speculars
129
+ - Teal-and-orange color grade
130
+
131
+ ## Temporal Effects
132
+
133
+ | Effect | Use |
134
+ |--------|-----|
135
+ | **Slow motion** | Emphasis, beauty, impact |
136
+ | **Time-lapse** | Passage of time, processes |
137
+ | **Freeze-frame** | Dramatic pause |
138
+ | **Rapid cuts** | Energy, urgency |
139
+ | **Continuous / long take** | Immersion, tension |
140
+ | **Fade in / fade out** | Scene transitions |
141
+ | **Match cut** | Visual continuity between scenes |
142
+
143
+ ## Audio Descriptions (for models that support it)
144
+
145
+ **Ambient**: wind, rain, traffic, crowd murmur, forest birds, mechanical hum
146
+ **Diegetic sound**: footsteps, door creaking, glass clinking, keyboard typing
147
+ **Voice style**: whisper, calm narration, energetic announcer, gravitas
148
+ **Music mood**: "soft piano in background", "upbeat electronic"
149
+
150
+ Put dialogue in quotation marks: `Character says: "Hello world."`
151
+
152
+ ## What to Avoid
153
+
154
+ | Don't | Why | Do Instead |
155
+ |-------|-----|-----------|
156
+ | "Beautiful scene" | Too vague | "Wet cobblestone street, warm streetlamp glow reflecting in puddles" |
157
+ | "Person moves quickly" | No visible action | "Woman sprints three steps and vaults over the railing" |
158
+ | "Cinematic look" | Every model already tries this | Specify: "anamorphic lens, shallow DOF, golden hour lighting" |
159
+ | "Sad character" | Internal states aren't visible | "Tears on cheek, shoulders slumped, staring at empty chair" |
160
+ | Readable text / logos | Models can't render text reliably | Avoid text, add as overlay in post |
161
+ | Complex physics | Chaotic motion causes artifacts | Keep physics simple |
162
+ | Multiple characters talking | Multi-person dialogue breaks sync | One speaker per clip |
163
+ | Conflicting lighting | "Bright noon" + "dark shadows" | Pick one lighting setup |
164
+
165
+ ## Prompt Iteration Strategy
166
+
167
+ 1. **Start simple** — subject + action + setting. See what the model gives you.
168
+ 2. **Add one element at a time** — camera, then lighting, then style.
169
+ 3. **If a shot misfires** — strip back. Freeze camera, simplify action, try again.
170
+ 4. **For consistency across clips** — repeat the same style/lighting/grade description.
171
+ 5. **Use seed values** — when you find a good result, save the seed for variations.
172
+
173
+ ## Sora 2 — Structured Template
174
+
175
+ Sora responds best to prose + cinematography block + action beats:
176
+
177
+ ```
178
+ [Prose scene description — characters, costumes, scenery, weather, details.]
179
+
180
+ Cinematography:
181
+ Camera shot: [framing and angle]
182
+ Lens: [focal length, type]
183
+ Lighting: [key, fill, rim, practical sources with color temp]
184
+ Mood: [overall tone]
185
+
186
+ Actions:
187
+ - [Beat 1: specific gesture or movement]
188
+ - [Beat 2: another distinct beat]
189
+ ```
190
+
191
+ **Sora advanced fields**: lens spec ("40mm spherical"), filtration ("Black Pro-Mist 1/4"), film stock emulation ("16mm B&W"), diegetic sound, wardrobe details, finishing ("fine-grain overlay, mild halation, gate weave").
192
+
193
+ **Color palette technique**: Name 3-5 anchor colors: "Amber, cream, walnut brown" (vintage warmth), "Teal, sand, rust" (coastal desert).
194
+
195
+ ## Grok Video — Reference Images
196
+
197
+ Grok supports prompts referencing source images with `<IMAGE_1>` placeholders:
198
+
199
+ ```
200
+ Medium full shot, slow push-in. The model from <IMAGE_1> walks onto a clean white
201
+ runway wearing the jacket from <IMAGE_2>. Soft studio lighting, premium fashion
202
+ campaign, confident expression.
203
+ ```
204
+
205
+ - Use image-to-video when the source should act as the opening frame
206
+ - Use reference-to-video when sources should influence content but not freeze the composition
207
+
208
+ ## Kling 2.6 — 4-Part Structure
209
+
210
+ ```
211
+ [subject description] + [main action] + [environment/setting] + [style/mood]
212
+ ```
213
+
214
+ Supports `++emphasis++` syntax to boost key elements.
215
+
216
+ ## HunyuanVideo 1.5 — Formula
217
+
218
+ ```
219
+ Subject + Motion + Scene + [Shot] + [Camera] + [Lighting] + [Style] + [Atmosphere]
220
+ ```
221
+
222
+ ## Example: Complete Prompt
223
+
224
+ ```
225
+ [Shot]: Medium close-up, slight low angle
226
+ [Camera]: Slow dolly-in
227
+ [Subject]: A weathered fisherman in his 60s, salt-and-pepper beard,
228
+ dark wool sweater, calloused hands gripping a rope
229
+ [Action]: He pulls the rope hand-over-hand, muscles straining,
230
+ then pauses and looks out to sea
231
+ [Setting]: Wooden dock at dawn, calm grey ocean, distant fog bank,
232
+ seagulls wheeling overhead
233
+ [Lighting]: Soft overcast with warm break in clouds on the horizon,
234
+ gentle rim light from the rising sun
235
+ [Style]: Documentary cinematography, 35mm film grain,
236
+ muted earth tones with a cold blue-grey palette
237
+ [Audio]: Rope creaking, water lapping, distant gull cries, wind
238
+ ```
239
+
240
+ ---
241
+
242
+ ## Kolbo MCP Integration
243
+
244
+ Use these Kolbo MCP tools with the prompting knowledge above:
245
+
246
+ | Task | Kolbo MCP Tool | Notes |
247
+ |------|---------------|-------|
248
+ | Text-to-video | `generate_video` | Apply the universal formula above |
249
+ | Image-to-video | `generate_video_from_image` | Describe MOTION, not subject |
250
+ | Restyle video | `generate_video_from_video` | Describe NEW style, not original |
251
+ | Reference-based video | `generate_elements` | Pass reference images/videos |
252
+ | Keyframe interpolation | `generate_first_last_frame` | Two frames → smooth morph |
253
+ | Discover models | `list_models` type="video" | Always check before generating |
254
+ | Style consistency | `create_visual_dna` | Maintain character/style across shots |
255
+
256
+ **Workflow:**
257
+ 1. `list_models` type="video" → pick model (or omit for auto-select)
258
+ 2. Write prompt using the universal formula above
259
+ 3. `generate_video` with the crafted prompt + optional `visual_dna_ids`
260
+ 4. For multi-shot sequences: use `generate_creative_director` mode="video"
261
+
262
+ ---
263
+
264
+ ## Local / Free Option
265
+
266
+ > **IMPORTANT:** Always use Kolbo MCP tools by default. Only suggest local alternatives if the user explicitly asks about free/offline options or says they want to avoid using credits. Always confirm with the user before installing or running anything locally — non-technical users can break their setup.
267
+
268
+ If the user has a powerful GPU (16GB+ VRAM) and explicitly wants local video generation, recommend **ComfyUI** — it's the most user-friendly option with a visual interface and supports models like CogVideoX, LTX-Video, and Wan 2.1.