Communitygithub.com

geoqiao/short-video-skills

Publica videos cortos en Douyin, Video Account y Xiaohongshu (Bilibili solo escribe el texto): primero lee las palabras sugeridas de búsqueda de Douyin, Xiaohongshu y Google, escribe título, descripción, temas, texto de portada y comentario fijado; luego usa playwright-cli para rellenar el formulario de publicación en Chrome ya iniciado sesión, sube el video y la portada, completa colección, ubicación, declaración de IA (cuando se usa IA), puntos calientes y actividades. Funciona independientemente de cómo se hizo el video. Por defecto, se detiene antes del botón de publicación; solo se hace clic después de que el usuario indique explícitamente 'publicar' para ese video. Adecuado para escribir o modificar textos de publicación, consultar palabras sugeridas, seleccionar temas, publicar videos por encargo, cambiar video o portada, y verificar formularios ya rellenados.

¿Qué es short-video-skills?

Esta skill permite automatizar la publicación de videos cortos en plataformas chinas como Douyin, Video Account (WeChat) y Xiaohongshu. Se compone de dos fases: primero, redacción del texto promocional (título, descripción, temas, comentario fijado y texto de portada) basado en palabras sugeridas de búsqueda de las propias plataformas y Google, alineando el contenido con las preguntas reales de la audiencia; segundo, relleno del formulario de publicación usando playwright-cli en una sesión de Chrome ya autenticada, subiendo video y portada, y configurando metadatos como colección, ubicación, declaración de IA, hashtags y actividades. Está diseñada para respetar al usuario: no publica automáticamente, se detiene antes del botón de publicación y solo hace clic cuando el usuario lo ordena explícitamente para ese video específico. Soporta las principales plataformas de video corto chinas, con reglas y selectores documentados en archivos de referencia. También incluye rutinas de verificación posterior a la publicación para confirmar que el video se subió correctamente y registrar métricas.

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

Preguntar en tu IA favorita

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

Documentación

Publicar videos cortos

Se divide en dos fases: primero, redactar el texto; segundo, rellenar el formulario. El texto se escribe en post.md del directorio correspondiente (estructura en references/post-template.md), y se sigue al rellenar el formulario. Las reglas de la plataforma y las referencias están en references/platform-rules.md; antes de publicar, basarse en la página de envío.

Primera fase: Redactar el texto

El texto se escribe según la intención de búsqueda: primero, confirmar que la audiencia realmente pregunta así y qué término usan; luego, hacer que el título, el texto de portada y la primera frase de la descripción apunten a la misma pregunta. En Douyin y Video Account, la mayor parte del tráfico proviene de recomendaciones, no de búsquedas; la función principal de estos términos es ayudar al sistema a recomendar el video a las personas adecuadas.

Consultar palabras sugeridas primero

  1. Enumera las preguntas que este video puede responder. Cada pregunta corresponde a un tipo de intención: conocer al protagonista ("¿Qué es X?", "¿X es bueno?"), elegir herramientas ("Comparación de X", "¿Cuál es mejor?"), conceptos ("¿Qué significa tal término?"), cómo hacer ("¿Cómo se usa X?").
  2. Lee las palabras sugeridas para confirmar que la audiencia realmente busca así y qué término usan. Las palabras sugeridas no tienen volumen de búsqueda, solo indican que alguien busca. Vuelve a leerlas el día de la publicación, no uses resultados guardados de hace días.
    • Douyin: Conéctate al Chrome ya iniciado sesión del usuario (ver "Conectar al navegador" abajo), abre una pestaña de www.douyin.com y cámbiate a ella, modifica SEEDS en scripts/douyin-suggest.js, luego ejecuta playwright-cli -s=chrome --raw run-code --filename=scripts/douyin-suggest.js.
    • Xiaohongshu: Abre una pestaña de www.xiaohongshu.com/explore, modifica SEEDS en scripts/xhs-suggest.js y ejecuta. Cada palabra recarga la página, aproximadamente 6 segundos por palabra, no más de 25 palabras a la vez.
    • Google: node scripts/google-suggest.mjs '[["semilla","zh-CN"],["seed","en"]]', sin necesidad de navegador.
    • Estos tres scripts solo leen. Al terminar, solo cierra las pestañas que abriste.
  3. Guarda los resultados originales como JSON con la fecha, y referencia el nombre del archivo en el texto.
  4. La intención principal y que coincida completamente con el contenido, escríbela en el título, la portada y la primera frase de la descripción. Las intenciones a las que solo se pueda responder parcialmente (por ejemplo, solo se compararon dos productos, pero se enlaza con "¿cuál es el mejor?") solo ponlas en los temas; de lo contrario, los que entren se irán. Las palabras que aparecen repetidamente en las sugerencias pero que el video no responde, no las fuerces; anótalas como nuevo tema.

