Files
claude-skills/skills/filmcraft-mcp/SKILL.md
T

67 lines
4.4 KiB
Markdown

---
name: filmcraft-mcp
description: "Schnitte (.fcproj) mit dem FilmCraft-MCP-Server importieren, schneiden und exportieren. Verwenden, wenn FilmCraft-Werkzeuge verbunden sind oder der Nutzer FilmCraft nennt; typisch für Rohschnitt, Titel auf der Timeline, Export nach h264, ProRes, DNxHR oder als Bildsequenz. Nicht für Compositing und Keyframes (EffectCraft)."
---
# Schnitt mit FilmCraft (MCP)
FilmCraft ist ein Schnittprogramm (Rust), angelegt an Premiere Pro. CLI 0.13.0. Projektdatei `.fcproj`. Die Zeitbasis ist 254016000000 Ticks pro Sekunde. Die meisten Befehle nehmen auch `seconds`, `frame` oder `timecode`.
## Voraussetzung
Die Werkzeuge `command_list`, `command_run`, `doc_inspect`, `media_import`, `render_preview` … müssen verbunden sein. Fehlen sie, dem Nutzer sagen, dass der Server nicht verbunden ist (Einrichtung siehe README).
`filmcraft-cli mcp` ist kopflos. Die App steuert `--bridge 127.0.0.1:PORT` vor dem Unterbefehl (`filmcraft --control PORT`). Die `ui_*`-Werkzeuge gelten nur an der laufenden App. Die Hilfe nennt keine Lese-/Schreib-Ordner. `--project`, `--demo`, `--save` und `--save-as` sind globale Optionen.
## Werkzeuge
| Tool | Zweck |
|---|---|
| `command_list {filter}` | IDs, Menü, Parameter. Immer mit Filter |
| `command_run {id, params}` | ein Befehl. Feld heißt `id`, nicht `command` |
| `command_batch {steps}` | mehrere Befehle, Stopp beim ersten Fehler |
| `doc_inspect` | Projektbaum und aktive Sequenz |
| `project_inspect` / `sequence_inspect` | nur der Baum, nur die Sequenz |
| `media_import {paths}` | Medien per absolutem Pfad. `image_sequence` für nummerierte Bilder |
| `render_frame` / `render_preview` | PNG der aktiven Sequenz |
| `ui_elements`, `ui_click`, `ui_drag`, `ui_key`, `ui_type`, `ui_screenshot`, `ui_inspect`, `ui_control` | nur mit `--bridge` |
## Arbeitsweise
1. **Projekt nennen.** Kopflos ohne `--project` ist kein Kundenprojekt offen. `doc_inspect`, bevor etwas geschnitten wird.
2. **Befehle nie raten.** `command_list {filter: "razor"}` und dann `command_run`. Die CLI-Hilfe nennt als Beispiele `timeline.razor`, `sequence.addEdit`, `timeline.trim`, `effects.apply`, `file.import`, `file.newBin`. Ob jede dieser IDs in 0.13.0 noch so heißt, vor dem Aufruf mit `command_list` prüfen, nicht aus dieser Liste abschreiben.
3. **Ansehen:** `render_preview {seconds}`.
4. **Export** über den Befehl, den `command_list` für den Export nennt, oder die CLI `export`. Formate der CLI: h264, hevc, prores, dnxhr, apv, mjpeg, mxf-op1a, mxf-opatom, png, tiff, bmp, gif, wav, aiff, aac. Offline-Medien machen den Export zum Fehler, solange `--allow-offline` fehlt.
## Fallen
- **`command_run` nimmt `id`.** `{command: "…"}` ist das falsche Feld.
- **Ticks sind nicht Sekunden.** Für eine Zeitangabe `seconds` bevorzugen, wenn der Befehl das Feld hat. 254016000000 Ticks = 1 s.
- **`ui_*` ohne App tut nichts Nützliches.** Kopflos `command_run` und `render_preview`.
- **Fehlende Medien.** Die CLI warnt und endet mit Code 1, wenn ein Export Platzhalter zeichnet. Dem Nutzer die fehlende Datei nennen, nicht mit `--allow-offline` still weitermachen, solange er das nicht verlangt.
## Rezept
**Rohschnitt:** Projekt öffnen (`--project` oder der Import-Befehl aus `command_list`), `media_import` mit den Pfaden vom Nutzer, Clips in die Sequenz nur mit IDs aus `sequence_inspect`, an der Stelle schneiden, die `command_list` hergibt, `render_preview` an zwei Zeitpunkten, speichern unter neuem Namen (`.fcproj`). Eine Exportdatei nur auf Wunsch und nie über das Original.
## Abschlussprüfung
- `sequence_inspect`: die genannten Clips liegen in der richtigen Reihenfolge.
- Zwei Frames mit `render_preview` angesehen.
- Pfad von Projekt und, falls exportiert, der Mediendatei genannt.
## Datenschutz
Ampel:
- Grün: allgemeine und technische Inhalte ohne Kundenbezug.
- Gelb: Projekt- und Geschäftsinfos, nur nach Abwägung oder anonymisiert.
- Rot: personenbezogene Daten, Aufnahmen von Personen und NDA-Inhalte gehören nicht in die Cloud-KI.
`render_preview` schickt ein Bild ans Modell. Bei rot markiertem Material nicht rendern, sondern nur schneiden, wenn der Nutzer die Zeiten vorgibt, oder ihn selbst sichten lassen.
## Grenzen
- Kein Compositor. Titel mit Keyframes und Effekten auf Ebenen sind EffectCraft; ein Effekt auf einem Clip nur, wenn `command_list` ihn in FilmCraft führt.
- Encoder sind in der Hilfe genannt, auf dieser Maschine nicht durch einen Export geprüft.