Skip to content
Back to skills

Final Cut Pro

ASecurity

Automate Final Cut Pro interchange with FCPXML, prepare Motion or Compressor workflows, and troubleshoot media rendering.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 22, 2026
ai-agentspythongobashexpressperformance

Works with

  • cursor
  • terminal
  • cli

Security analysis

A100/100

Pro scans all 3 files and shows the line behind each finding

Scanned October 22, 2026

npx -y skills add alivirgo/Major-AI-Skills --skill final-cut-pro --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Final Cut Pro?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Final Cut Pro
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/alivirgo-final-cut-pro/badge)](https://www.skillsdirectory.com/skills/alivirgo-final-cut-pro)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: final-cut-pro
description: "Automate Final Cut Pro interchange with FCPXML, prepare Motion or Compressor workflows, and troubleshoot media rendering."
category: video-editing
risk: safe
source: self
source_type: self
date_added: "2026-08-26"
tags: ["final-cut-pro", "fcpxml-v11", "apple-silicon-media-engine", "prores-raw", "magnetic-timeline", "compressor-cli", "claude"]
tools: ["claude", "cursor", "gemini", "codex"]
---

# Apple Final Cut Pro NLE AI Skill Guide (Claude)

## Overview & Engine Architecture
Apple Final Cut Pro is a non-linear video editing (NLE) application engineered exclusively for macOS, Metal, and the Apple Silicon Media Engine (dedicated hardware ProRes/HEVC encode/decode accelerators). Final Cut Pro's core architecture centers around the **Magnetic Timeline (collision-free ripple editing & connected clips)**, native **ProRes / ProRes RAW / Apple Log** processing, **FCPXML (v1.11 / v1.12)** metadata interchange schemas, **Motion 5 Template integration**, and headless batch encoding via the **Apple Compressor CLI (`compressor`)**. Claude operates as a Principal macOS Post-Production Systems Architect and Final Cut Pro Automation Specialist, specializing in **FCPXML sequence synthesis**, **Apple Silicon Media Engine optimization**, **Library (`.fcpbundle`) storage maintenance**, and **Compressor batch render automation**.

### Final Cut Pro Engine & FCPXML Dataflow Stack

```
┌─────────────────────────────────────────────────────────────┐
│                 Final Cut Pro Architecture                  │
│                                                             │
│  Magnetic Timeline & Editing Core                           │
│  ├── Primary Storyline & Connected B-Roll Audio/Video Clips │
│  ├── Compound Clips, Multicam Sync (Up to 64 Angles)        │
│  └── Object Tracker & Cinematic Mode AI Depth Maps          │
│                                                             │
│  Apple Silicon & Metal Hardware Pipeline                    │
│  ├── Apple Silicon Media Engine (Hardware ProRes Accelerator│
│  ├── Metal 3 Shaders & Wide Gamut HDR (Rec.2020 PQ / HLG)   │
│  └── Background Render Cache & Automatic Optical Flow Warp  │
│                                                             │
│  Interchange & Automation Subsystem                         │
│  ├── FCPXML Interchange Engine (DTD v1.11 / v1.12 XML)      │
│  ├── Apple Compressor Command Line (`compressor -batchname`)│
│  └── Motion 5 Template Pipeline (`~/Movies/Motion Templates`)│
└─────────────────────────────────────────────────────────────┘
```

---

## Operational Capabilities & Agent Directives

1. **Programmatic FCPXML Generation**: Author Python scripts to construct valid FCPXML documents specifying project formats, assets, synchronized audio/video storylines, connected titles, and chapter markers.
2. **Library (`.fcpbundle`) Storage Triage**: Recover hundreds of gigabytes of disk space by automating the purging of redundant high-resolution ProRes 422 render files and optical flow caches.
3. **Apple Silicon Codec & Performance Tuning**: Optimize editing playback by configuring ProRes Proxy media pipelines and setting Viewer quality to "Better Performance".
4. **Apple Compressor CLI Batch Automation**: Construct bash scripts dispatching automated multi-format export jobs (ProRes master, web H.264, YouTube 4K) using the `compressor` command line tool.

---

## Production Python Automation: Automated FCPXML v1.11 Timeline Generator

Save this script as `generate_fcpxml.py` to programmatically build an importable Final Cut Pro project XML file:

```python
"""
Apple Final Cut Pro: Automated FCPXML v1.11 Sequence Generator
Generates a valid FCPXML sequence file containing video assets, audio b-roll, and markers.
"""

import sys
import xml.etree.ElementTree as ET

def generate_fcpxml_project(project_name: str, output_xml_path: str):
    print(f"--- [GENERATING APPLE FCPXML PROJECT: {project_name}] ---")

    # 1. Root Element & DTD Version
    root = ET.Element("fcpxml", {"version": "1.11"})

    # 2. Resources Element (Formats and Media Assets)
    resources = ET.SubElement(root, "resources")
    
    # 4K UHD 24fps Format (frameDuration="100/2400s")
    ET.SubElement(resources, "format", {
        "id": "r1",
        "name": "FFVideoFormat3840x2160p24",
        "frameDuration": "100/2400s",
        "width": "3840",
        "height": "2160",
        "colorSpace": "1-1-1 (Rec. 709)"
    })

    # Asset Definition
    asset = ET.SubElement(resources, "asset", {
        "id": "r2",
        "name": "Interview_A_Cam",
        "src": "file:///Volumes/Media/Footage/Interview_01.mov",
        "start": "0s",
        "duration": "600s",
        "hasVideo": "1",
        "hasAudio": "1",
        "format": "r1"
    })

    # 3. Library & Event Hierarchy
    library = ET.SubElement(root, "library", {"location": "file:///Volumes/Media/AutoLibrary.fcpbundle"})
    event = ET.SubElement(library, "event", {"name": "Automated_Assembly"})
    project = ET.SubElement(event, "project", {"name": project_name})

    # 4. Sequence & Spine (Primary Storyline)
    sequence = ET.SubElement(project, "sequence", {
        "format": "r1",
        "duration": "120s",
        "tcStart": "0s",
        "tcFormat": "NDF"
    })

    spine = ET.SubElement(sequence, "spine")

    # Primary Storyline Video Clip
    clip = ET.SubElement(spine, "asset-clip", {
        "ref": "r2",
        "offset": "0s",
        "name": "Interview_A_Cam_Take1",
        "start": "10s",
        "duration": "60s",
        "format": "r1"
    })

    # Add Marker on Clip
    ET.SubElement(clip, "marker", {
        "start": "25s",
        "duration": "100/2400s",
        "value": "Subject begins intro statement",
        "completed": "0"
    })

    # Write Output XML
    tree = ET.ElementTree(root)
    ET.indent(tree, space="  ", level=0)
    tree.write(output_xml_path, encoding="utf-8", xml_declaration=True)

    print(f"✅ Successfully generated Final Cut Pro XML: {output_xml_path}")
    print("To import: In Final Cut Pro, select File -> Import -> XML -> select this file.")

if __name__ == "__main__":
    out = sys.argv[1] if len(sys.argv) > 1 else "AutoAssembly_Project.fcpxml"
    generate_fcpxml_project("Review_Assembly_V1", out)
```

---

## Technical Troubleshooting Matrix

| Issue & Failure Signature | Root Cause Analysis | Diagnostic & Resolution Pathway |
| :--- | :--- | :--- |
| **Library (`.fcpbundle`) Size Balloons to $>500\text{GB}$** | Background render files accumulating for every edit in ProRes 422 format. | 1. In Final Cut Pro, select Library in sidebar.<br>2. Select *File $\rightarrow$ Delete Generated Library Files*.<br>3. Check **Delete Render Files (All)** and click OK.<br>4. In Preferences $\rightarrow$ Playback, uncheck **Background render**. |
| **FCPXML Import Error: `DTD Validation Failed`** | Time values do not conform to rational frame fraction strings (e.g. `100/2400s` for 24fps or `100/3000s` for 30fps). | Ensure all `duration`, `start`, and `offset` attributes in FCPXML use exact rational fractions or integer seconds (`10s`). |
| **Motion Title / Effect Shows Red Warning Screen: `Missing Plugin`** | Custom Motion Template was moved or not installed in user template folder. | Verify template is located in `~/Movies/Motion Templates.localized/Titles/` with `.localized` extension intact. |
| **ProRes RAW Frame Drops on 8K Timeline** | External drive read throughput cannot sustain $>300\text{MB/s}$ continuous bandwidth. | In Viewer menu (top-right), switch from **Original/Optimized** to **Proxy Preferred** after generating 50% ProRes Proxies. |

---

## Command Line Syntax & Apple Compressor Recipes

```bash
# 1. Open Final Cut Pro Library via Terminal
open -a "Final Cut Pro" "/Volumes/Media/Production.fcpbundle"

# 2. Execute Apple Compressor Batch Export via CLI
compressor -batchname "WebDailyMaster" -jobpath "/Volumes/Media/Exports/" -settingpath "ProRes 422 4K.cmprstng"

# 3. Read Final Cut Pro User Preferences
defaults read com.apple.FinalCut
```

### Essential File Locations
- **FCP Libraries**: `*.fcpbundle` (macOS Packages)
- **Motion Templates**: `~/Movies/Motion Templates.localized/`
- **User Preferences**: `~/Library/Preferences/com.apple.FinalCut.plist`

---

## Agent Operational Directive
> **MANDATORY**: When generating FCPXML documents, always express frame durations as exact rational fractions (e.g. `100/2400s` for 23.976/24fps) to prevent timeline timecode drift across NLE roundtrips.

Files in this skill

  • SKILL.md8.7 KB
  • gemini.md7.6 KB
  • gpt.md6.9 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.