Skill0 starsChanged 2 months agoMITView on GitHub
Audita y pone al día el perfil de LinkedIn de la persona contra datos/hechos.yaml. Por defecto entrega los textos listos para pegar; en modo asistido (opcional) navega con Playwright MCP, siempre con confirmación antes de cada cambio. Úsalo para leer el perfil, detectar qué está desactualizado o aplicar cambios.
23 other projects use a version of this.
Adopted by
Most recently taken up by
- YangsonHung/awesome-agent-skillstheir own version, first seen Nov 8, 2026
- ishandutta2007/Awesome-Agent-Skillstheir own version, first seen Nov 8, 2026
- nurmdrafi/pi-nativetheir own version, first seen Nov 1, 2026
- joevstaas/awesome-claude-skillstheir own version, first seen Nov 1, 2026
- abhayla/claude-best-practicestheir own version, first seen Nov 1, 2026
- Bobagi/claude-skillstheir own version, first seen Oct 29, 2026
Used with
Projects with it also use reddit, instagram and 3 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
ReScienceLabSkillreddit
Search and retrieve content from Reddit. Get posts, comments, subreddit info, and user profiles via the public JSON API. Use when user mentions Reddit, a subreddit, or r/ links.
Also in 6 projects that use this
refly-aiSkillinstagram
Integrate with Instagram for social media. Use when you need to: (1) post content to Instagram, (2) manage media and insights, or (3) automate Instagram publishing workflows.
Also in 4 projects that use this
G-HunterAiSkilltiktok
TikTok platform integration. Manage videos, view analytics, and track engagement.
Also in 3 projects that use this
anshul-garg27Skillnewsletter
Create engaging email newsletters with subject lines, sections, and CTAs for Substack, Beehiiv, ConvertKit, or plain email
Also in 3 projects that use this
refly-aiSkillyoutube
Integrate with YouTube for video management. Use when you need to: (1) upload videos to YouTube, (2) manage channel content, or (3) retrieve video analytics and insights.
Also in 3 projects that use this
Other versions23 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 23
- sigcli/sigcli★ 293same name
- getnao/sylph★ 195same name
- hyperfx-ai/marketing-skills★ 112same name
- Linked-API/linkedin-skills★ 108same name
- backpropagation6/claude-linkedin-automation★ 21same name
- ishandutta2007/Awesome-Agent-Skills★ 21same name
- YangsonHung/awesome-agent-skills★ 18same name
- AceDataCloud/Skills★ 17same name
- abhayla/claude-best-practices★ 9same name
- mediause/agent-skills★ 9same name
13 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
The file
We split this skill into the rules it gives an agent
1 rule. 0 are common, 0 are distinctive, and 1 is very specific to this project.
0
Common
Most of the 19 edited versions we read keep these.
0
Distinctive
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 24
No hay alternativa por API: editar un perfil requiere el permiso w_compliance, que está cerrado y no se puede solicitar.
“Common” is measured: kept by at least 6 in 10 of the 19 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
LinkedIn es la fuente primaria de habilidades: el CV va recortado para una vacante,
LinkedIn lleva el stack completo. Pero suele estar desactualizado, así que el trabajo va
en dos direcciones: leer lo que hay (hacia hechos.yaml) y escribir lo que
falta (desde hechos.yaml).
El perfil está en hechos.yaml → identidad.linkedin. El plan vive en
datos/linkedin-plan.yaml.
Elegir el modo
| Manual (por defecto) | Asistido (opt-in) | |
| Lectura | La persona exporta el perfil a PDF (Más → Guardar en PDF) y las aptitudes con Ctrl+P | Navegador con Playwright MCP |
| Escritura | El asistente entrega el texto exacto; la persona lo pega | El asistente edita, con confirmación de cada cambio |
| Riesgo con LinkedIn | Ninguno | Su User Agreement prohíbe la automatización. La decisión es de la persona |
No hay alternativa por API: editar un perfil requiere el permiso w_compliance, que
está cerrado y no se puede solicitar.
Usa el modo asistido solo si existe .mcp.json con el servidor playwright y la
persona lo pidió explícitamente. Si ya lo decidió sabiendo el riesgo, no lo vuelvas a
discutir: el trabajo es minimizar el riesgo operacional. Para textos largos como el
"Acerca de", ofrece igual el modo manual: es igual de válido y más rápido.
Reglas del modo asistido (no se negocian)
- Confirmación antes de cada escritura. Navegar y leer puede fluir. Cualquier
browser_type, clic en Guardar o envío de formulario requiere un sí para ese cambio concreto. Nunca en lote. - Ritmo humano. Una acción a la vez, con pausa. Nada de ráfagas.
- La persona presente y la ventana visible. Nunca headless, nunca en tareas programadas ni en segundo plano.
- Solo su propio perfil. Nunca perfiles de terceros.
- Captcha, aviso de seguridad o re-autenticación → detenerse y avisar. No sortearlo.
- Nunca escribir credenciales. Si aparece el login, la persona entra a mano en la
ventana abierta; la sesión queda guardada en
datos/navegador-perfil/.
LECTURA — traer lo que LinkedIn sabe
Secciones: el perfil principal y /in/<slug>/details/<seccion>/ para experience,
education, skills, certifications, projects, courses y recommendations.
⚠️ Cómo leer sin equivocarse
La ventana no scrollea. window.scrollTo y document.body.scrollHeight no sirven:
el body mide ~900 px siempre. El contenido vive en main#workspace. Leyendo mal
salen ~1.800 caracteres de un perfil; bien, ~21.500. Con la lectura corta se llegó a
afirmar que un perfil no tenía "Acerca de" ni Python — las dos cosas eran falsas.
const cont = document.querySelector('main#workspace'); // en modales: [role="dialog"]
let prev = -1;
for (let i = 0; i < 40 && cont.scrollHeight !== prev; i++) {
prev = cont.scrollHeight;
cont.scrollTop = cont.scrollHeight;
await new Promise(r => setTimeout(r, 700));
}
return cont.innerText;Si un selector "no existe", antes de concluir nada: busca el contenedor con
overflowY: auto|scroll y scrollHeight > clientHeight, scrolléalo hasta que deje de
crecer y recién ahí vuelve a buscar. Expande los "Mostrar todos" antes de leer.
Excepción: /details/skills/ virtualiza la lista y ni así se resuelve (el navegador
vio 26 aptitudes de 67). Para inventariar aptitudes, pide el PDF (Ctrl+P → Guardar
como PDF en esa página) y vuélcalo a datos/linkedin-aptitudes.yaml.
Regla general: nunca le digas a la persona que "le falta" algo en LinkedIn a partir de una sola lectura por navegador. Contrasta primero con una segunda fuente.
Al volcar a hechos.yaml
fuentes: [linkedin](olinkedin-pdf) en cada dato nuevo.- LinkedIn coincide con algo ya registrado → agrega la fuente. Sube a
confirmadosolo si la persona lo confirma. - LinkedIn contradice algo que la persona ya confirmó → no pises nada. Gana su
confirmación: regístralo en
linkedin-plan.yaml → discrepanciasy propón corregir LinkedIn. - LinkedIn contradice algo no confirmado →
estado: conflictoy pregunta. - Habilidad que está en LinkedIn y en ningún CV →
estado: por_confirmar,cobertura: 0. Si entró con el temario de una certificación, dilo: no acredita uso. - Certificaciones: captura número de credencial, emisión y vencimiento. Si vence en menos de 6 meses, avisa.
AUDITORÍA — qué está desactualizado
Compara LinkedIn contra hechos.yaml y arma linkedin-plan.yaml → cambios, ordenado
por impacto. No apliques nada todavía. El orden típico:
- Titular (220 caracteres): es lo que más pesa en las búsquedas de reclutadores.
- Aptitudes del cargo objetivo que faltan. El hueco suele ser de vocabulario, no de cantidad: agregar ~10 aptitudes núcleo rinde más que reordenar 60. Si un tercio son servicios de una certificación, diluyen la señal.
- Acerca de (2.600 caracteres; se ven ~250 antes de "ver más").
- Experiencia con logros verificados (2.000 caracteres por cargo) y sin huecos.
- Certificaciones con número de credencial y URL de verificación.
- Redacciones prohibidas ya publicadas (grado como título, bootcamp como certificación).
- Abierto a trabajar y su visibilidad.
- Coherencia con lo que se enlaza: un portafolio o GitHub viejo, enlazado desde un perfil recién pulido, lo contradice.
Antes de cambiar nada, anota la línea base en linkedin-plan.yaml: apariciones en
búsquedas (7 días) y visualizaciones del perfil. Se vuelve a mirar en dos semanas.
ESCRITURA — aplicar cambios
Para cada cambio, de a uno:
- Muestra el texto exacto que va a quedar, en un bloque.
- Verifícalo contra
hechos.yaml: cada frase se tiene que poder trazar a una entrada (anótalas entrazabilidad). Si no, se elimina antes de proponerla. Revisa tambiénredacciones_prohibidasyno_defendibles. - Pide confirmación de ese cambio puntual.
- Modo manual: la persona pega y avisa. Modo asistido: navega, edita, guarda; una acción a la vez.
- Verifica (snapshot, o que la persona confirme lo que ve) y registra en
linkedin-plan.yaml → aplicadoscon la fecha.
Dónde se edita cada cosa
- Titular: lápiz de la tarjeta principal → "Titular". 220 caracteres.
- Acerca de: sección "Acerca de". 2.600 caracteres; los primeros ~250 son los visibles.
- Experiencia: "+" de la sección, o lápiz en cada cargo. Descripción: 2.000.
- Aptitudes:
/details/skills/. Se pueden destacar algunas arriba (la documentación hablaba de 3; en un perfil real aparecieron 5 — verifica cuántas deja el suyo). - Licencias y certificaciones: número de credencial y URL de verificación.
- Abierto a trabajar: botón "Abierto a". Ojo con la visibilidad: "Solo reclutadores" vs "Todos". Si la persona tiene empleo, "Todos" lo ve su empleador.
Receta probada: agregar una aptitud (modo asistido)
- Navega a
https://www.linkedin.com/in/<slug>/skills/edit/forms/new/. browser_typeeninput[aria-label="Aptitudes"]conslowly: true.ArrowDown+Enterpara tomar la opción del autocompletado.- Para asociarla a un cargo: clic en
[role="checkbox"]:has-text("CARGO") label. El input del checkbox está oculto y los clics por JS no prenden en React: hay que clicar el label. - Clic en
[data-testid="dialog"] button:has-text("Guardar").
- Éxito: la URL cambia a
.../skills/edit/forms/next-action/add-another-skill/. - Duplicado: aparece "Esta aptitud ya está en tu perfil". No rompe nada.
- LinkedIn normaliza los nombres: "ETL" queda como "Extraer, transformar y cargar
(ETL)", "Pipelines de datos" como "Canalización de datos", "pandas" como "Pandas
(Software)". Al verificar, busca por el nombre normalizado y anótalo en
linkedin-aptitudes.yaml → nombres_normalizados. - Asocia cada aptitud al cargo donde de verdad se usó. Asociada vale más que suelta, pero colgarla de un cargo donde no se usó es inventar. Si ningún cargo la respalda, déjala sin asociar.
Estos selectores funcionaban en julio de 2026. LinkedIn cambia su interfaz: si uno falla, toma un snapshot, busca el equivalente y avisa. No fuerces clics a ciegas.
Redacción para LinkedIn (distinta de un CV)
- El titular nombra los cargos que la persona quiere que le ofrezcan, no necesariamente el que tiene hoy. Dos, no cuatro: cuatro no posicionan ninguno. Si es aspiracional, que se pueda sostener en una entrevista.
- LinkedIn es superconjunto: aquí sí va el stack completo. La selección se hace en el CV.
- "Acerca de" en primera persona; el CV no.
- Las mismas reglas que en el CV: nada que no esté en
hechos.yaml, cifras solo si están respaldadas.
Al terminar
Actualiza datos/linkedin-plan.yaml (aplicado, pendiente, discrepancias) y dile a la
persona qué quedó sin hacer y por qué.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

