Communitygithub.com

geoqiao/short-video-skills

Collecte quotidienne des données des vidéos (lectures, taux de complétion, interactions, sources de trafic, etc.) depuis les centres créateurs de Douyin, Weixin et Xiaohongshu, sauvegardée sous forme d'instantanés horodatés, puis organisée en séries temporelles par vidéo.

Qu'est-ce que short-video-skills ?

Cette compétence permet à un agent IA de collecter automatiquement chaque jour les données des vidéos publiées sur les plateformes chinoises Douyin (TikTok), Weixin Channels et Xiaohongshu (RED). Elle utilise playwright-cli pour se connecter à un navigateur Chrome déjà authentifié par l'utilisateur, lit les tableaux de bord des créateurs sans aucune interaction (lecture seule), puis écrit un fichier JSON horodaté par date. L'agent peut ensuite utiliser ces instantanés pour calculer les variations quotidiennes, suivre les performances d'une vidéo dans le temps, ou générer des rapports hebdomadaires. Le fichier de configuration `video-data.json` permet de spécifier l'heure de collecte, le fuseau horaire, les plateformes cibles et le répertoire de sortie. La compétence prend en charge la collecte programmée (via un cron ou la planification intégrée de l'agent), la collecte manuelle de rattrapage, et fournit un script `stats.mjs` pour visualiser les données sous forme de tableaux temporels. Les mesures incluent notamment les lectures, le taux de complétion, le taux d'abandon en 2 secondes, les interactions (likes, partages, commentaires), la croissance des abonnés, les sources de trafic, les mots-clés de recherche et les courbes de rétention.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/geoqiao/short-video-skills/tree/HEAD/skills/video-data

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Collecter les données des vidéos courtes

Les tableaux de bord des créateurs n'affichent que les valeurs cumulées actuelles, sans montrer les chiffres de la veille. Pour calculer les gains quotidiens et l'impact des modifications, il faut prendre un instantané à la même heure chaque jour.

La collecte utilise playwright-cli pour se connecter au navigateur Chrome déjà authentifié de l'utilisateur, ouvre les pages des tableaux de bord en lecture seule, lit les données chargées, puis les ferme. Aucun bouton n'est cliqué, aucun paramètre n'est modifié.

Préparation

  • playwright-cli et son extension Chrome associée ; Chrome doit déjà être connecté aux plateformes cibles. Pour une collecte programmée, Chrome doit rester ouvert et l'ordinateur ne doit pas se mettre en veille.
  • Placez un fichier video-data.json à la racine du projet vidéo (modifiez video-data.example.json) :
ChampValeur par défautDescription
time"12:10"Heure de collecte quotidienne, au format HH:MM, selon le fuseau horaire local
timezoneFuseau horaire localDétermine la date utilisée dans le nom du fichier instantané
platformsLes trois plateformesChoisissez parmi douyin, weixin, xiaohongshu
outDirdata/snapshotsRépertoire des instantanés, relatif à la racine du projet

Choisissez une heure fixe après l'heure de publication. Les données des tableaux de bord des plateformes sont retardées : pour les vidéos publiées le soir, une collecte le lendemain midi est plus fiable.

Collecte

Exécutez depuis la racine du projet (<skill> est le répertoire de cette compétence) :

node <skill>/scripts/collect.mjs            # Collecte toutes les plateformes configurées
node <skill>/scripts/collect.mjs douyin     # Collecte uniquement une plateforme (rattrapage)
  • Sortie : <outDir>/<date>.json. Une nouvelle exécution le même jour fusionne les données : celles collectées écrasent les anciennes, les plateformes en échec conservent l'instantané existant du jour.
  • Chaque plateforme est écrite dans le fichier immédiatement après sa collecte : aucune perte de données en cas d'interruption.
  • En cas d'échec d'une plateforme, le code de sortie est 1. Le terminal indique quelle plateforme et quelle erreur. not_logged_in signifie que la session a expiré : l'utilisateur doit se reconnecter dans Chrome. Pour les autres erreurs, réexécutez manuellement une fois (Douyin a parfois des échecs temporaires).
  • Ne lancez pas la collecte si l'utilisateur a un formulaire non publié dans Chrome : l'ouverture de nouveaux onglets peut voler le focus du formulaire.

Programmation

node <skill>/scripts/schedule.mjs affiche une expression cron et une ligne crontab basées sur le champ time, sans modifier la configuration système. Pour changer l'heure, modifiez video-data.json puis recréez la tâche planifiée. Deux options :

  • Planification intégrée à l'agent (recommandée) : créez une tâche planifiée avec l'expression cron affichée, avec le prompt "dans exécuter la collecte video-data, réessayer les plateformes en échec, signaler le nombre de vidéos et d'abonnés pour chaque plateforme". L'agent peut lire les erreurs et effectuer des rattrapages.
  • Crontab système : l'utilisateur ajoute manuellement la ligne affichée dans crontab -e. Les logs sont écrits dans collect.log dans le répertoire des instantanés.

Avant de créer une tâche planifiée ou de modifier la crontab, montrez d'abord l'heure et la commande à l'utilisateur.

Contenu de l'instantané

Chaque plateforme contient : account (nom d'utilisateur, abonnés), works[] (id, desc, publishedAt, durationSec, metrics de chaque vidéo), et éventuellement error ou warning. Les ratios sont exprimés en décimales (0.55 = 55%).

PlateformeDonnées supplémentairesLimitations
DouyinSources de trafic (30 derniers jours, max 12 vidéos), taux de clic par section, mots-clés de recherche, courbes de rétentionListe des vidéos limitée à 5 pages
WeixinTendances quotidiennes des lectures, likes, partages, abonnements, par sourceListe des vidéos limitée à la première page ; écrit un warning si plusieurs pages
XiaohongshuExpositions, taux de clic sur la couverture, abandon à 2 secondes, complétion à 5 secondesSeules les notes vidéo des 30 derniers jours (max 12) ; aucune analyse de source si moins de 100 vues

Les indicateurs avec des formulations différentes ne sont pas directement comparables : l'abandon initial est appelé "taux de rebond à 2 secondes" sur Douyin et Xiaohongshu, et "taux de défilement rapide" (fast_flip_rate) sur Weixin.

Visualisation des données

node <skill>/scripts/stats.mjs organise tous les instantanés en tableaux par vidéo : lectures quotidiennes, nouvelles lectures, durée moyenne de lecture, taux de complétion, abandon initial, interactions et croissance des abonnés, avec les dernières sources de trafic, mots-clés de recherche et courbes de rétention.

Lorsque l'échantillon est trop petit, la conclusion est marquée "échantillon insuffisant". Pour comparer deux vidéos, comparez d'abord le même nombre d'heures après publication, puis examinez les modifications.

Éléments à fournir lors de la livraison

  • Les plateformes collectées, le nombre de vidéos et d'abonnés pour chacune, et les échecs éventuels avec les raisons.
  • Le chemin du fichier instantané.
  • En cas de programmation : l'expression cron, le fuseau horaire de déclenchement, et la méthode de planification utilisée.

Individual skills in this repo

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

Skills associés