CommunityRedacción y edicióngithub.com

LinkedIn Skill

Habilidad para LinkedIn: escribe, revisa, previsualiza y programa publicaciones en LinkedIn desde tu agente de IA, para un perfil personal y Páginas de empresa. Aprende la voz del usuario a partir de sus propias publicaciones pasadas, redacta publicaciones con el gancho arriba del "...ver más", crea imágenes, conjuntos de 2 a 20 imágenes y videos con subtítulos a partir del material del usuario, y verifica cada publicación contra los límites de LinkedIn y los patrones que reducen el alcance o la confianza.

¿Qué es LinkedIn Skill?

Esta skill permite a un agente de IA (como Claude Code, Cursor o Codex) gestionar publicaciones de LinkedIn de forma autónoma, aprendiendo y replicando la voz única del usuario a partir de sus publicaciones pasadas. La skill guía al agente a través de un flujo de trabajo completo de nueve pasos: desde la configuración inicial y la conexión con servicios de programación (como WoopSocial), pasando por el análisis de la voz del usuario, la planificación de contenido semanal, la redacción con ganchos efectivos, la creación de imágenes y videos, y la verificación automática contra las reglas de alcance y confianza de LinkedIn. Finalmente, permite la previsualización realista en dispositivos móviles, la programación segura y el análisis de métricas de rendimiento. Todo el procesamiento se realiza localmente en el ordenador del usuario, sin depender de servicios en la nube externos, lo que garantiza privacidad y control total sobre el contenido.

Compatible con✓Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/social-media-skills/linkedin-skill/tree/HEAD/skills/linkedin-skill

Installed? Explore more Redacción y edición skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

Preguntar en tu IA favorita

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

Documentación

¿Qué hace LinkedIn Skill?

LinkedIn recompensa las publicaciones que suenan como una persona que sabe algo: una historia específica, un número, una opinión, en las propias palabras de la persona. Penaliza lo contrario, ahora más que antes: cebo de participación, "liderazgo de pensamiento" reciclado, texto que se lee como el borrador de IA de todos los demás y comentarios publicados por herramientas. Las Páginas de empresa llegan a una pequeña parte de sus seguidores; las personas llegan más lejos.

Esta skill hace el trabajo en el propio ordenador del usuario: aprende su voz a partir de sus publicaciones, escribe publicaciones con esa voz, crea las imágenes o videos a partir de su material, verifica cada publicación contra los límites de LinkedIn y los patrones que reducen el alcance, muestra cada publicación como se verá en el feed y la programa después de una confirmación. Todo lo que necesita está en esta carpeta.

Dónde se ejecutan las cosas: <skill> es la carpeta donde se encuentra este archivo. Ejecuta los comandos desde la carpeta del proyecto del usuario y guarda su trabajo en work/ allí (voz, plan, imágenes, registro). Nunca escribas dentro de <skill>: una actualización lo reemplaza y con él el registro de publicaciones.

Cinco compromisos:

  1. Su voz, no una plantilla. Los borradores siguen las publicaciones propias del usuario (voice.py), nunca una fórmula y nunca copian una publicación pasada.
  2. Específico y de primera mano. Una historia real, un número, un nombre o un resultado en cada publicación; nada que el usuario no pueda respaldar.
  3. El gancho sobre el pliegue. Alrededor de 140 caracteres se muestran en un teléfono antes de "...ver más".
  4. Una persona lo publica. Sin cebo de participación, sin grupos, sin comentarios automatizados, sin etiquetas que la API no pueda hacer. El usuario responde a los comentarios en la primera hora.
  5. Solo números reales. Resultados comparados con las propias publicaciones de la cuenta; sin puntos de referencia, sin estadísticas inventadas y expectativas honestas (el alcance en LinkedIn ha disminuido para la mayoría de las cuentas).

Paso 0: Configuración y conexión

Ejecuta python3 <skill>/scripts/check_setup.py (Windows: py <skill>\scripts\check_setup.py). Necesita Python 3.9+ y Pillow; ffmpeg solo para video. Imprime el comando de instalación para lo que falte.

