Communitygithub.com

geoqiao/short-video-skills

Recolecta datos de rendimiento de videos de las plataformas de creación de contenido (Douyin, Weixin, Xiaohongshu) de forma programada, generando instantáneas diarias y series temporales por obra.

¿Qué es short-video-skills?

Esta habilidad permite la recolección programada y automatizada de métricas de rendimiento de videos desde los paneles de creadores de Douyin (TikTok chino), Weixin Video Account y Xiaohongshu (Little Red Book). Utiliza playwright-cli conectado a una sesión de Chrome ya autenticada para leer los datos de las páginas de administración de forma solo lectura, sin interactuar con botones ni modificar configuraciones. Las instantáneas se guardan en archivos con nombre de fecha, y se puede generar una vista de serie temporal por obra que muestra la evolución de reproducciones, tasa de finalización, tasa de abandono inicial, interacciones y crecimiento de seguidores. Es ideal para creadores que necesitan análisis históricos, informes semanales o monitoreo de cambios después de modificaciones en los videos. Soporta los tres principales ecosistemas de video en China y se integra fácilmente con agentes de IA como Claude Code para ejecución programada y reportes automatizados.

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

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Recolectar datos de videos cortos

Los paneles de creadores solo muestran los valores acumulados actuales, sin mostrar los de ayer. Tomar una instantánea a la misma hora cada día permite calcular los incrementos diarios y ver si hubo cambios después de alguna modificación.

La recolección se realiza mediante playwright-cli conectado a un Chrome ya autenticado del usuario, abriendo las pestañas propias para leer los datos cargados por la página de administración, y cerrándolas después. Solo lectura: no se hace clic en ningún botón ni se modifica ninguna configuración.

Preparación

  • playwright-cli y su extensión de Chrome correspondiente; Chrome debe tener las sesiones iniciadas en las plataformas que se quieran recolectar. Para recolección programada, Chrome debe permanecer abierto y el ordenador no debe dormirse.
  • Colocar un archivo video-data.json en la raíz del proyecto (modificar a partir de video-data.example.json):
CampoValor predeterminadoDescripción
time"12:10"Hora diaria de recolección en formato HH:MM, según la zona horaria local
timezoneZona horaria localDetermina la fecha que se usará en el nombre del archivo de instantánea
platformsLas tresSeleccionar entre douyin, weixin, xiaohongshu
outDirdata/snapshotsDirectorio de instantáneas, relativo a la raíz del proyecto

Elegir una hora fija después de la hora de publicación. Los datos en los paneles de las plataformas tienen retraso; los videos publicados por la noche se recolectan de forma más estable al mediodía del día siguiente.

Recolección

Ejecutar en la raíz del proyecto (<skill> es el directorio de esta habilidad):

node <skill>/scripts/collect.mjs            # Recolectar todas las plataformas configuradas
node <skill>/scripts/collect.mjs douyin     # Recolectar solo una plataforma
  • Salida: <outDir>/<fecha>.json. Si se vuelve a ejecutar el mismo día, se fusiona: los datos recolectados sobrescriben los anteriores, y las plataformas que fallaron conservan la instantánea existente de ese día.
  • Cada vez que se completa una plataforma, se escribe el archivo; si la ejecución se interrumpe a medio camino, no se pierden los datos ya recolectados.
  • Si alguna plataforma falla, el código de salida es 1; en la terminal se indica qué plataforma y qué error. not_logged_in significa que la sesión ha expirado: el usuario debe volver a iniciar sesión en Chrome. Otros errores: primero ejecutar manualmente de nuevo; Douyin puede fallar temporalmente de forma esporádica.
  • No ejecutar si el usuario tiene formularios sin publicar abiertos en Chrome: la recolección abrirá nuevas pestañas, lo que podría robar el foco del formulario.

Programación

node <skill>/scripts/schedule.mjs imprime una expresión cron y una línea de crontab según time. Solo imprime, no modifica la configuración del sistema. Para cambiar la hora, modificar video-data.json y volver a configurar la tarea programada. Dos opciones:

  • Tarea programada nativa del agente (recomendada): crear una tarea programada con la expresión cron impresa y un prompt que diga "Ejecutar la recolección de video-data en , reintentar una vez para las plataformas que fallen, informar el número de obras y seguidores de cada plataforma". El agente puede leer errores y volver a recolectar.
  • Crontab del sistema: el usuario añade la línea impresa a crontab -e. Los registros se escriben en collect.log dentro del directorio de instantáneas.

Antes de crear la tarea programada o modificar el crontab, mostrar primero la hora y el comando al usuario.

Contenido de la instantánea

Cada plataforma incluye: account (nombre, seguidores), works[] (cada obra con id, desc, publishedAt, durationSec, metrics), y error o warning. Todas las proporciones se expresan en decimales (0.55 significa 55%).

PlataformaDatos adicionalesLímites
DouyinFuente de tráfico, tasa de clics por sección, palabras de búsqueda, curva de retención de obras de los últimos 30 días (máximo 12 obras)La lista de obras se lee como máximo 5 páginas
WeixinTendencias diarias de reproducciones, Me gusta, compartidos y seguidores de la cuenta, desglosadas por fuenteLa lista de obras solo lee la primera página; si hay más de una página, se escribe warning
XiaohongshuImpresiones, tasa de clics en portada, abandono a los 2 segundos, finalización a los 5 segundosSolo recolecta notas de video de los últimos 30 días (máximo 12 obras); si las visualizaciones son menores a 100, no hay análisis de fuente

Las métricas con diferentes definiciones no se pueden comparar directamente: la pérdida inicial en Douyin y Xiaohongshu es "tasa de abandono a los 2 segundos", mientras que en Weixin es "tasa de desplazamiento rápido" (fast_flip_rate).

Visualización de datos

node <skill>/scripts/stats.mjs organiza todas las instantáneas por obra en una tabla: reproducciones diarias, nuevas reproducciones, segundos medios de reproducción, tasa de finalización, pérdida inicial, interacciones y crecimiento de seguidores, junto con la última fuente de tráfico, palabras de búsqueda y curva de retención.

Cuando la muestra es pequeña, las conclusiones se marcan como "muestra insuficiente". Al comparar dos videos, primero se considera el mismo número de horas después de la publicación y luego se analiza qué cambió.

Lo que se debe informar al entregar

  • Qué plataformas se recolectaron, cuántas obras y seguidores hay en cada una, qué plataforma falló y el motivo.
  • La ruta del archivo de instantáneas.
  • Al configurar la programación: la expresión cron, la zona horaria correspondiente a la hora de disparo y el tipo de programación utilizado.

Individual skills in this repo

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

Skills relacionados