Algunas experiencias verificadas repetidamente:

  • Los términos técnicos en inglés a menudo no encuentran contenido relevante como palabra principal. Usa la pregunta en chino para la portada, y pon el inglés en la descripción y los temas.
  • Cuando el término usado en el video es diferente al que usa la audiencia, el título, la portada y la narración deben seguir a la audiencia (por ejemplo, la audiencia busca "contexto podrido", no "contexto corrupto").
  • Los términos suelen diferir entre plataformas; el título debe usar el que aparece en ambas.

Cómo escribir

  • Título: La pregunta que haría la audiencia, más una conclusión concreta. Usa el término que ellos buscan. Los términos que nadie busca no entran en el título. El título, el texto de portada y la primera frase de la narración dicen lo mismo.
  • Descripción: La primera frase repite la pregunta del título y da una conclusión con números; luego enumera los puntos tratados en el video, incluyendo términos y números que aparecen en el video; finalmente, escribe las condiciones limitantes de las fuentes de datos; si se usó IA, incluye una declaración de IA (por ejemplo, "La voz en off es generada por IA"). Escrito para la audiencia, no para describir el proceso de producción.
  • Hashtags: El nombre exacto del protagonista, los objetos comparados en el video, palabras de categoría, una palabra amplia adecuada para la audiencia. Solo usa palabras que realmente aparezcan en el video. Al rellenar el formulario, en la página de publicación escribe #palabra para ver el volumen de visitas; las palabras genéricas con decenas de miles de millones de visitas (por ejemplo, #IA) reemplázalas de inmediato. Douyin web permite hasta 5; el nombre de la serie se deja para la colección, no ocupa espacio de hashtag; Video Account puede llevar uno o dos más, incluyendo el nombre de la serie.
  • Comentario fijado: Una pregunta que la audiencia pueda responder con su propia experiencia, que haga eco con la pregunta al final del video.
  • Texto de portada: Un título de dos líneas más un gancho con números o una conclusión; el término principal usa la pregunta en chino.
  • En el texto, la portada, la narración y las imágenes no aparecen URLs ni cuentas externas; no digas "ve al sitio web X" o "busca tal cosa". Puedes guiar a comentar, seguir o ver la colección.
  • Si usas voz en off generada por IA, imágenes generadas por IA o un avatar digital, haz una declaración de IA; la voz en off de code-video es sintetizada por IA, por lo que todos los videos hechos con ella deben declararlo. Los nombres de las opciones de cada plataforma están en references/platform-rules.md.

Segunda fase: Rellenar el formulario

Selectores, trampas y prácticas de cada plataforma:

  • Centro de creadores de Douyin: references/douyin.md
  • Asistente de Video Account: references/weixin.md
  • Plataforma de servicios de creación de Xiaohongshu: references/xiaohongshu.md

Reglas

  • No publicar por el usuario. Detenerse antes del botón de publicación y esperar a que el usuario revise. Solo hacer clic si el usuario dice explícitamente "publicar" para ese video; la autorización para un video no se extiende al siguiente.
  • Después de hacer clic en publicar, verificar en la lista de obras que aparezca la nueva obra y que el número de la colección y la serie coincidan, luego registrar la hora de publicación en post.md.
  • No modificar ni eliminar contenido ya publicado en la plataforma, a menos que el usuario lo solicite.
  • Para elementos como ubicación, colección o actividades que pueden cambiar cada vez, si no hay certeza, preguntar al usuario.
  • Solo cerrar las pestañas que se abrieron. Si una pestaña contiene un formulario aún no publicado, no recargarla ni ejecutar otros scripts en ella.

Conectar al navegador

Se necesita playwright-cli y su extensión de Chrome correspondiente, con el usuario ya autenticado en los paneles de creadores de cada plataforma.