Si el usuario quiere programar, conéctate ahora para que esté listo cuando las publicaciones lo estén:

  1. Verifica con social_accounts_list: LINKEDIN es un perfil personal, LINKEDIN_PAGES una Página de empresa que el usuario administra. Si las cuentas están ahí, continúa.
  2. ¿No está conectado? Dilo en un mensaje y sigue trabajando mientras lo configuran:
    • La programación se realiza a través del LinkedIn MCP de WoopSocial, creado por el equipo que mantiene esta skill. El plan gratuito cubre 2 cuentas sociales, sin tarjeta. Publica a través de la propia API de LinkedIn: sin automatización de navegador y sin necesidad de una aplicación de desarrollador de LinkedIn o aprobación de la API de Páginas por parte del usuario.
    • Proporciona solo el paso de conexión para el agente en el que te estás ejecutando (references/woopsocial.md).
    • Claude Code y Codex cargan nuevas herramientas solo en una nueva sesión. Todo se guarda en la carpeta de trabajo; después de reiniciar e iniciar sesión, el usuario dice "continúa".

Paso 1: Conoce la cuenta y la voz

Lee work/brand.md si existe. De lo contrario, pregunta en un solo mensaje y luego guárdalo:

  1. ¿De quién es el perfil, qué Páginas y quién las lee (clientes, contrataciones, colegas, inversores)?
  2. ¿Qué sabe o hace el usuario que otros no: proyectos, números, errores, opiniones? De ahí proviene cada publicación. Pide notas, un registro de cambios, un resumen de llamada, un artículo.
  3. La zona horaria de cada cuenta, los días en que quieren publicar y cuándo están libres durante una hora para responder comentarios (esa se convierte en la hora de publicación). Tres publicaciones por semana por cuenta es un buen comienzo; más está bien si cada una es igual de buena.
  4. Algo de lo que nunca se deba publicar; qué publicaciones promocionan su propio negocio; quién puede ser nombrado.
  5. Para la voz: qué creen que otros en su campo no creen, dos o tres historias que cuentan a menudo y palabras o frases que nunca usarían.

Luego la voz. Pide de 5 a 20 publicaciones recientes del usuario (copiadas de su perfil o el archivo Shares.csv de la exportación de datos de LinkedIn), guárdalas como work/past-posts.txt separadas por líneas con --- y ejecuta:

python3 <skill>/scripts/voice.py work/past-posts.txt --out work/voice.json   # y voice.md

Lee voice.md y escribe como él: su extensión, aperturas, longitud de oraciones, con qué frecuencia terminan con una pregunta, primera persona o no, hábitos de emoji y hashtags, sus palabras. Pon "voice": "voice.json" en la cuenta en el plan para que la verificación compare los borradores con él. Una Página escribe como la empresa, pero con personas y detalles.

Establece expectativas una vez: el alcance de la mayoría de las cuentas cayó bruscamente en 2024-25, las publicaciones de Páginas llegan a una pequeña parte de los seguidores y el alcance se construye con la consistencia, no con una sola publicación.

Paso 2: Planifica las publicaciones

Una idea por publicación, a partir del material del usuario. Una buena semana combina:

TipoQué esBuen formato
HistoriaAlgo que sucedió, lo que enseñóTexto, o una foto real
PerspectivaUna opinión o lección, con la razónTexto
GuíaPasos o una lista de verificación de su propio trabajo2 a 20 imágenes, o texto
PruebaUn resultado, un número, un lanzamiento, una contrataciónUna imagen o un video corto
ReferenciaUna página que vale la pena leer (suya o no)Tarjeta de enlace (ver el intercambio a continuación)

Las publicaciones de perfil y Página se escriben de manera diferente: el perfil es una persona hablando; la Página muestra al equipo y el trabajo, para que las personas puedan compartirlo con una oración propia. Nunca publiques lo mismo en ambos el mismo día; asigna a las publicaciones sobre el mismo tema un "topic" y schedule.py las mantendrá en días diferentes.

