@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.
- package/bin/kolbo +0 -0
- package/package.json +14 -0
- package/skills/brainstorming/SKILL.md +164 -0
- package/skills/brainstorming/scripts/frame-template.html +214 -0
- package/skills/brainstorming/scripts/helper.js +88 -0
- package/skills/brainstorming/scripts/server.cjs +354 -0
- package/skills/brainstorming/scripts/start-server.sh +148 -0
- package/skills/brainstorming/scripts/stop-server.sh +56 -0
- package/skills/brainstorming/spec-document-reviewer-prompt.md +49 -0
- package/skills/brainstorming/visual-companion.md +287 -0
- package/skills/color-grading/SKILL.md +152 -0
- package/skills/dispatching-parallel-agents/SKILL.md +182 -0
- package/skills/docx/.skillfish.json +10 -0
- package/skills/docx/SKILL.md +196 -0
- package/skills/docx/docx-js.md +350 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
- package/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
- package/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
- package/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
- package/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
- package/skills/docx/ooxml/schemas/mce/mc.xsd +75 -0
- package/skills/docx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
- package/skills/docx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
- package/skills/docx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
- package/skills/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
- package/skills/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
- package/skills/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
- package/skills/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
- package/skills/docx/ooxml/scripts/pack.py +159 -0
- package/skills/docx/ooxml/scripts/unpack.py +29 -0
- package/skills/docx/ooxml/scripts/validate.py +69 -0
- package/skills/docx/ooxml/scripts/validation/__init__.py +15 -0
- package/skills/docx/ooxml/scripts/validation/base.py +951 -0
- package/skills/docx/ooxml/scripts/validation/docx.py +274 -0
- package/skills/docx/ooxml/scripts/validation/pptx.py +315 -0
- package/skills/docx/ooxml/scripts/validation/redlining.py +279 -0
- package/skills/docx/ooxml.md +599 -0
- package/skills/docx/scripts/__init__.py +1 -0
- package/skills/docx/scripts/document.py +1272 -0
- package/skills/docx/scripts/templates/comments.xml +3 -0
- package/skills/docx/scripts/templates/commentsExtended.xml +3 -0
- package/skills/docx/scripts/templates/commentsExtensible.xml +3 -0
- package/skills/docx/scripts/templates/commentsIds.xml +3 -0
- package/skills/docx/scripts/templates/people.xml +3 -0
- package/skills/docx/scripts/utilities.py +374 -0
- package/skills/executing-plans/SKILL.md +70 -0
- package/skills/ffmpeg-patterns/SKILL.md +240 -0
- package/skills/finishing-a-development-branch/SKILL.md +200 -0
- package/skills/frontend-design/SKILL.md +42 -0
- package/skills/fullstack-app/SKILL.md +621 -0
- package/skills/image-prompting-guide/SKILL.md +143 -0
- package/skills/kolbo/SKILL.md +610 -0
- package/skills/music-prompting/SKILL.md +146 -0
- package/skills/pdf/.skillfish.json +10 -0
- package/skills/pdf/FORMS.md +205 -0
- package/skills/pdf/REFERENCE.md +612 -0
- package/skills/pdf/SKILL.md +293 -0
- package/skills/pdf/scripts/check_bounding_boxes.py +70 -0
- package/skills/pdf/scripts/check_bounding_boxes_test.py +226 -0
- package/skills/pdf/scripts/check_fillable_fields.py +12 -0
- package/skills/pdf/scripts/convert_pdf_to_images.py +35 -0
- package/skills/pdf/scripts/create_validation_image.py +41 -0
- package/skills/pdf/scripts/extract_form_field_info.py +152 -0
- package/skills/pdf/scripts/fill_fillable_fields.py +114 -0
- package/skills/pdf/scripts/fill_pdf_form_with_annotations.py +108 -0
- package/skills/photo-studio/SKILL.md +130 -0
- package/skills/pptx/.skillfish.json +10 -0
- package/skills/pptx/SKILL.md +483 -0
- package/skills/pptx/html2pptx.md +626 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
- package/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
- package/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
- package/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
- package/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
- package/skills/pptx/ooxml/schemas/mce/mc.xsd +75 -0
- package/skills/pptx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
- package/skills/pptx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
- package/skills/pptx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
- package/skills/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
- package/skills/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
- package/skills/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
- package/skills/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
- package/skills/pptx/ooxml/scripts/pack.py +159 -0
- package/skills/pptx/ooxml/scripts/unpack.py +29 -0
- package/skills/pptx/ooxml/scripts/validate.py +69 -0
- package/skills/pptx/ooxml/scripts/validation/__init__.py +15 -0
- package/skills/pptx/ooxml/scripts/validation/base.py +951 -0
- package/skills/pptx/ooxml/scripts/validation/docx.py +274 -0
- package/skills/pptx/ooxml/scripts/validation/pptx.py +315 -0
- package/skills/pptx/ooxml/scripts/validation/redlining.py +279 -0
- package/skills/pptx/ooxml.md +427 -0
- package/skills/pptx/scripts/html2pptx.js +995 -0
- package/skills/pptx/scripts/inventory.py +1020 -0
- package/skills/pptx/scripts/rearrange.py +231 -0
- package/skills/pptx/scripts/replace.py +385 -0
- package/skills/pptx/scripts/thumbnail.py +450 -0
- package/skills/production-review/SKILL.md +152 -0
- package/skills/receiving-code-review/SKILL.md +213 -0
- package/skills/remotion-best-practices/SKILL.md +62 -0
- package/skills/remotion-best-practices/rules/3d.md +86 -0
- package/skills/remotion-best-practices/rules/animations.md +27 -0
- package/skills/remotion-best-practices/rules/assets/charts-bar-chart.tsx +173 -0
- package/skills/remotion-best-practices/rules/assets/text-animations-typewriter.tsx +100 -0
- package/skills/remotion-best-practices/rules/assets/text-animations-word-highlight.tsx +103 -0
- package/skills/remotion-best-practices/rules/assets.md +78 -0
- package/skills/remotion-best-practices/rules/audio-visualization.md +198 -0
- package/skills/remotion-best-practices/rules/audio.md +169 -0
- package/skills/remotion-best-practices/rules/calculate-metadata.md +134 -0
- package/skills/remotion-best-practices/rules/can-decode.md +81 -0
- package/skills/remotion-best-practices/rules/charts.md +120 -0
- package/skills/remotion-best-practices/rules/compositions.md +154 -0
- package/skills/remotion-best-practices/rules/display-captions.md +184 -0
- package/skills/remotion-best-practices/rules/extract-frames.md +229 -0
- package/skills/remotion-best-practices/rules/ffmpeg.md +38 -0
- package/skills/remotion-best-practices/rules/fonts.md +152 -0
- package/skills/remotion-best-practices/rules/get-audio-duration.md +58 -0
- package/skills/remotion-best-practices/rules/get-video-dimensions.md +68 -0
- package/skills/remotion-best-practices/rules/get-video-duration.md +60 -0
- package/skills/remotion-best-practices/rules/gifs.md +141 -0
- package/skills/remotion-best-practices/rules/images.md +134 -0
- package/skills/remotion-best-practices/rules/import-srt-captions.md +69 -0
- package/skills/remotion-best-practices/rules/light-leaks.md +73 -0
- package/skills/remotion-best-practices/rules/lottie.md +70 -0
- package/skills/remotion-best-practices/rules/maps.md +412 -0
- package/skills/remotion-best-practices/rules/measuring-dom-nodes.md +34 -0
- package/skills/remotion-best-practices/rules/measuring-text.md +140 -0
- package/skills/remotion-best-practices/rules/motion-design.md +215 -0
- package/skills/remotion-best-practices/rules/parameters.md +109 -0
- package/skills/remotion-best-practices/rules/sequencing.md +118 -0
- package/skills/remotion-best-practices/rules/sfx.md +30 -0
- package/skills/remotion-best-practices/rules/subtitles.md +36 -0
- package/skills/remotion-best-practices/rules/tailwind.md +11 -0
- package/skills/remotion-best-practices/rules/text-animations.md +20 -0
- package/skills/remotion-best-practices/rules/timing.md +179 -0
- package/skills/remotion-best-practices/rules/transcribe-captions.md +70 -0
- package/skills/remotion-best-practices/rules/transitions.md +197 -0
- package/skills/remotion-best-practices/rules/transparent-videos.md +106 -0
- package/skills/remotion-best-practices/rules/trimming.md +51 -0
- package/skills/remotion-best-practices/rules/videos.md +171 -0
- package/skills/remotion-best-practices/rules/voiceover.md +99 -0
- package/skills/requesting-code-review/SKILL.md +105 -0
- package/skills/requesting-code-review/code-reviewer.md +146 -0
- package/skills/short-form-video/SKILL.md +168 -0
- package/skills/sound-design/SKILL.md +154 -0
- package/skills/storytelling/SKILL.md +139 -0
- package/skills/subagent-driven-development/SKILL.md +277 -0
- package/skills/subagent-driven-development/code-quality-reviewer-prompt.md +26 -0
- package/skills/subagent-driven-development/implementer-prompt.md +113 -0
- package/skills/subagent-driven-development/spec-reviewer-prompt.md +61 -0
- package/skills/subtitle-production/SKILL.md +244 -0
- package/skills/subtitle-production/reference/burn_to_video.py +222 -0
- package/skills/subtitle-production/reference/export_srts.py +127 -0
- package/skills/subtitle-production/reference/gen_srt.py +42 -0
- package/skills/supabase/.skillfish.json +10 -0
- package/skills/supabase/SKILL.md +106 -0
- package/skills/supabase/assets/feedback-issue-template.md +17 -0
- package/skills/supabase/references/skill-feedback.md +17 -0
- package/skills/supabase-postgres-best-practices/.skillfish.json +10 -0
- package/skills/supabase-postgres-best-practices/SKILL.md +64 -0
- package/skills/supabase-postgres-best-practices/references/_contributing.md +170 -0
- package/skills/supabase-postgres-best-practices/references/_sections.md +39 -0
- package/skills/supabase-postgres-best-practices/references/_template.md +34 -0
- package/skills/supabase-postgres-best-practices/references/advanced-full-text-search.md +55 -0
- package/skills/supabase-postgres-best-practices/references/advanced-jsonb-indexing.md +49 -0
- package/skills/supabase-postgres-best-practices/references/conn-idle-timeout.md +46 -0
- package/skills/supabase-postgres-best-practices/references/conn-limits.md +44 -0
- package/skills/supabase-postgres-best-practices/references/conn-pooling.md +41 -0
- package/skills/supabase-postgres-best-practices/references/conn-prepared-statements.md +46 -0
- package/skills/supabase-postgres-best-practices/references/data-batch-inserts.md +54 -0
- package/skills/supabase-postgres-best-practices/references/data-n-plus-one.md +53 -0
- package/skills/supabase-postgres-best-practices/references/data-pagination.md +50 -0
- package/skills/supabase-postgres-best-practices/references/data-upsert.md +50 -0
- package/skills/supabase-postgres-best-practices/references/lock-advisory.md +56 -0
- package/skills/supabase-postgres-best-practices/references/lock-deadlock-prevention.md +68 -0
- package/skills/supabase-postgres-best-practices/references/lock-short-transactions.md +50 -0
- package/skills/supabase-postgres-best-practices/references/lock-skip-locked.md +54 -0
- package/skills/supabase-postgres-best-practices/references/monitor-explain-analyze.md +45 -0
- package/skills/supabase-postgres-best-practices/references/monitor-pg-stat-statements.md +55 -0
- package/skills/supabase-postgres-best-practices/references/monitor-vacuum-analyze.md +55 -0
- package/skills/supabase-postgres-best-practices/references/query-composite-indexes.md +44 -0
- package/skills/supabase-postgres-best-practices/references/query-covering-indexes.md +40 -0
- package/skills/supabase-postgres-best-practices/references/query-index-types.md +48 -0
- package/skills/supabase-postgres-best-practices/references/query-missing-indexes.md +43 -0
- package/skills/supabase-postgres-best-practices/references/query-partial-indexes.md +45 -0
- package/skills/supabase-postgres-best-practices/references/schema-constraints.md +80 -0
- package/skills/supabase-postgres-best-practices/references/schema-data-types.md +46 -0
- package/skills/supabase-postgres-best-practices/references/schema-foreign-key-indexes.md +59 -0
- package/skills/supabase-postgres-best-practices/references/schema-lowercase-identifiers.md +55 -0
- package/skills/supabase-postgres-best-practices/references/schema-partitioning.md +55 -0
- package/skills/supabase-postgres-best-practices/references/schema-primary-keys.md +61 -0
- package/skills/supabase-postgres-best-practices/references/security-privileges.md +54 -0
- package/skills/supabase-postgres-best-practices/references/security-rls-basics.md +50 -0
- package/skills/supabase-postgres-best-practices/references/security-rls-performance.md +57 -0
- package/skills/supabase-quickstart/SKILL.md +400 -0
- package/skills/systematic-debugging/CREATION-LOG.md +119 -0
- package/skills/systematic-debugging/SKILL.md +296 -0
- package/skills/systematic-debugging/condition-based-waiting-example.ts +158 -0
- package/skills/systematic-debugging/condition-based-waiting.md +115 -0
- package/skills/systematic-debugging/defense-in-depth.md +122 -0
- package/skills/systematic-debugging/find-polluter.sh +63 -0
- package/skills/systematic-debugging/root-cause-tracing.md +169 -0
- package/skills/systematic-debugging/test-academic.md +14 -0
- package/skills/systematic-debugging/test-pressure-1.md +58 -0
- package/skills/systematic-debugging/test-pressure-2.md +68 -0
- package/skills/systematic-debugging/test-pressure-3.md +69 -0
- package/skills/test-driven-development/SKILL.md +371 -0
- package/skills/test-driven-development/testing-anti-patterns.md +299 -0
- package/skills/typography-video/SKILL.md +182 -0
- package/skills/typography-video/reference/KineticTitleScene.tsx +345 -0
- package/skills/using-git-worktrees/SKILL.md +218 -0
- package/skills/using-superpowers/SKILL.md +115 -0
- package/skills/using-superpowers/references/codex-tools.md +100 -0
- package/skills/using-superpowers/references/gemini-tools.md +33 -0
- package/skills/verification-before-completion/SKILL.md +139 -0
- package/skills/video-editing/SKILL.md +128 -0
- package/skills/video-production/SKILL.md +247 -0
- package/skills/video-prompting-guide/SKILL.md +268 -0
- package/skills/writing-plans/SKILL.md +152 -0
- package/skills/writing-plans/plan-document-reviewer-prompt.md +49 -0
- package/skills/writing-skills/SKILL.md +655 -0
- package/skills/writing-skills/anthropic-best-practices.md +1150 -0
- package/skills/writing-skills/examples/CLAUDE_MD_TESTING.md +189 -0
- package/skills/writing-skills/graphviz-conventions.dot +172 -0
- package/skills/writing-skills/persuasion-principles.md +187 -0
- package/skills/writing-skills/render-graphs.js +168 -0
- package/skills/writing-skills/testing-skills-with-subagents.md +384 -0
- package/skills/xlsx/.skillfish.json +10 -0
- package/skills/xlsx/SKILL.md +288 -0
- package/skills/xlsx/recalc.py +178 -0
- 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.
|