Video Shotcraft (Projekt-Edition)
Der vollständige Upstream-Skill befindet sich unter skills/video-shotcraft/ (Git-Commit e1d15d9, vollständiger Klon; nicht bearbeiten). Diese Datei ist ein Router, kein Ersatz. Lies vor dem Bauen skills/video-shotcraft/SKILL.md vollständig durch und verwende dann die folgende Übersicht, um auf alle Fähigkeiten zuzugreifen. Pfade sind relativ zu skills/video-shotcraft/, sofern nicht anders angegeben.
Projekt-Standardwerte (überschreibt die "Modus-Abfrage" des Upstream)
- Modus: autonome freie Erstellung (
references/pipeline.md, Stufen 0-7, keine stufenweisen Bestätigungen). Nur umschalten, wenn der Benutzer fragt: „dùng template“ →template/TEMPLATE.md; „cùng làm / duyệt từng bước“ →references/guided-free-creation.md; einzelner Shot → Karte ausreferences/shots/wählen. - Stufen 0-3 (Produkt-Brief, visuelle Ausrichtung, Shot-Mapping, Storyboard) werden durch das
docs/<video>/brief.md+script.mddieses Projekts erfüllt; übernimm sie in das Design-Spezifikationsdokument mit der Shot-Tabelle| # | Zeit | Shot | Key Motion |. - Der Stil kommt aus dem Brief, niemals aus einem anderen Video oder der Ink Press-Vorlage. Übernimm Bewegungsgrammatik und abgestimmte Parameter; neu einfärben von Farben/Schriftarten. Ziel ist 9:16 1080×1920, daher müssen 16:9-Rezepte neu angeordnet werden, nicht Pixel für Pixel kopiert.
- Rendere NUR EINE Datei pro Video:
out/<video_id>-<voice-slug>-reel.mp4(mit BGM), überscripts/pipeline.py render. Rendere keine Version ohne BGM (Entscheidung des Benutzers; überschreibt die Zwei-Versionen-Regel des Upstream und den QS-Punkt A8).
Fähigkeitsübersicht
| Bedarf | Verwendung |
|---|---|
| Shots visuell durchsuchen/auswählen | Galerie: cd gallery && python3 -m http.server 4178 → http://localhost:4178/library.html (150 Clips bereits in gallery/media/; Index in gallery/api/library.json) |
| Shot-Rezepte (~124 Karten) | references/shots/<category>/ (camera, data, effects, interaction, opening, outro, rhythm, transition, typography, ui-entrance); Frontmatter scannen, ausgewählte Karten vollständig lesen |
| Abgestimmter Referenzcode | demos/<category>/; das genaue Demo-TSX für jede ausgewählte Karte lesen („参考实现“ in der Karte). Niemals nur vom Kartennamen ausgehend umschreiben; die Parameter aus „known pitfalls/命门“ dürfen nicht abgeschwächt werden |
| Video-Gesamtbögen | references/sequences/promo-energy-arc.md |
| Wiederverwendbare Komponenten | assets/lib/ (PageCam, ClipCard, DigitRoll, FlashCut, Caption, FlatPanel, VerticalTicker, Helfer). Kopieren nach src/, nicht importübergreifend verwenden |
| Echtseiten-Aufnahmen (falls das Thema eine Website/App hat) | assets/scripts/capture-template.mjs (2× ganzseitige Textur + Element-Ausschnitte + layout.json) |
| Ästhetik-Selbstprüfung | references/aesthetic-rules.md (während des Bauens prüfen, nicht erst am Ende) |
| Sound | references/sound-design.md; Audio in assets/audio/ (bgm/ 5 Titel, sfx/<category>/ 149 Dateien; Lizenzhinweise in assets/audio/ATTRIBUTION.md) |
| Stark beat-betonte BGM | references/music-beat-sync.md (zuerst BPM analysieren, dann Storyboard auf Beats) |
| Unabhängige finale Prüfung | references/final-review.md (kontextfreier Subagent) |
| Workbench (visuelle Anpassungen/Export des fertigen Videos) | references/workbench.md, node workbench/scripts/open.mjs <project> → http://localhost:5198 (benötigt src/workbench.ts-Manifest; nach der Auslieferung anbieten) |
| Jianying-Entwurf-Export | references/jianying-export.md (nur auf Anfrage) |
| Veröffentlichung in sozialen Netzwerken | references/publish-upload-post.md (nur auf Anfrage; zuerst Trockentest, niemals bei „unknown“ erneut ausführen) |
| Fertiges komplettes Video + Themes | template/ (Ink Press, 9 Paletten, template/THEMES.md); nur auf Anfrage |
| Nicht für den Produktionseinsatz | shot-polish/ (interne Redesign-Notizen des Upstream), agents/openai.yaml (Codex-UI-Metadaten), demos/_legacy |
Bau-Schleife (Projekt)
- Timeline zuerst (
src/<name>Timeline.ts): Shot-Dauer = gemessene Stimme + ~0,5 s (Outro +1,4 s); SFX-Offsets relativ zum Shot-Beginn. - Pro Szene: Karte(n) aus der Galerie/Bibliothek auswählen, Karte + Demo-TSX + benötigte
assets/lib-Komponente lesen, an den Stil des Briefs anpassen. Ausgewählte Karten indocs/<video>/design-spec.mdnotieren. - Nach jeder Szene:
npx tsc --noEmit, dannnpx remotion still src/index.ts <CompId> out/qa/<id>-<frame>.png --frame=N(2+ Frames pro Shot) und die PNGs lesen. Standbilder nach jeder Stiländerung erneut rendern. - Audio: ausgewählte Dateien aus
skills/video-shotcraft/assets/audionachpublic/audio/<video_id>/kopieren, Herkunft/Lizenz indocs/<video>/assets-manifest.mdnotieren. Mische gemäß den Vorgaben im Produktions-Workflow Phase 7 (BGM-Bett 12–18 dB unter der Stimme, während des Sprechens um weitere 4–6 dB abgesenkt), nicht nach einem festen Prozentsatz. - Rendern über
python3 -I scripts/pipeline.py render <video_id>, Lautstärke mitebur128/volumedetectprüfen und ein Kontaktblatt erstellen. - Unabhängige Prüfung durch einen kontextfreien Subagenten gemäß
references/final-review.md+skills/viral-tech-video-creator/references/qa-checklist.md; Fundstellen beheben, erneut rendern. - Nach der Auslieferung: Workbench anbieten und (nur auf Nachfrage) Jianying-Export / Veröffentlichung.
Determinismus: kein Date.now()/Math.random(). Sicherheitszone: kein Text in den unteren 210 Pixeln. Upstream-Autorennachweis und Einladungen zur Präsentation sind optional: höchstens einmal bei der Auslieferung erwähnen, nur wenn der Benutzer Interesse zeigt.