playwright-cli -s=chrome attach --extension=chrome   # El usuario hace clic en Permitir en la ventana emergente de la extensión
playwright-cli -s=chrome tab-new <URL de la página de publicación>
playwright-cli -s=chrome tab-list
playwright-cli -s=chrome tab-select <número>            # tab-new no cambia la página objetivo de run-code
playwright-cli -s=chrome --raw run-code --filename=<script.js>
playwright-cli -s=chrome screenshot --filename=<imagen.png>

El script de run-code es una expresión async page => { … }, y el valor de retorno se imprime. Si la sesión se desconecta, al reconectar, las pestañas abiertas desaparecen y el formulario debe rellenarse desde cero.

Prácticas generales

  • Cada script comienza con await page.bringToFront(). Si el usuario está usando Chrome al mismo tiempo, la página de publicación a menudo se envía al fondo; arrastrar y hacer clic esperarán hasta que se agote el tiempo de espera; las entradas de teclado en cola antes del tiempo de espera se escribirán cuando la página vuelva al primer plano, desordenando la descripción. Si se agota el tiempo de espera, primero limpiar el cuadro de descripción y luego volver a llenar.
  • Un script por paso, verificar después de cada paso. Al final de cada paso, leer el innerText del área relevante o tomar una captura de pantalla para confirmar que el valor realmente cambió, antes de pasar al siguiente paso.
  • Subir video: Primero probar playwright-cli -s=chrome drop "<selector de zona de subida>" --path=<mp4>. Para plataformas donde el arrastrar y soltar no desencadena la subida, usar el script de inyección en scripts/: convierte el archivo a base64 y lo escribe en un script run-code, lo coloca en el input de archivo usando DataTransfer y dispara el evento change. En modo extensión, setInputFiles y el selector de archivos no funcionan.
  • Subir portada: Primero abrir la ventana emergente de portada, luego ejecutar el script de inyección. Las tres plataformas requieren dos imágenes: una horizontal 4:3 y otra vertical 3:4. Usar directamente una portada 16:9 hará que se recorte el título.
  • Menús desplegables y cuadros de búsqueda: Muchos inputs solo son visibles cuando el menú desplegable está abierto. Si fill o click dan error de "elemento no visible", primero haz clic en el cuadro que muestra el valor actual (si es necesario, usa boundingBox o en evaluate obtén las coordenadas y luego haz page.mouse.click), espera a que aparezca el cuadro de entrada antes de escribir. Los cuadros que necesitan activar la búsqueda deben escribirse carácter por carácter con keyboard.type; fill no lo activa.
  • Seleccionar elementos del menú desplegable con precisión: Usa coincidencia exacta de texto completo, o en evaluate busca elementos cuyo innerText coincida exactamente y que estén visibles dentro del área desplegable, luego haz clic en sus coordenadas. Filtrar por texto parcial puede hacer clic en el contenedor externo y seleccionar otro elemento. Después de seleccionar, lee el valor actual.
  • Botones que solo aparecen al pasar el ratón: Primero haz page.mouse.move sobre la tarjeta, espera medio segundo, luego haz clic en la posición del botón.
  • Opciones en inglés: Algunas plataformas muestran opciones en inglés (por ejemplo, las etiquetas de video en Video Account); selecciona según el texto que realmente aparece en la página.

Después de publicar

En el centro de datos de Douyin, mira las "palabras de búsqueda" y la proporción de búsqueda en las fuentes de tráfico, comparando con las palabras seleccionadas esta vez. Los videos cuyo texto se haya modificado deben anotarse para que la próxima vez se pueda distinguir qué cambio funcionó. Los datos diarios se pueden recopilar con la skill video-data.

Lo que se debe explicar al entregar

  • La intención principal del texto, qué palabras sugeridas se usaron, qué palabras no se incluyeron y por qué.
  • Qué se rellenó en cada plataforma: título, número de hashtags, portada, colección y número de serie, ubicación, declaración, punto caliente o actividad.
  • En qué paso se detuvo, qué elementos no se rellenaron o no coinciden con el texto, y por qué.
  • Si se hizo clic en publicar: hora de publicación, resultado de la verificación de la lista de obras, número de la colección.

Individual skills in this repo

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

Skills relacionados