MixCut Skill
CRITICAL INSTRUCTION: MANDATORY CONFIGURATION
You MUST NOT proceed to downloading or processing until the Project Configuration is fully defined.
Step 1: The Configuration Gate
Check if the user has provided ALL of the following:
- Video Title: Main title for intro and segment cards.
- Caption Language: Target language for subtitles (e.g., English, etc.). Crucial: No bilingual output.
- Aspect Ratio: 16:9 (Desktop), 9:16 (Shorts/TikTok), or 1:1.
- Target Duration: 30s, 60s, 120s, or 180s.
- Pace: Fast, Medium, or Slow.
- Style: Highlight Montage or Beat-cut.
- Transitions: none, fade, slide, flash, or glitch.
If ANY of these are missing, you MUST use the AskUserQuestion tool to obtain them.
DO NOT assume defaults.
DO NOT start downloading until configuration is complete.
Workflow
Phase 1: Sources & Workspace Setup
- Gather Sources: Ask for YouTube URLs from the user.
- Setup Workspace:
- Ensure the directory
./work exists in the project root.
- Prepare
./work/assets and ./work/outputs subdirectories.
Phase 2: Content Analysis
For each YouTube URL provided:
- Download:
- Run
python skills/Youtube-clipper-skill/scripts/download_video.py <url> "./work/assets/youtube"
- Analyze:
- Run
python skills/Youtube-clipper-skill/scripts/analyze_subtitles.py <subtitle_path>
- Selection:
- Present analyzed chapters/highlights to the user.
- Confirm which segments to include in the final cut.
Phase 3: Assembly & Processing
- Configuration: Create
./work/mixcut_config.json with global settings and source clip metadata (start, end, title).
- Processing:
- Run
python skills/mixcut/scripts/process_mixcut.py "./work/mixcut_config.json"
- This script automates clipping, media normalization (ffmpeg), and generates the initial
timeline.json and final.srt.
Phase 4: Professional Subtitle Cleaning (Agent-Driven)
This phase ensures high-quality, professional subtitles.
- Read Timeline: Access
./work/timeline.json.
- Subtitle Optimization:
Iterate through all subtitle entries and apply the following cleaning logic:
- Remove Noise: Strip speaker markers (e.g.,
>>, >>>) and sound cues (e.g., [Music], [Applause]).
- Deduplication: Remove repeated words, stutters, and verbal fillers ("uh", "um", "you know").
- Flow Improvement: Merge fragmented phrases into natural, readable sentences.
- Professional Polish: Refine text into the target language using appropriate technical terminology.
- Update: Save the optimized content back to
./work/timeline.json.
- Synchronize: Run
python skills/mixcut/scripts/process_mixcut.py "./work/mixcut_config.json" --action generate_srt to sync changes to final.srt.
Phase 5: Rendering
- Delegate to Remotion:
- Use the
remotion skill to render the project located in skills/mixcut/remotion.
- Provide the absolute path to
./work/timeline.json as input props.
- Set output to
./work/outputs/final_mixcut.mp4.
Phase 6: Delivery Guard & Verification
Mandatory verification before completion.
- Integrity Check:
- Verify
./work/outputs/final_mixcut.mp4 exists and has a file size > 0.
- Verify
./work/outputs/final.srt exists and has a file size > 0.
- Troubleshooting: If files are missing or empty, identify the failure point in previous phases and re-run the necessary steps.
Phase 7: Completion & Cleanup
- Report: Provide the paths to the final video and subtitle files.
- Retention Policy: Do NOT delete the
./work directory until the user explicitly confirms the results or you have verified the outputs physically.
Technical Guidelines
- Path Management: Always use absolute paths when delegating tasks to external skills.
- Cross-Platform: Avoid hardcoding drive letters; use system-agnostic path resolution.
- Performance: Use parallel tool calls for independent download/analysis tasks where supported.
1---2name: mixcut3description: Create short mixed-cut videos from YouTube clips with automated analysis, clipping, and professional subtitle processing.4---56# MixCut Skill78## CRITICAL INSTRUCTION: MANDATORY CONFIGURATION910You MUST NOT proceed to downloading or processing until the Project Configuration is fully defined.1112**Step 1: The Configuration Gate**13Check if the user has provided ALL of the following:14- **Video Title**: Main title for intro and segment cards.15- **Caption Language**: Target language for subtitles (e.g., English, etc.). *Crucial: No bilingual output.*16- **Aspect Ratio**: 16:9 (Desktop), 9:16 (Shorts/TikTok), or 1:1.17- **Target Duration**: 30s, 60s, 120s, or 180s.18- **Pace**: Fast, Medium, or Slow.19- **Style**: Highlight Montage or Beat-cut.20- **Transitions**: none, fade, slide, flash, or glitch.2122If ANY of these are missing, you MUST use the `AskUserQuestion` tool to obtain them. 23DO NOT assume defaults.24DO NOT start downloading until configuration is complete.2526---2728## Workflow2930### Phase 1: Sources & Workspace Setup311. **Gather Sources**: Ask for YouTube URLs from the user.322. **Setup Workspace**:33 - Ensure the directory `./work` exists in the project root.34 - Prepare `./work/assets` and `./work/outputs` subdirectories.3536### Phase 2: Content Analysis37For each YouTube URL provided:381. **Download**:39 - Run `python skills/Youtube-clipper-skill/scripts/download_video.py <url> "./work/assets/youtube"`402. **Analyze**:41 - Run `python skills/Youtube-clipper-skill/scripts/analyze_subtitles.py <subtitle_path>`423. **Selection**:43 - Present analyzed chapters/highlights to the user.44 - Confirm which segments to include in the final cut.4546### Phase 3: Assembly & Processing471. **Configuration**: Create `./work/mixcut_config.json` with global settings and source clip metadata (start, end, title).482. **Processing**:49 - Run `python skills/mixcut/scripts/process_mixcut.py "./work/mixcut_config.json"`50 - This script automates clipping, media normalization (ffmpeg), and generates the initial `timeline.json` and `final.srt`.5152### Phase 4: Professional Subtitle Cleaning (Agent-Driven)53*This phase ensures high-quality, professional subtitles.*54551. **Read Timeline**: Access `./work/timeline.json`.562. **Subtitle Optimization**:57 Iterate through all subtitle entries and apply the following cleaning logic:58 - **Remove Noise**: Strip speaker markers (e.g., `>>`, `>>>`) and sound cues (e.g., `[Music]`, `[Applause]`).59 - **Deduplication**: Remove repeated words, stutters, and verbal fillers ("uh", "um", "you know").60 - **Flow Improvement**: Merge fragmented phrases into natural, readable sentences.61 - **Professional Polish**: Refine text into the target language using appropriate technical terminology.623. **Update**: Save the optimized content back to `./work/timeline.json`.634. **Synchronize**: Run `python skills/mixcut/scripts/process_mixcut.py "./work/mixcut_config.json" --action generate_srt` to sync changes to `final.srt`.6465### Phase 5: Rendering661. **Delegate to Remotion**:67 - Use the `remotion` skill to render the project located in `skills/mixcut/remotion`.68 - Provide the absolute path to `./work/timeline.json` as input props.69 - Set output to `./work/outputs/final_mixcut.mp4`.7071### Phase 6: Delivery Guard & Verification72*Mandatory verification before completion.*73741. **Integrity Check**:75 - Verify `./work/outputs/final_mixcut.mp4` exists and has a file size > 0.76 - Verify `./work/outputs/final.srt` exists and has a file size > 0.772. **Troubleshooting**: If files are missing or empty, identify the failure point in previous phases and re-run the necessary steps.7879### Phase 7: Completion & Cleanup801. **Report**: Provide the paths to the final video and subtitle files.812. **Retention Policy**: Do NOT delete the `./work` directory until the user explicitly confirms the results or you have verified the outputs physically.8283---8485## Technical Guidelines86- **Path Management**: Always use absolute paths when delegating tasks to external skills.87- **Cross-Platform**: Avoid hardcoding drive letters; use system-agnostic path resolution.88- **Performance**: Use parallel tool calls for independent download/analysis tasks where supported.