Communitygithub.com

xhs-card-video

Erstellt Xiaohongshu-Kurzvideo-Entwürfe aus X-Screenshots, dynamischen Hintergründen und einem lokalen BGM – ohne automatisierte Veröffentlichung.

Was ist xhs-card-video?

Diese Skill automatisiert die Erstellung von Xiaohongshu-Kurzvideo-Entwürfen im 3:4-Format (1080×1440 px), die sich auf eine einzelne X-Screenshot-Karte, einen dynamischen Naturhintergrund und einen geprüften lokalen BGM-Titel stützen. Zielgruppe sind Unternehmer und KI-Lernende: Der Screenshot dient als Beleg, der eigentliche Wert liegt in der Übersetzung seiner Erkenntnisse in ausführbare Handlungen. Die Skill erzeugt stets ein MP4 und eine zugehörige Markdown-Publikationsdatei (publish_status: draft, title_status: locked) und archiviert sie wochenweise. Sie greift nicht über die Screenshot-Karte hinaus – keine Untertitel, Logos, Endcards oder Overlays. BGM wird über ein kategorisiertes lokales Audio-Repository mit Lizenzprüfung (CC0/CC BY/user_owned) ausgewählt. Die Skill setzt eine strenge Qualitätskontrolle voraus: Codex überarbeitet den Claude-Entwurf, danach erfolgt eine Compliance-Prüfung durch Claude oder ggf. Hermes. Erst nach bestandener Prüfung und harten Geometrie-Validierungen (ffprobe, runde Ecke 24px, Rahmen 2px #C9D1D8) gilt die Ausgabe als local_ready. Upload in die Xiaohongshu-Entwurfsbox erfolgt nur auf expliziten Nutzerwunsch; die Skill klickt nie auf „Veröffentlichen“ oder führt Interaktionen aus. Die Skill arbeitet plattformunabhängig (Claude Code, Cursor, Codex), setzt jedoch ffmpeg/ffprobe und ggf. browserbasierte Automation voraus.

Funktioniert mit✓Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/dingchenhui0618-arch/agent-skills/tree/HEAD/skills/xhs-card-video

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

无脸说明视频小红书

Dies ist eine eigenständige Kurzvideo-Route, speziell für Xiaohongshu-Entwürfe aus „echter Content-Screenshot-Karte + dynamischem Landschaftshintergrund + lokalem BGM“. Sie ändert oder ersetzt nicht die vorhandene $explainer Skill; Letztere ist weiterhin für 16:9, Voiceover und vollständige Erklärvideos zuständig.

Die Kernleser dieses Kanals sind Menschen, die ein eigenes Unternehmen gründen möchten, sich mit KI beschäftigen und über grundlegende betriebswirtschaftliche sowie KI-Kenntnisse verfügen. Der Screenshot ist nur der Einstiegsbeleg; der eigentliche inhaltliche Wert besteht darin, die im Screenshot enthaltenen Erkenntnisse in Handlungen zu übersetzen, die diese Lesergruppe beurteilen und umsetzen kann.

Grenzen zuerst festlegen

  • Jeder Inhalt liefert dem Nutzer nur zwei Dateien: eine abspielbare .mp4 und eine .md-Publikationsdatei mit demselben Titel; mehrere Inhalte einer Woche können als Dateipaare direkt in dasselbe Wochenverzeichnis gelegt werden; die interne Nachverfolgung (manifest) zählt nicht zur Lieferung und wird nicht im Wochenverzeichnis abgelegt.
  • Standardmäßig im Verzeichnis 说明小红书XX/第N周/; fertige Videos und Publikationsdateien derselben Woche werden direkt im Wochenverzeichnis abgelegt, ohne Unterverzeichnisse für einzelne Inhalte.
  • Die Publikationsdatei hat stets publish_status: draft; vor der endgültigen Lieferung muss title_status: locked sein. Standardmäßig erfolgt kein automatischer Login, Upload, Veröffentlichung, Kommentar, Like oder Follower-Aktion; nur wenn der Redakteur es ausdrücklich verlangt, dürfen das fertige Video und die Publikationsdatei in das angemeldete Xiaohongshu-Kreativcenter hochgeladen und als Entwurf gespeichert werden – niemals auf „Veröffentlichen“ klicken. Falls der Nutzer eine Liste von Kandidaten-Accounts bestätigt hat, dürfen diese im angemeldeten X nacheinander manuell gefolgt werden, jedoch nicht per Batch-Scripting oder um Interaktion/Wachstum zu fördern.
  • X-Inhalte müssen entweder aus einem vom Nutzer bereitgestellten Screenshot oder einem im angemeldeten X App sichtbaren Beitrag stammen. Captchas, Paywalls oder Berechtigungen dürfen nicht umgangen werden; Screenshot-Text darf nicht neu angeordnet, und keine Konten/Zahlen/Daten dürfen erfunden werden.
  • Standardmäßig wird keine X-Quellenzeile geschrieben, es sei denn, der Nutzer wünscht dies ausdrücklich; Quelle und Lizenz werden nur in den Metadaten des Medien-Katalogs gespeichert.
  • Ein Screenshot ist die einzige Informationskarte. Es dürfen keine Wort-für-Wort-Untertitel, Titelbalken, Sticker, Logos, Intro, Outro, CTA, zweite Karte oder Personen-Overlays hinzugefügt werden.
  • Wenn der Nutzer keine faktischen Belege liefert, dürfen Titel und Text nur klar gekennzeichnete Zusammenfassungen sein; es dürfen keine Vermutungen als Tatsachen dargestellt werden.
  • Jedes fertige Video benötigt eine interne run_manifest.json (außerhalb des Wochenverzeichnisses), die Screenshot, Hintergrund, BGM, Zielgruppe, Themenbewertung, Titel-Kandidaten, Textstruktur, Prüfungs-Paket, Hashes und menschliche Bestätigung dokumentiert. Sie ist keine Lieferdatei und darf nicht in das Wochenverzeichnis gelegt werden.

Verwendung

Diese Skill wird verwendet, wenn der Nutzer sagt: „Mach ein Xiaohongshu-Erklärvideo“, „Mach ein Video aus dem X-Screenshot“, „Verwende dynamische Landschaften als Hintergrund“, „Füge einen BGM-Titel hinzu“ oder „Gib mir Video und Publikationsdatei“. Wenn Aktionen auf dem angemeldeten Desktop/X App erforderlich sind, lies zuerst die verfügbaren computer-use-/Browser-Steuerungs-Skills. Für Medienprüfung und Rendering werden lokale ffprobe, ffmpeg oder autorisierte Schnittwerkzeuge verwendet. Solange Screenshot, Hintergrund, konformer BGM oder auf Fakten basierende Titelgrundlage fehlen, bleibt die Skill im Zustand WAIT_DATA/WAIT_USER und erfindet keine Inhalte.

Ein- und Ausgabe-Vertrag

Die Regeln zur Generierung und Prüfung von Titel, 50-Zeichen-Text und Tags finden sich in content-generation-contract.md. Diese Referenzdatei ist der inhaltliche Produktionsstandard dieser Skill, keine optionale Inspiration.

Minimale Eingabe

  1. Ein X-Screenshot oder ein Beitrag, der im angemeldeten X App lokalisierbar ist.
  2. Ein vom Nutzer hochgeladenes Layout-Referenzbild zur Bestimmung des source_crop_rect_px. Wenn der Nutzer ausdrücklich bestätigt, dass der X-Screenshot selbst als Layout-Referenz dient, kann dieselbe Datei wiederverwendet werden.
  3. Ein dynamisches Hintergrundvideo. Wenn der Nutzer keins bereitstellt, darf es von einer eindeutigen Download-Seite (z. B. Pexels/Unsplash) bezogen werden, wobei Lizenz-/Quellennachweis zu speichern ist; eine Nutzung allein aus Suchergebnissen ist nicht erlaubt.
  4. Ein lokaler BGM-Titel, oder die Auswahl aus dem lokalen 说明小红书BGM素材库. Audiodateien ohne geklärte Rechte dürfen nicht in das fertige Video gelangen.

Optional: Thema, gewünschte Stimmung, Wochennummer, vom Nutzer festgelegter Titel, ob der sichtbare Bildbereich des Originalbeitrags erhalten bleiben soll. Die Videolänge wird nicht als Eingabe verwendet, sie ist dauerhaft auf 8 Sekunden festgelegt.

Feste Video-Spezifikation

  • Leinwand dauerhaft festgelegt auf 1080×1440 px (3:4), standardmäßig 30 fps, H.264 Video, AAC Audio.
  • Videolänge dauerhaft auf 8 Sekunden festgelegt; darf nicht auf andere Längen geändert werden.
  • Dynamischer Hintergrund füllt die gesamte Fläche aus; leichte Abdunklung/Vignettierung/Unschärfe zur Betonung der Karte sind erlaubt; der Hintergrund darf nicht als Standbild eingefroren werden.
  • Screenshot-Kartenbreite dauerhaft auf 880 px festgelegt, linker/rechter Rand der Leinwand dauerhaft auf 100 px (100 + 880 + 100 = 1080).
  • Der Screenshot wird zunächst anhand des Layout-Referenzbildes auf den Quell-Bildausschnitt zugeschnitten, dann im „cover“-Modus auf 880 px Breite skaliert; Pad, Letterbox oder leere Flächen sind verboten. Schlüsseltext darf nicht umgeschrieben, neu angeordnet oder verdeckt werden.
  • Die Höhe der Screenshot-Karte ergibt sich natürlich aus dem Seitenverhältnis des zugeschnittenen Screenshots: Wenn logical_card_height <= 1440, dann final_card_height = logical_card_height und y = floor((1440 - final_card_height) / 2); bei Überschreitung von 1440 px wird zunächst ein vertikaler Mittelbeschnitt source_vertical_crop_px = floor((logical_card_height - 1440) / 2) angewendet, final_card_height = 1440, y = 0. In beiden Fällen gibt es keine festgelegten oberen/unteren Abstände; die Breite darf nicht verkleinert und keine leeren Flächen hinzugefügt werden.
  • Die endgültige sichtbare Screenshot-Ebene verwendet eine einheitliche 24 px abgerundete Ecken-Maske (basierend auf 1080×1440 Ausgabepixeln), innenliegender Rahmen von 2 px in hellgrau #C9D1D8, sowie einen sanften Schlagschatten: schwarz, 16% Deckkraft, Unschärfe 12 px, Versatz (0, 8 px), Ausdehnung 36 px. Rahmen und Schatten sind Teil der Screenshot-Karte selbst, verändern nicht deren äußere Abmessungen von 880 px und fügen keine zweite Informationsebene hinzu. Ohne bereitgestelltes Layout-Referenzbild wird bei WAIT_USER gestoppt, ohne den Zuschnitt zu bestätigen.
  • Die Screenshot-Karte erscheint standardmäßig bei 0 Sekunden, bleibt als einzige Informationskarte für das gesamte Video und wird bis zum Ende beibehalten. Wenn der Nutzer ausdrücklich eine Eintrittsanimation wünscht, darf diese nur an der Karte selbst als leichte, lesbare Veränderung erfolgen.
  • Die Szene besteht nur aus „Hintergrund + einer Screenshot-Karte“. Zusätzliche Untertitel, Sticker, Quellenzeilen, Intro, Outro und zweite Informationsebene sind verboten.
  • Standardmäßig gibt es nur eine BGM-Audiospur, kein Voiceover. Die Musik läuft über das gesamte Video und hat kurze Ein-/Ausblendungen, um Clipping und abrupte Enden zu vermeiden.

Feste Spezifikation der Publikationsdatei

Der Markdown-Basisname muss mit dem Video identisch sein: <Titel>.mp4 und <Titel>.md. Der Text ist standardmäßig auf exakt 50 chinesische Schriftzeichen begrenzt; die Zählung umfasst nur chinesische Schriftzeichen im Text, nicht Titel, Satzzeichen, Zahlen, englische Wörter, Tags oder Statusfelder. Nur wenn der Nutzer ausdrücklich den lockeren Modus wählt, dürfen 45–65 Zeichen verwendet werden. Der Manuskript-Datensatz enthält ausschließlich:

publish_status: draft
title_status: locked
copy_length: exact_50
platform: xiaohongshu
content_review_status: claude_approved
content_review_agent: claude
content_generation_agent: claude
editorial_review_status: codex_approved
editorial_review_agent: codex

# Titel

Text (genau 50 chinesische Schriftzeichen, bestehend aus einem ansprechenden Haken und einem klaren Abschluss)

#Tag1 #Tag2 #Tag3

BGM-Lizenz, Download-Links oder Produktionsdetails dürfen nicht in den Lesertext eingefügt werden. Wenn eine Aufbewahrung erforderlich ist, erfolgt diese im Medienkatalog index.json oder in den internen Laufergebnissen, nicht als zusätzliche Wochen-Lieferdatei.

Arbeitsablauf

  1. Empfang und Prüfung: Bestätige Screenshot, separates Layout-Referenzbild (oder Nutzerbestätigung, dass Screenshot als Referenz dient), Hintergrund, Thema, Wochennummer und Status des Medienkatalogs; liste Lücken auf. Wenn der Titel Zahlen, Kausalzusammenhänge oder Nutzenversprechen enthält, überprüfe zuerst, ob der Screenshot diese tatsächlich stützt.
  2. Inhalt erfassen: Bei Nutzerautorisierung zur Bedienung der X App nur den aktuell sichtbaren Inhalt erfassen; das Original-Screenshot nur lesend in das temporäre Arbeitsverzeichnis kopieren. Nach Fertigstellung des Videos die temporäre Kopie löschen, nicht die Original-Screenshots, -Videos oder -Musikdateien des Nutzers.
  3. Filtern, Themenauswahl und Claude-Erstentwurf: Die nachfolgende Automatisierung liest nur öffentliche Beiträge aus dem bestätigten X-Konto-Pool und prüft zuerst die Screenshot-Qualitätsschwelle laut content-generation-contract.md; bei Bestehen wird ein topic_packet erstellt, bewertet, und Claude generiert 5 Titel-Kandidaten, 1 empfohlenen Titel, 2 Ersatztitel, vier Textabschnitte und 5 Tags. Wenn der Redakteur bereits einen Titel festgelegt hat, wird dieser direkt gesperrt, Claude generiert nur Text und Tags. Claudes Ausgabe ist stets ein Rohmaterial-Entwurf und nicht zur direkten Lieferung bereit.
  4. Codex-Tiefenredaktion und Fertigstellungsprüfung: Codex muss den Claude-Erstentwurf kritisch überdenken, mit Schwerpunkt auf Haken, Aufmerksamkeit, echte Schmerzpunkte, Konflikt, Identifikation, Merksätze, Handlungswert und Beweisgrenzen; bei Bedarf vollständig umschreiben, nicht nur die Zeichenzahl reduzieren. Nach der mechanischen Prüfung auf exakt 50 chinesische Schriftzeichen und 5 Tags wird der endgültige Text an Claude zur Compliance-Prüfung gesendet; nur wenn Claude nicht verfügbar ist, wird auf Hermes umgeschaltet und fallback_reason protokolliert. Nur wenn editorial_review_status: codex_approved und Compliance-Status claude_approved oder legal hermes_approved ist, darf zur Lieferung übergegangen werden.
  5. Hintergrund auswählen: Bevorzugt das vom Nutzer bereitgestellte Video verwenden; externe Materialien nur von offiziellen autorisierten Seiten herunterladen und Quelle protokollieren. Auf 3:4 zuschneiden/skalieren, den Lesbereich der Screenshot-Karte nicht verändern.
  6. BGM auswählen: Zuerst audit_bgm.py ausführen, dann aus den lokalen Datensätzen mit approved, sync_allowed=true, commercial_allowed=true nach Stimmung, Energie, Länge und Gesangsstatus filtern, aus den Top 3–5 mit festem Seed einen auswählen. pending darf nur als Vorschlag dienen; Produktion/Lieferung muss mit --confirmed-only erfolgen und human_listen_status=confirmed haben. Die KI trifft keine endgültige Auswahl für den Menschen. CC BY-Titel benötigen zusätzlich einen platzierbaren Quellenvermerk, sonst Ausschluss.
  7. Synthese: Aus Quell-Screenshot, Hintergrund und BGM die vollständige Timeline wiederherstellen, mit ffmpeg/Schnittwerkzeug ein 1080×1440 MP4 ausgeben. Bei Fehlern zurück zu den Quellmaterialien und neu aufbauen, keine Patches auf das gerenderte MP4 legen.
  8. Abnahme: Mit ffprobe verpflichtend prüfen: Seitenverhältnis, Bildrate, H.264/yuv420p, AAC, einzelne Audiospur, Audio beginnt bei 0 Sekunde und deckt das Bild ab, Länge 8 Sekunden (Toleranz ±0,05 s); Stichproben ziehen zur Bestätigung der Kartenklarheit und Fehlen zusätzlicher Textebenen; Audio auf Clipping, stummen Start und offensichtlichen Gesangskonflikt prüfen; Text muss zuerst die Codex-Tiefenredaktion, dann die Claude-Compliance-Prüfung durchlaufen haben, oder bei Verbindungsfehler und protokolliertem Grund die Hermes-Ersatzprüfung.
  9. Archivierung: Direkt im Verzeichnis 说明小红书XX/第N周/ genau ein MP4 und ein Markdown ablegen; das interne Manifest außerhalb des Wochenverzeichnisses speichern. Nur die bei diesem Lauf erzeugten temporären Kopien, temporären Frames, Logs und Backup-Versionen löschen, nicht die ursprünglichen Nutzerdateien; Quellen-, Lizenz- und Hash-Datensätze im Manifest aufbewahren; lokalen Entwurf beibehalten, keine externe Veröffentlichung.
  10. Xiaohongshu-Entwurfsbox (nur auf ausdrücklichen Nutzerwunsch): Bevorzugt den bereits am Computer angemeldeten Google Chrome des Nutzers für das Xiaohongshu-Kreativcenter übernehmen; den Login-Status des in Codex integrierten Browsers nicht als Computer-Browser-Sitzung betrachten. Nach Bestätigung des Logins im Kreativcenter das angegebene .mp4 hochladen, den Titel und den endgültigen Text/die 5 Tags aus dem Markdown ausfüllen, warten bis die Verarbeitung abgeschlossen ist, dann auf „Entwurf speichern“ oder eine gleichwertige Schaltfläche klicken. Nach dem Speichern muss eine autoritative Prüfung mittels Seitenhinweis, Entwurfsliste oder Titel-Rücklese erfolgen, und draft_upload_status, Zeitstempel sowie Entwurfskennung werden im Manifest außerhalb des Wochenverzeichnisses protokolliert. Bei Login, Captcha, Risikokontrolle, Urheberrechtsmeldung oder anderen Seiten, die Nutzerentscheidung erfordern, wird bei WAIT_USER gestoppt; es darf nicht auf „Veröffentlichen“, zeitgesteuertes Veröffentlichen, synchrones Veröffentlichen oder irgendeine Interaktionsaktion geklickt werden.

Hermes / Abnahme-Hard Constraints für „无脸说明“

Jede Lieferung muss Faktennachweise dokumentieren; eine bloße „sieht gut aus“-Freigabe ist nicht zulässig:

  • Leinwand: ffprobe muss 1080×1440 ergeben.
  • Horizontale Geometrie: Stichproben oder Filter-Logs belegen, dass die Screenshot-Karte bei x=100, w=880, rechter Rand=100 liegt.
  • Füllender Zuschnitt (Cover): Die Screenshot-Karte darf keine Pad-, Letterbox-, weißen Ränder oder transparenten Leerräume aufweisen; überlaufende Bildteile müssen aus dem Cover-Zuschnitt stammen.
  • Vertikale Geometrie: Bei nicht überhöhter Karte: y=floor((1440-final_card_height)/2); bei Überhöhung: zuerst source_vertical_crop_px mittig protokollieren, endgültige Kartenhöhe = 1440 und y=0.
  • Abgerundete Ecken, Rahmen, Schatten und Schichten: Maskenradius der endgültigen sichtbaren Screenshot-Ebene = 24px, Innenrahmen an der äußersten Karte = 2px #C9D1D8, Schatten = schwarz 16% Deckkraft, Unschärfe 12px, Versatz (0,8px), Ausdehnung 36px. Das Bild darf nur aus dynamischem Hintergrund und dieser einen Screenshot-Karte bestehen.
  • Weiterbearbeitbar: Das Manifest enthält die genannten Geometriewerte, Pfad/Hash des Layout-Referenzbildes, source_crop_rect_px, Abnahmezeitpunkt, Pfad/Hash von erstem/mittlerem/letztem Frame, Filter-Log-Pfad und next_state. Fehlen Referenzbild oder Nachweise → Stopp bei WAIT_USER.

Abgerundete Ecken, Rahmen und Schatten müssen vor der Synthese der Screenshot-Karte erfolgen: Zuerst innenliegender Rahmen 2px #C9D1D8 an der äußersten Karte zeichnen, dann mit scripts/make_rounded_mask.py --width 880 --height FINAL_CARD_H --radius 24 --output rounded-mask.pgm eine PGM-Maske in Endgröße erzeugen und per alphamerge anwenden; aus derselben abgerundeten Karte den Schatten generieren (erweitert, unscharf, versetzt) und dann Schatten und Karte auf den Hintergrund komponieren. Kein nachträgliches Overlay auf das gerenderte MP4. Das Manifest muss alle festen Parameter von Rahmen und Schatten protokollieren.

Intent-Einstieg

Die folgenden Phrasen dienen als stabile interne Routen; der Nutzer muss nichts über Skript-Parameter wissen:

/xhs-card-video make
/xhs-card-video make --source x-app --week auto --bgm random --confirmed-only --record
/xhs-card-video make --source <screenshot> --background <video> --bgm <bgm-id>
/xhs-card-video bgm init --count 100
/xhs-card-video bgm ingest <file-or-folder>
/xhs-card-video bgm confirm <bgm-id> --status confirmed
/xhs-card-video bgm audit
/xhs-card-video bgm pick --mood rainy --energy low-mid --seed <seed> --confirmed-only --record
/xhs-card-video audit <week-folder>
/xhs-card-video audit <week-folder> --title <Titel> --manifest <run-manifest.json>
/xhs-card-video audit <week-folder> --manifest <run-manifest.json>

Die entsprechenden Skripte befinden sich im scripts/-Verzeichnis dieser Skill. Die Skripte sind wiederverwendbare Hilfswerkzeuge; ihre Ausführung bedeutet nicht, dass bereits eine externe Veröffentlichung stattgefunden hat.

Lokales BGM-Musikarchiv

Standardpfad:

{{CREATOR_ROOT}}/说明小红书BGM素材库/

Bevorzugt wird die Umgebungsvariable PROOF_EXPLAINER_XHS_BGM_LIBRARY verwendet; die alte Variable EXPLAINER_XHS_BGM_LIBRARY wird nur aus Kompatibilitätsgründen beibehalten. Das erste Archiv enthält 100 Titel, kategorisiert in 10 Klassen: Fokus & Alltag, Regennacht & Wetter, Atmosphäre & Traum, Nacht & Neon, Wärme & Langsamkeit, Jazz & Buchladen, Leichtigkeit & Alltag, Osten & Zen, Retro & Groove, Welt & Filmatmosphäre. Die 100 Titel sind der aufrufbare Materialpool, nicht die Xiaohongshu Top 100 Hits und stellen keine Trend-Rangliste dar.

Mindestanforderungen an Metadaten

Jeder Titel muss in index.json mindestens Folgendes enthalten:

{
  "id": "bgm-001",
  "relative_path": "audio/01_专注与日常/bgm-001__track.mp3",
  "source_page_url": "https://…",
  "download_url": "https://…",
  "source_platform": "openlofi|user_local|manual_other",
  "license_class": "cc0|cc_by|site_custom|user_owned|reference_only|blocked",
  "sync_allowed": true,
  "commercial_allowed": true,
  "standalone_redistribution_allowed": false,
  "license_checked_at": "YYYY-MM-DD",
  "license_snapshot_path": "licenses/…",
  "license_snapshot_sha256": "…",
  "rights_notes": "…",
  "trend_status": "verified|unverified|not_claimed",
  "duration_s": 12.3,
  "sha256": "…",
  "review_status": "approved|review|rejected",
  "human_listen_status": "pending|confirmed|rejected"
}

Nur Titel mit review_status=approved, sync_allowed=true, commercial_allowed=true und geklärter Lizenzklasse dürfen in Videos verwendet werden. reference_only dient nur zur Inspiration, blocked darf nicht aufgerufen werden. Vom Nutzer bereitgestellte lokale Video-Audio-Dateien haben standardmäßig den Status review; erst wenn der Nutzer ausdrücklich bestätigt, die Rechte zu besitzen oder eine Lizenz erhalten zu haben, wird der Status auf user_owned geändert. Die Berechtigung zum separaten Verpacken/Weiterverkauf von Audio unterscheidet sich von der „Einbettung in ein Video“ und darf nicht standardmäßig angenommen werden.

Das erste Archiv verwendet das feste Release-Paket von Open Lo-Fi v1.0.0; das Verzeichnis enthält einen Snapshot des upstream-Katalogs, der README, der LICENSE und SHA-256. Die README deklariert CC0 1.0, aber Rechte Dritter/regionale Rechte werden durch diese Skill nicht unabhängig geprüft; rights_notes muss diesen Vorbehalt enthalten. Wenn die Quelle Pixabay, Mixkit, OpenGameArt, DOVA usw. ist, muss die offizielle Lizenzseite einzeln gelesen werden; ein Batch-Scraping oder die Verwendung einer Vorschau-URL als offiziellen Lizenz-/Download-Nachweis ist nicht zulässig. Keine eingeschränkten Hit-Quellen von XHS/TikTok/Instagram herunterladen oder weiterverteilen.

Auswahlregeln

random ist keine uneingeschränkte Zufälligkeit:

Lizenz- und Dekodierungsfehler      → Ausschluss
Stimmungsübereinstimmung            +4
Energie-/Rhythmus-Übereinstimmung   +3
Länge, Loopbarkeit, reine Instrumentalmusik +2
Kürzlich verwendet                  -1
Gesangskonflikt mit Screenshot-Karte -3

Zunächst die 3–5 am besten bewerteten Titel behalten, dann mit festem Seed 1 Titel auswählen; bgm_id, Seed und Auswahlgrund werden in selection_history.jsonl protokolliert, nicht im Wochen-Lieferverzeichnis.

Wochenverzeichnis, Dateinamen und Status

说明小红书XX/
└── 第N周/
    ├── <Titel>.mp4
    └── <Titel>.md
  • 第N周 standardmäßig die aktuelle ISO-Woche; bei Nutzerangabe wird dessen Woche verwendet.
  • Der Dateiname ist der bestätigte Titel. Nur systemverbotene Zeichen, Zeilenumbrüche und / ersetzen; nicht stillschweigend in eine Nummer umbenennen.
  • Das Wochenverzeichnis enthält ausschließlich die Paare MP4/Markdown, keine temporären Materialien, Logs oder Unterverzeichnisse; bei mehreren Inhalten wird mit audit_delivery.py --title <Titel> ein bestimmtes Paar geprüft.
  • Das übergeordnete Verzeichnis des Wochenverzeichnisses muss exakt 说明小红书XX heißen, der Wochenname muss dem Format 第1周–第53周 entsprechen; das interne Manifest wird in {{CREATOR_ROOT}}/.xhs-card-video-runs/ (oder einem vom Nutzer angegebenen Pfad außerhalb des Wochenverzeichnisses) abgelegt.
  • Der interne Status kann wie folgt geschrieben werden:
state: INTAKE | WAIT_DATA | WAIT_USER | WAIT_REVIEW | BUILD | AUDIT | local_ready
source_status: captured | supplied | missing
bgm_status: approved_confirmed | approved_pending_listen | review | missing
title_status: locked | draft
  publish_status: draft
  draft_upload_status: not_requested | pending | saved | blocked
  draft_upload_platform: xiaohongshu | none
  draft_upload_at: <ISO-8601 or null>
  draft_entry_identifier: <title/url/id or null>
copy_length: exact_50 | range_45_65
platform: xiaohongshu
content_review_status: pending | claude_approved | hermes_approved | rework_required
content_review_agent: claude | hermes | none
content_generation_agent: claude | hermes | none
editorial_review_status: pending | codex_approved | rework_required
editorial_review_agent: codex | none
run_manifest: <absolute path outside week folder>
delivery_path: <absolute week folder>
next_state: DONE | WAIT_DATA | WAIT_USER

Nur wenn beide Enddateien geöffnet werden können, alle audit_bgm.py- und audit_delivery.py --manifest …-Prüfungen bestanden sind, die menschliche Bild-/Hörprüfung bestätigt wurde und keine externen Veröffentlichungsaktionen stattfanden, darf local_ready gemeldet werden.

Fehlerbehandlung

  • Fehlender Screenshot/Hintergrund/verfügbarer BGM: Konkrete Lücke melden, bei WAIT_DATA stoppen, keinen Ersatz ohne Lizenz herunterladen.
  • Titel ändert Tatsachen des Originalbeitrags: Bei WAIT_USER stoppen, die zu bestätigenden Tatsachengrenzen angeben.
  • Audio kann nicht dekodiert werden, Hash-Dopplung oder Lizenzfeld fehlt: Aus dem Kandidatenpool ausschließen, audit_bgm.py ausführen, nicht „erstmal nehmen“.
  • BGM noch human_listen_status=pending, Manifest fehlt/liegt im Wochenverzeichnis, oder CC BY-Quellenvermerk hat keinen Platz: Bei WAIT_USER/AUDIT stoppen, kein local_ready melden.
  • Render-Seitenverhältnis, Kartenlesbarkeit oder Audiospur nicht konform: Die temporäre Ausgabe löschen, aus Quellmaterial neu aufbauen; keine Patches überlagern.
  • Jede Anfrage nach öffentlicher Veröffentlichung, zeitgesteuerter Veröffentlichung oder Interaktion: Entwurf-Status beibehalten, und klarmachen, dass der Nutzer selbst bestätigen/ausführen muss; diese Skill lädt nur auf ausdrücklichen Nutzerwunsch in die Xiaohongshu-Entwurfsbox hoch und stoppt bei „Entwurf speichern“, ohne zu veröffentlichen.

Referenzdateien

  • references/xhs-video-contract.md: Leinwand-, Karten-, Audio- und Render-Beschränkungen.
  • references/bgm-library-contract.md: Verzeichnis, Lizenz, Felder und Auswahlalgorithmus.
  • references/delivery-checklist.md: Ausführbare Abnahme-Checkliste vor Lieferung.
  • references/run-manifest.md: Quellen-, Lizenz-, Hash- und menschliche Bestätigungsliste außerhalb des Wochenverzeichnisses.
  • references/content-generation-contract.md: Zielgruppe, Themenbewertung, Claude-Erstentwurf, Codex-Tiefenredaktion, Mechanismus für Titel/50-Zeichen-Text/5 Tags und endgültige Compliance-Prüfungsroute.
  • scripts/install_openlofi.py: Initialisiert das erste Archiv mit 100 Titeln aus dem festen offiziellen Release.
  • scripts/select_bgm.py: Filtert und wählt mit Seeded-Random aus, verändert keine Audiodatei.
  • scripts/ingest_bgm.py: Legt lokale Audiodateien des Nutzers in den Posteingang zur Prüfung, gewährt nicht standardmäßig Rechte.
  • scripts/confirm_bgm.py: Protokolliert nur die vom Nutzer ausdrücklich angegebene ID als menschliches Hörtest-Bestehen/Ablehnen, trifft keine Entscheidung für den Nutzer.
  • scripts/audit_bgm.py: Prüft Index, Pfade, Dekodierung, Hashes und Lizenzfelder.
  • scripts/audit_delivery.py: Prüft den Vertrag der beiden Dateien im Wochenverzeichnis, Draft-Status, Inhaltsprüfungsstatus, Geometrienachweise und grundlegende MP4-Strominformationen.

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

design-showcase-websites

Design and build distinctive, high-impact websites and clickable, presentation-ready prototypes for any industry, language, or site type from business briefs, public links, local media, existing sites, or product requirements. Use for brand and corporate sites, landing pages, ecommerce, SaaS and product sites, portfolios, editorial and content sites, education and nonprofit sites, events and communities, local and hospitality businesses, campaigns, web product interfaces, and website UI redesigns. Support Chinese, English, Japanese, Korean, and multilingual experiences without defaulting to one locale or visual style. Also use for requests mentioning 网站原型, 宣传网站, 企业官网, 营销官网, 电商网站, 落地页, 内容网站, 官网重构, 可点击演示, website prototype, landing page, or redesign.

kinetic-typography-video

动效 KINETIC — 把口播视频(数字人或真人实拍)做成爆款动效质感的视觉语言与逐帧渲染器。用一条贯穿全片的"光"、按音节落下的大字、剪辑师才认得的圈内物件(框选框、真实声波、关键帧、时间线、口型条)、人物抠像后"字藏身后"、音画同钟的合成音效与节拍对齐的配乐。用户说"用动效做/用动效风格/做得更炫/像那条爆款动效视频一样/Opus 那种动效"、或要给数字人/真人口播加高密度动效包装时使用。不用于:只要简单字幕的口播、纯 MG 无人物讲解(用 knowledge-explainer)、结构化信息单镜头(shotcraft-motion)。

knowledge-explainer

把文字、文章、笔记、PPT 或 HTML 课件提炼为有配音字幕的 16:9 知识讲解视频。 使用 Remotion 语义动画与 Fish Audio / ElevenLabs 配音,先做短样片再扩展。 用于课件转视频、知识视频、内训片、科普 explainer,也用于参考视频的解释型动效拆解与原创复现;不负责真人口播剪辑、数字人生成或未知作者工具归属鉴定。

video-prompt-director

创作者的主力 AI 视频提示词 Skill。先按脚本风格选档位,再像导演一样把脚本、故事、口播稿、分镜表或一句想法,拆成能直接生成的分段视频提示词。短视频档(抖音/小红书节奏:一镜到底、多分镜、街拍、角色小故事、竖屏短剧,标杆是《丹眉》和赛博原子)和电影精品档(慢节奏剧情、表演、对白、对手戏、AU 微表情、八维公式),各有结构和示例。每段含生成模式与参数、参考图绑定、人物道具场景、镜头时间轴、声音和硬约束。适用 Seedance 2.0/2.5、即梦、dreamina、LibTV、TT AI。Use when 用户要写视频提示词、AI 视频提示词、Seedance 提示词、即梦提示词、脚本转视频、拆分镜、分镜提示词、快剪、短视频提示词、storyboard、shot list、多图参考、首尾帧、人物表演提示词、AI 演技、情绪递进、导演式提示词,或给出脚本/故事/想法要变成视频。当前项目若有专用工作流 Skill(Vlog、情感钩子、新闻解说等),优先用专用的。

Verwandte Skills