Use when adding new error messages to React, or seeing "unknown error code" warnings.
npx skills add millord237/10X-Canva-Skills --skill "canva-video"
Install specific skill from multi-skill repository
# Description
|
# SKILL.md
name: canva-video
description: |
Create and edit video designs in Canva. Use this skill when user wants to work with
videos, animations, or motion graphics. Handles video creation, editing, timeline
management, and export. Follows 3-mode workflow for safe operations.
For static images use canva-image-editor. For presentations use canva-presentation.
allowed-tools:
- Bash
- Read
- Write
- Edit
- AskUserQuestion
Canva Video Skill
Create and edit video designs, animations, and motion graphics in Canva.
β οΈ CRITICAL DESIGN PRESERVATION RULES (MANDATORY)
These rules are NON-NEGOTIABLE. Violating them will break the video design.
π« NEVER DO THESE THINGS:
- NEVER add new elements to existing videos - Only modify EXISTING elements
- NEVER change existing element timings - Unless user EXPLICITLY requests it
- NEVER change font sizes/styles - Unless user EXPLICITLY requests it
- NEVER change element positions - Unless user EXPLICITLY requests it
- NEVER change animations - Unless user EXPLICITLY requests it
- NEVER change backgrounds - Unless user EXPLICITLY requests it
- NEVER modify audio levels - Unless user EXPLICITLY requests it
- NEVER change video duration - Unless user EXPLICITLY requests it
- NEVER remove existing elements - Unless user EXPLICITLY requests it
- NEVER modify the template structure - Unless user EXPLICITLY requests it
β ALWAYS DO THESE THINGS:
- ALWAYS replace text within existing elements only
- ALWAYS replace video clips in existing placeholders only
- ALWAYS preserve all timing and animations when replacing content
- ALWAYS analyze video structure first before any modification
- ALWAYS identify content elements vs template elements before editing
- ALWAYS duplicate the design first before making changes
Updating Content - THE CORRECT WAY:
# WRONG - Adds new text element
add_text.py --design "ID" --text "New text"
# CORRECT - Updates existing text element
update_text.py --design "ID" --element "EXISTING_ELEMENT_ID" --text "New text"
Scope of This Skill
This skill handles:
- Video Posts (Instagram, TikTok, YouTube)
- Video Stories
- Video Ads
- Animated Presentations
- Motion Graphics
- Video Intros/Outros
- Animated Logos
- GIF Creation
Operations supported:
- Edit video elements (REPLACE existing, not ADD new)
- ~~Create new video designs~~ β Duplicate existing designs instead
- ~~Add/remove video clips~~ β Replace clips in existing placeholders
- ~~Add text animations~~ β Update text in existing animated elements
- Manage audio tracks (with explicit permission)
- Export to MP4 or GIF
Video Design Types
| Type | Dimensions | Duration |
|---|---|---|
| Instagram Reel | 1080x1920 | Up to 90s |
| TikTok Video | 1080x1920 | Up to 3min |
| YouTube Short | 1080x1920 | Up to 60s |
| YouTube Video | 1920x1080 | Variable |
| Facebook Video | 1280x720 | Variable |
| Video Ad | Various | 15-30s |
| Animated Post | 1080x1080 | 5-15s |
| Animated Story | 1080x1920 | 5-15s |
3-Mode Workflow
MODE 1: PLAN
-
Analyze Video Structure
python python skills/canva-video/scripts/analyze_video.py \ --id "DESIGN_ID" -
Document Video Elements
```
## Video Analysis: "[Name]"
### Overview
- Dimensions: 1080x1920
- Duration: 15 seconds
- Frame Rate: 30fps
### Timeline
| Time | Element | Type | Duration |
|------|---------|------|----------|
| 0-3s | Intro | Animation | 3s |
| 3-10s | Main Content | Video Clip | 7s |
| 10-13s | Text Overlay | Animated Text | 3s |
| 13-15s | CTA | Animation | 2s |
### Audio
- Background Music: "Upbeat Track" (15s)
- Voiceover: None
### Proposed Changes
1. Extend duration to 20 seconds
2. Add new text at 15-18s
3. Replace background music
```
MODE 2: CLARIFY
Video-specific questions:
- Timing
- "At what timestamp should this appear?"
-
"How long should it stay on screen?"
-
Animation
- "What animation style? (fade, slide, bounce)"
-
"Should text animate in word-by-word or all at once?"
-
Audio
- "Keep current background music?"
-
"Should audio fade out at the end?"
-
Export
- "What quality/resolution for export?"
- "Include audio in export?"
MODE 3: IMPLEMENT
# Add text element with animation
python skills/canva-video/scripts/add_text.py \
--design "DESIGN_ID" \
--text "Your Message Here" \
--start 5.0 \
--duration 3.0 \
--animation "fade-in"
# Add video clip
python skills/canva-video/scripts/add_clip.py \
--design "DESIGN_ID" \
--clip "path/to/video.mp4" \
--start 0.0 \
--trim-start 2.0 \
--trim-end 10.0
# Update timing
python skills/canva-video/scripts/update_timing.py \
--design "DESIGN_ID" \
--element "ELEMENT_ID" \
--start 3.0 \
--duration 5.0
# Change video duration
python skills/canva-video/scripts/set_duration.py \
--design "DESIGN_ID" \
--duration 20.0
# Add background music
python skills/canva-video/scripts/add_audio.py \
--design "DESIGN_ID" \
--audio "path/to/music.mp3" \
--volume 0.5 \
--loop true
Available Scripts
Analysis Scripts
analyze_video.py- Full video breakdownget_timeline.py- Timeline elements and timingextract_frames.py- Get keyframes as imagesget_audio_info.py- Audio track details
Edit Scripts
add_text.py- Add animated textadd_clip.py- Insert video clipadd_image.py- Add static or animated imageadd_audio.py- Add music/voiceoverupdate_timing.py- Change element timingupdate_animation.py- Change animation styleset_duration.py- Change total durationremove_element.py- Delete element from timeline
Creation Scripts
create_video.py- New blank videocreate_from_template.py- From Canva template
Animation Types
Text animations:
- fade-in / fade-out
- slide-up / slide-down / slide-left / slide-right
- zoom-in / zoom-out
- bounce
- typewriter
- wipe
- pop
Element animations:
- pan - Move across screen
- ken-burns - Slow zoom on images
- rotate
- scale
- baseline - None (static)
Audio Handling
# Add background music
python skills/canva-video/scripts/add_audio.py \
--design "DESIGN_ID" \
--audio "music.mp3" \
--type "background" \
--volume 0.3
# Add voiceover
python skills/canva-video/scripts/add_audio.py \
--design "DESIGN_ID" \
--audio "voiceover.mp3" \
--type "voiceover" \
--start 2.0
# Adjust audio timing
python skills/canva-video/scripts/update_audio.py \
--design "DESIGN_ID" \
--audio-id "AUDIO_ID" \
--fade-in 1.0 \
--fade-out 2.0
Video Export
Use canva-export skill with these options:
- MP4 - Standard video format
- GIF - Animated GIF (no audio)
- WebM - Web-optimized video
Quality options:
- 720p - 1280x720, smaller file
- 1080p - 1920x1080, standard
- 4K - 3840x2160, highest quality
Timeline Best Practices
- Leave breathing room - Don't cram too many elements
- Text timing - 2-3 seconds minimum for readability
- Transitions - Use sparingly, keep consistent
- Audio levels - Music lower than voiceover
- CTA timing - Save call-to-action for end
Safety Guidelines
- Preview before export - Check timing looks right
- Backup audio - Keep original audio files
- Version control - Duplicate before major changes
- File sizes - Be aware of upload limits
Example Interactions
"Add text that says 'Shop Now' at the end"
[PLAN]
- Video is 15 seconds
- Add "Shop Now" at 12-15s
- Recommend animation style
[CLARIFY]
- "Add at 12s, display for 3s until end?"
- "Animation style: 'pop' or 'slide-up'?"
- "Font and color preferences?"
[IMPLEMENT]
- Add text element
- Apply animation
- Verify timing
"Replace the background music"
[PLAN]
- Current music: "Upbeat.mp3" (15s)
- Need new music file
[CLARIFY]
- "What music file should I use?"
- "Same volume level?"
- "Fade in/out at ends?"
[IMPLEMENT]
- Remove current audio
- Add new audio track
- Apply fades if requested
Output Files
output/videos/- Exported videosoutput/frames/- Extracted keyframesoutput/audio/- Extracted audiooutput/logs/video_edits.json- Edit history
# Supported AI Coding Agents
This skill is compatible with the SKILL.md standard and works with all major AI coding agents:
Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.