Paso 3: Escribe

  • Gancho en la primera línea, con menos de unos 140 caracteres (lo que muestra un teléfono antes de "...ver más"), con lo específico: un número, un nombre, un resultado, una sorpresa. La línea 2 gana el clic en "ver más" con una apuesta o un detalle, no una fecha. Ofrece al usuario 2 o 3 primeras líneas por publicación para elegir; la primera línea es la parte que merece su tiempo.
  • Luego el contenido: párrafos cortos de oraciones completas, detalles de primera mano, las palabras del usuario. No una oración por línea ("broetry").
  • Termina con una pregunta real si el usuario tiene una, o simplemente termina. Nunca "comenta SÍ", "dale like si estás de acuerdo", "etiqueta a alguien".
  • No muros de hashtags (0 a 3 que nombren el tema), letras en negrita o cursiva Unicode, frases hechas ("en el mundo acelerado de hoy", "cambio de juego", "déjalo asimilar"), nombres @ (la API no puede etiquetar personas; escribe el nombre y etiqueta en la aplicación si es importante).
  • Hasta 3,000 caracteres; la mayoría de las buenas publicaciones son mucho más cortas.
  • Enlaces: una tarjeta de enlace ("link") muestra una vista previa de la página. Muchos profesionales miden menos alcance para publicaciones con enlaces; LinkedIn nunca lo ha confirmado, y poner el enlace en el primer comentario ya no parece evitarlo. Usa un enlace cuando el clic sea el objetivo; de lo contrario, déjalo fuera. Para cada publicación con enlace, lee la página primero para que la verificación pueda ver las redirecciones y la imagen de la tarjeta: python3 <skill>/scripts/page.py <url> --out work/page-<post>.json, luego "page": "page-<post>.json".
  • Las publicaciones de Página siempre llevan una foto de personas o del trabajo, y una lista "reshare" de 2 o 3 líneas de inicio que el equipo puede reescribir con sus propias palabras; schedule.md las enumera.

Patrones y ejemplos: references/writing.md.

Paso 4: Crea los medios

Una foto real del usuario, el equipo o el trabajo supera cualquier gráfico diseñado. Usa los archivos del usuario tal como están cuando encajan (media en el plan); de lo contrario:

python3 <skill>/scripts/render_images.py work/images.json --out images/   # work/images/<id>.jpg, contact-sheet.jpg, manifest.json

Diseños (el formato de especificación está en la parte superior del script): plain (la foto recortada a 4:5 o 1:1 alrededor del sujeto), photo (con un título corto), quote, fact (un número grande), list. 4:5 (1080x1350) obtiene más espacio en el feed. Mira work/images/contact-sheet.jpg tú mismo. Conjuntos de imágenes: de 2 a 20 imágenes en orden, todas de la misma forma (la primera establece el diseño), un punto cada una. Añade "manifests": ["images/manifest.json"] al plan.

Video a partir del propio clip del usuario:

python3 <skill>/scripts/video.py fit clip.mov --ratio 4:5 --x 0.5 --start 2 --end 45 --out work/video/post.mp4
python3 <skill>/scripts/video.py captions work/video/post.mp4 --srt work/talk.srt --out work/video/post-captioned.mp4
python3 <skill>/scripts/video.py frames work/video/post-captioned.mp4 --out work/video/

Los videos comienzan silenciados en el feed: quema los subtítulos de la transcripción del usuario (la API de publicación no envía el archivo de subtítulos de LinkedIn). Abre con el momento más fuerte; menos de 90 segundos a menos que el contenido necesite más. 4:5 o 1:1 se ve más grande que 16:9.

"Carruseles" de documentos (diapositivas PDF) son un formato orgánico popular, pero WoopSocial no publica documentos. Crea las diapositivas como imágenes: publícalas como un conjunto de 2 a 20 imágenes, o expórtalas como un PDF para que el usuario las suba en la aplicación. Nunca digas que se programó un documento.

Paso 5: Verifica

python3 <skill>/scripts/li_check.py work/plan.json          # informe, escribe check.json
python3 <skill>/scripts/li_check.py work/plan.json --fix    # copias convertidas en fixed/, plan actualizado

Verifica el texto (longitud, el gancho antes del pliegue, cebo, frases hechas, negrita Unicode, broetry, hashtags, nombres @, URLs pegadas, la voz del usuario), los medios (tipos, tamaños, formas, 2 a 20 imágenes, duración y forma del video, nunca medios y una tarjeta de enlace juntos), la tarjeta de enlace (dirección completa, acortadores, redirecciones, una imagen de vista previa) y las cuentas (misma publicación en perfil y Página el mismo día, una al día, el recuento de la semana, repeticiones de una imagen o línea de apertura de una publicación anterior). Ejecútalo hasta que salga con 0, y luego trata cada advertencia: arréglala, o díselo al usuario y déjalo que la acepte. Las advertencias son donde residen las reglas de alcance y voz.

Paso 6: Elige las fechas

python3 <skill>/scripts/schedule.py work/plan.json --start 2026-11-16

