Convirtió Claude Code en una fábrica de candidaturas: 69 envíos, 20 entrevistas

El género de las herramientas de «candidatura con IA» tiene un problema de credibilidad, y no es técnico. Todo el mundo sospecha que lo que sale es un PDF relleno de palabras clave que un reclutador huele en cuatro segundos.
Así que lo primero que merece contarse de ai-job-search, un framework con licencia MIT de Mads Lorentzen que convierte Claude Code en un pipeline de búsqueda de empleo, es qué hizo el autor con él: 69 candidaturas, 20 primeras entrevistas y una oferta firmada como AI engineer. Además dice que avisó a todos los empleadores de que lo estaba usando. O es una señal buenísima, o es muchísima suerte. Probablemente las dos cosas.
Lo segundo que merece contarse es que la ingeniería interesante no está en la escritura. Está en la comprobación.
Los tres comandos que importan
/setup rellena tu perfil. Tres formas de entrar: apuntarlo a una carpeta documents/, pegar un único CV o responder preguntas de entrevista. El autor lo dice sin rodeos: la profundidad del perfil es el factor más determinante de la calidad del resultado. Un perfil escaso produce candidaturas genéricas, y no hay prompting ingenioso que lo arregle.
/scrape busca en portales de empleo, deduplica y ordena por afinidad. El soporte de portales depende del mercado: los incluidos cubren Dinamarca (Jobindex, Jobnet, Jobbank, Jobdanmark), más dos skills transfronterizos — uno para el endpoint público sin autenticación de LinkedIn con un flag de región, y otro para una API REST gratuita centrada en puestos técnicos. Los demás mercados necesitan /add-portal, que genera y prueba un skill nuevo.
/apply <url> es el interesante. Ejecuta ocho pasos: analizar la oferta, puntuar la afinidad, redactar un CV y una carta de presentación en LaTeX a medida, entregar ambos a un agente revisor aparte con su propio contexto para que investigue la empresa y critique el borrador, revisar, compilar, inspeccionar el PDF renderizado y, por último, pasar un chequeo ATS.
Por qué compilar y mirar el PDF es todo el truco
Quien haya generado un documento LaTeX con un modelo de lenguaje conoce el modo de fallo. El código fuente se ve perfecto. El PDF tiene un título huérfano al pie de la primera página, la carta se ha desbordado a una segunda página con una sola línea, y una lista ha caído en silencio a otra tipografía.
Este proyecto cierra ese bucle. El CV debe compilar con lualatex en exactamente dos páginas y sin títulos huérfanos. La carta debe compilar con xelatex en exactamente una página, con la firma visible. El agente lee las páginas renderizadas e itera hasta que se cumplen las restricciones.
Cuando el CV se pasa de largo, no corta el puesto más antiguo. Puntúa cada línea por su relevancia para esta oferta, su unicidad dentro del documento y si la carta depende de ella, y elimina la de menor total. Es un detalle pequeño y una diferencia enorme: es el comportamiento de alguien que de verdad ha recortado un CV para un puesto concreto, no el de alguien que sigue una regla.
El chequeo ATS es la parte que nadie más hace
Los sistemas de seguimiento de candidatos no leen tu maquetación preciosa. Leen la capa de texto incrustada, y LaTeX es famoso por producir capas de texto que técnicamente están ahí y en la práctica son basura: fuentes de iconos que se renderizan como un símbolo de correo y se extraen como nada, ligaduras que rompen el emparejamiento de palabras clave, columnas que desordenan la secuencia de lectura.
El framework extrae la capa de texto con pypdf o pdftotext, verifica que los datos de contacto aparezcan como texto literal, revisa mojibake y orden de lectura, y luego compara la cobertura de palabras clave con la oferta. Si no está instalada ninguna de las dos herramientas, degrada a una comprobación visual de palabras clave en lugar de saltarse el paso en silencio.
Esa es la diferencia entre una herramienta que produce documentos y una que produce documentos capaces de sobrevivir al contacto con un sistema de selección.
La restricción honesta: se niega a inventar
La regla declarada es no fabricar habilidades ni experiencia. Las palabras clave que el perfil no puede sostener se marcan como carencias en lugar de meterse a la fuerza. Es una postura ética y también práctica: la experiencia inventada se destapa en la entrevista, y el trabajo de la herramienta es llevarte hasta ella.
También hay un filtro de idiomas. /setup recoge cada idioma de trabajo y su nivel; un idioma no declarado es un rechazo directo, y un nivel insuficiente se señala en lugar de rechazarse automáticamente. Casi todas las herramientas de empleo ignoran esto por completo, y así es como acabas con una candidatura que suena fluida para un puesto que exige alemán C1.
La trampa de privacidad en la que no debes pisar
Esta es la parte que yo pondría en negrita en la página de descarga, y el autor lo hace, pero merece repetirse: el fork de un repositorio público es siempre público. GitHub no permite forks privados de repos públicos. Y /setup escribe tu nombre, tus datos de contacto, tu trayectoria y tus expectativas salariales en archivos rastreados por git.
Haz fork, ejecuta setup, haz push, y acabas de publicar tu CV y tus expectativas salariales en internet, con historial de commits incluido.
El camino correcto, documentado en la guía de instalación del proyecto, es crear un repositorio privado y añadir el original como remoto upstream. Tienes el mismo flujo de actualizaciones sin la exposición. Haz fork solo si piensas contribuir código.
Postura de seguridad, dicha sin adornos
Las ofertas de empleo se tratan como entrada no confiable: las instrucciones incrustadas no se ejecutan, los enlaces que contienen no se siguen. El autor se cuida de decir que esto es defensa a nivel de instrucciones, no un sandbox. Los skills de portal se ejecutan en tu máquina sin aprobación, así que los skills prestados de otros forks deberían leerse línea por línea: mira a dónde van las peticiones de red, revisa el manifiesto del paquete en busca de dependencias y scripts de ciclo de vida, y ejecuta las pruebas sin conexión. Copiar la carpeta es deliberadamente manual exactamente por eso.
El skill de LinkedIn trae su propia advertencia: la automatización viola los términos de la plataforma y debe usarse con baja frecuencia, para uso personal.
El coste del bucle
Nada de esto es gratis, y el autor lo dice. Claude Code no tiene plan gratuito; necesitas suscripción o crédito de API. El paso de compilar y mirar quema tokens extra, porque el agente lee páginas renderizadas e itera — a veces tres o cuatro veces sobre un solo CV.
Si el intercambio vale la pena depende de cuánto creas que cuesta tu tiempo. Cuatro ciclos de revisión sobre un documento que vas a enviar una vez son muchos. Cuatro ciclos sobre un documento que, si no, llevaría un título huérfano en el margen inferior son baratos, porque ese título es la diferencia entre «cuidadoso» y «chapucero» en la primera impresión de quien lo lee.
Hay un segundo coste fácil de pasar por alto: el trabajo del perfil. /setup premia la concreción: proyectos, herramientas, resultados cuantificados, lo que hiciste tú frente a lo que hizo tu equipo. Un perfil escaso produce la candidatura genérica que todo el mundo produce en esta categoría. La herramienta no puede inventar el material que no tiene, y el autor es inusualmente directo al señalar que el factor limitante está aquí y no en el modelo.
Lo que no hace
No te consigue una referencia, y las referencias son donde se ganan de verdad la mayoría de los puestos. No negocia, y lo único que sabe del salario es el número que tecleaste durante el setup. No sabe que el responsable de contratación es un antiguo colega, ni que la oferta lleva siete meses abierta porque el equipo no se pone de acuerdo sobre el puesto.
Lo que hace es quitar la excusa. La candidatura irá a medida, el PDF compilará, la capa de texto será parseable y los requisitos de idioma se respetarán. Lo que hagas con eso sigue siendo buscar empleo.
Qué es esto en realidad
Quita el envoltorio de IA y esto es un sistema de build para candidaturas: entra código fuente, sale un artefacto, con una etapa de verificación en medio. El modelo es el compilador. La inspección del PDF y el chequeo de texto ATS son los tests. El agente revisor es la revisión de código.
Ese enfoque es lo que lo hace más interesante que su categoría. No promete conseguirte un empleo. Promete que el documento que envíes tendrá dos páginas, será legible por una máquina, será honesto sobre tus carencias y estará adaptado a la oferta, y te dirá cuándo esas promesas fallan.
Sesenta y nueve candidaturas y veinte entrevistas son una muestra decente. No son una prueba. Pero es una base de evidencia mejor que la de la mayoría de las herramientas de este espacio, y el pipeline que la produjo lo puedes leer tú mismo.
Artículos relacionados
Los cinco grandes editores de EE. UU. usan la IA en silencio para las portadas
Wired revela que al menos tres de los cinco grandes editores de EE. UU. generan portadas y textos con IA sin divulgar ni consultar a los autores.
Character.AI se declara en quiebra: Disney pone 20 millones
Character.AI se declara en quiebra y Disney entra como stalking horse con 20 millones, solo por activos y una licencia de patentes. De 150 millones de Serie A quedan patentes.
XERJ: un buscador local para agentes de código que confiesa sus propias cifras
XERJ indexa el código en local con tree-sitter para que los agentes lean menos archivos: 2,7 veces menos tokens que grep, no las 40 que anuncia el titular. El mantenedor lo admite.
Deja de enseñar a los agentes a mirar la pantalla: CLI-Anything le pone una línea de comandos a cada programa
No hace falta que los agentes aprendan a mirar la pantalla. CLI-Anything genera en siete etapas CLIs probados y documentados para GIMP, Blender o LibreOffice, y el agente solo tiene que escribirlos.