Communitygithub.com

weeeha/video-notes

Verwandeln Sie eine vertonte Bildschirmaufnahme, eine Produktdemo oder jedes Video, auf das der Benutzer zeigt, in eine mit Zeitstempeln versehene, nummerierte Aufgabenliste mit Standbildern – alles auf diesem Rechner. Verwenden Sie es, wenn der Benutzer sagt „Überprüfe die Videodatei“, „Ich habe Feedback als Video hinterlassen“, „Ich habe Feedback aufgenommen“, „Schau dir dieses Video an“, „Analysiere diese Demo“ oder einen .mov-, .mp4- oder .webm-Pfad angibt.

Was ist video-notes?

Video Notes ist eine Fähigkeit für KI-Agenten (z. B. Claude Code, Cursor, Codex), die vertonte Bildschirmaufnahmen, Produktdemos oder andere Videos automatisch in eine strukturierte Aufgabenliste mit Standbildern umwandelt. Es nutzt Whisper und ffmpeg lokal – kein Video oder Audio verlässt den Rechner. Der Workflow besteht aus: 1) Ausführen eines Python-Helpers, der das Transkript erstellt und Standbilder extrahiert, 2) Lesen des Transkripts und der Bilder, 3) Schreiben einer nummerierten Aufgabenliste mit Zeitstempeln, Regionen und direkten Zitaten aus dem Video. Die Liste gliedert sich in „Punktliste“ (Aufgaben), „Geparkt“ (spätere Punkte) und „Unklar“ (Rückfragen). Wiederholungen werden zusammengefasst, und bei offenem Repository können Code-Stellen zu den Einträgen referenziert werden. Die Fähigkeit ist plattformunabhängig und erfordert nur lokale Installationen von Python, ffmpeg und Whisper.

Funktioniert mit~Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/weeeha/video-notes/tree/HEAD/skills/video-notes

In Ihrer bevorzugten KI fragen

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

Dokumentation

Video Notes

Der Benutzer zeichnet Feedback als Bildschirmaufnahme auf und spricht dabei: ein Durchlauf, ein paar Minuten, oft wird ein Punkt wiederholt, wenn der Cursor hakt. Das Ergebnis ist eine Aufgabenliste, die eine andere Sitzung ausführen kann, ohne das Video anzusehen. Whisper und ffmpeg laufen lokal; kein Video oder Audio wird an eine Cloud-Sprach- oder Bildanalyse-API gesendet.

Schritte

  1. Führen Sie das Hilfsprogramm aus (es befindet sich neben dieser Datei).
    python3 "<Ordner dieser Fähigkeit>/video-notes.py" "<video>"
    
    Es verwendet <video>.srt, wenn eine solche Datei neben der Videodatei liegt, andernfalls führt es whisper --model base.en auf der CPU aus (etwa 2,5 Minuten pro 5 Minuten Video auf einem Apple Silicon Laptop). Die Ausgabe landet in <stamm>.notes/: transcript.md (eine Zeile pro zusammengeführtem Segment mit einem Bildnamen) und 1600px Standbilder. Wenn <stamm>.notes/ bereits neuer als das Video ist, wird es unverändert weiterverwendet; --force erzwingt eine Neuerstellung, --model turbo bei verstümmeltem Transkript, --every 10 für eine Demo ohne Sprachkommentar, --sheet für 2x2 Kontaktabzüge, --max-row 5 für mehr Bilder bei schnellen Bildschirmwechseln (Zeilen sind auf 8 s begrenzt, ein Bild pro Zeile), --max-frames 40 Standard.
  2. Lesen Sie transcript.md, dann die Bilder. Mit --sheet überfliegen Sie zuerst sheet_NN.jpg (vier Bilder pro Ansicht; Kacheln verlaufen von links nach rechts, oben nach unten, in Bildreihenfolge, also enthält Blatt 01 die Bilder 1 bis 4 und seine obere linke Kachel ist das früheste), dann lesen Sie das Einzelbild für jede Zeile, deren Wörter auf den Bildschirm verweisen („dieser Bereich“, „hier“, „diese beiden Symbole“) oder deren Text gelesen werden muss. Ein Kontaktabzug lokalisiert; nur ein Einzelbild dient als Beleg für eine Bezeichnung oder Größe.
  3. Schreiben Sie <stamm>.notes.md neben das Video, mit absolutem Pfad, unabhängig vom Arbeitsverzeichnis der Sitzung. Format:
    # <Video-Name> · <Aufnahmedatum> · <Dauer> · <App oder URL, sichtbar in den Bildern>
    
    ## Aufgabenliste
    ### <Bildschirmbereich, benannt wie auf dem Bildschirm: Linke Leiste, Kopfzeile, Einstellungsfeld>
    1. [mm:ss] <imperative Korrektur in einem Satz>. Gesagt: „<kurzes wörtliches Zitat>". Bild: frame_mmss.jpg
    2. ...
    
    ## Geparkt
    <Einträge mit „später“, „irgendwann“, „jetzt nicht“, gleiche Zeilenform>
    
    ## Unklar
    <ein Eintrag pro Punkt, der die Antwort des Benutzers benötigt>
    
    Die Nummerierung erfolgt fortlaufend über die gesamte Liste, sodass der Benutzer mit „3 und 7“ antworten kann. Bereiche erscheinen in der Reihenfolge ihres Besuchs. Eine wiederholte Notiz ist ein Eintrag, mit dem Zusatz „3 Mal gesagt“, wenn die Wiederholung der Kernpunkt ist.
  4. Antworten Sie mit dem Dateipfad, den Bereichsüberschriften mit Eintragszahlen und den ersten drei Einträgen. Fragen Sie nichts, es sei denn, „Unklar“ enthält Einträge.
  5. Wenn das Repository geöffnet ist, das den Bildschirm rendert, fügen Sie ## Wo im Code hinzu: Eintragsnummer zu Dateipfad, ermittelt durch Greppen der Komponentennamen und Labels, die in den Bildern sichtbar sind. Überspringen Sie den Abschnitt, wenn es kein Repository gibt; raten Sie niemals einen Pfad.

Regeln

  • Nicht lesbarer Text in einem Standbild wird erneut erfasst, niemals geschätzt: --width 2400, oder ein ffmpeg-Zuschnitt des Bereichs.
  • Der .notes/-Ordner und die .notes.md-Datei bleiben neben dem Video. Innerhalb eines Repositorys muss dieser Ordner ignoriert werden (.git/info/exclude), damit eine große Aufnahme niemals in Git gelangt.
  • Wettbewerber- oder Produktdemo: gleiche Schritte, und die Liste liest „was sie tun“ anstelle von „korrigieren“.
  • Die Transkription erfolgt mit den lokalen Whisper-Modellen in ~/.cache/whisper. Keine Cloud-Sprach-API, keine Bildanalyse-API; das Sitzungsmodell liest die Standbilder.

Erledigt-Checkliste

  • transcript.md erstellt und jedes Bild gelesen, bevor ein Eintrag geschrieben wurde
  • <stamm>.notes.md geschrieben: fortlaufende Nummerierung, Bereiche in Besuchsreihenfolge, Zeitstempel und Bild bei jedem Eintrag
  • Wiederholungen zusammengefasst, „Geparkt“ und „Unklar“ von der Aufgabenliste getrennt
  • Kein Video oder Audio verlässt den Rechner

Verwandte Skills