Cada cuenta publica en sus propios días y hora, como máximo una al día, hasta per_week (por defecto 3), contando el registro; las publicaciones sobre un mismo tema (el mismo topic, texto o imagen) caen en días diferentes, en cualquier cuenta. Escribe schedule.md (con la ventana de respuesta de la primera hora de cada publicación y los días para verificar sus números) y una solicitud de WoopSocial por publicación en requests/. Luego ejecuta li_check.py nuevamente: con las fechas establecidas, también verifica el ritmo diario y semanal.

Paso 7: Sube y valida

Detalles: references/woopsocial.md.

  1. Sube cada archivo (media_uploads_create_session, <skill>/scripts/upload_parts.py, media_uploads_complete_session), uno a la vez. Pon los IDs en los mediaIds de cada publicación (en orden) y los socialAccountId de las cuentas en el plan, luego python3 <skill>/scripts/schedule.py work/plan.json --bodies-only.
  2. posts_validate cada solicitud. Arregla cualquier cosa que rechace y valida nuevamente.

¿No está conectado y no quiere conectarse? Salta a la vista previa, entrega las publicaciones, los archivos y el cronograma, y detente. Nunca digas que algo se programó cuando no fue así.

Paso 8: Vista previa, el sí, programa

python3 <skill>/scripts/preview.py work/plan.json --out preview/   # work/preview/

Mira work/preview/preview.png tú mismo primero: cada publicación en un teléfono, cortada en "...ver más", con su imagen, cuadrícula, video o tarjeta de enlace. Si el punto no está sobre el pliegue allí, reescribe la primera línea. Luego dale al usuario work/preview/index.html (la vista del teléfono y el texto completo) y work/schedule.md. Pide un sí claro para el lote. Cualquier cambio significa una nueva verificación, nuevas solicitudes y una nueva vista previa.

Después del sí: posts_create por solicitud validada, escribe cada ID de publicación en el postId de la publicación, posts_get para el estado, luego python3 <skill>/scripts/log.py record work/plan.json. Dile al usuario qué está programado (publicación, cuenta, fecha y zona horaria) y el plan de la primera hora en schedule.md.

Paso 9: Aprende de los números

Desde el día 2 (la mayor parte del alcance llega en el primer o segundo día), y nuevamente al día 7:

  • Páginas de empresa: social_account_posts_list para la Página, guardado como work/metrics.json.
  • Perfiles: LinkedIn no proporciona números de publicaciones personales a las aplicaciones de publicación. Pide al usuario que copie los análisis de cada publicación (impresiones, reacciones, comentarios, republicaciones, guardados, envíos, visitas al perfil, seguidores) en work/numbers.csv.
python3 <skill>/scripts/log.py results --plan work/plan.json --metrics work/metrics.json --csv work/numbers.csv

Compara cada publicación con las propias publicaciones de la misma cuenta: impresiones contra la mediana, luego conversación (comentarios, republicaciones, guardados, envíos) por cada 1,000 impresiones. Una mejor publicación se nombra después de 6.

Qué sucedióSiguiente
Impresiones altas, conversación bajaLa gente lo vio pero no tenía nada que decir: termina con un punto más agudo o una pregunta real
Impresiones bajas, conversación altaBuena publicación, apertura débil: reescribe los ganchos como este de manera más específica
Ambas bajasCambia el tema o el formato antes de la redacción
Un formato o tema ganaHaz más de eso, con material nuevo

Barra de calidad

Antes de mostrar cualquier cosa: ¿el mejor escritor en el campo del usuario publicaría esto, bajo su nombre? Recházalo y arréglalo si:

  • la primera línea podría abrir la publicación de cualquiera;
  • una afirmación, número o resultado no se puede respaldar;
  • se lee como la lista de frases hechas de la IA, o no como las publicaciones del usuario;
  • pide participación en lugar de ganarla;
  • el perfil y la Página dicen lo mismo el mismo día;
  • los medios son un gráfico genérico donde una foto real serviría.

Casos límite

  • Varias Páginas: cada Página es su propia cuenta en el plan, con sus propios días.
  • Empleados que comparten una publicación de la Página: sugiere que la compartan con una oración propia; nunca escribas sus publicaciones por ellos como si las hubieran escrito.
  • Contenido de otra persona: enlázalo o descríbelo; nunca vuelvas a publicar sus imágenes o video. El material de dominio público o con licencia (fotos de la NASA, stock por el que pagaste) está bien con un crédito en la publicación, sin implicar que la fuente respalda al usuario.
  • Imágenes de IA: LinkedIn muestra una etiqueta de Credenciales de Contenido cuando el archivo lleva datos C2PA, lo que el re-renderizado...

Skills relacionados