14/07/2026 • 6 min de leitura • 3 visualizações
Guia Técnico: Automatizando a Preparação de Candidaturas com ai-job-search e Claude Code
O ai-job-search é um framework de agentes locais projetado para rodar em conjunto com o Claude Code (a CLI oficial de agentes da Anthropic). Ele lê seu perfil profissional, busca vagas compatíveis, calcula o nível de aderência (fit score) e gera currículos adaptados em LaTeX e cartas de apresentação personalizadas — tudo rodando na sua própria máquina.
O projeto nasceu de um caso real: o autor, geofísico de formação, construiu o framework após ser demitido no fim de 2025, usou-o na própria busca por vaga (69 candidaturas, 20 primeiras entrevistas, 1 contrato assinado) e abriu o código depois. Hoje tem mais de 22 mil estrelas no GitHub e já foi #1 do GitHub Trending.
Abaixo está o passo a passo para configurar o ambiente e executar o fluxo de trabalho com segurança.
Pré-requisitos do Sistema
Antes de começar, garanta que você possui as seguintes ferramentas instaladas:
1. Claude Code CLI — a interface de linha de comando da Anthropic, instalada globalmente:
npm install -g @anthropic-ai/claude-code
Você vai precisar de uma chave de API da Anthropic ou de uma assinatura Claude Pro/Team.
2. Python 3.10+ — usado pela ferramenta opcional de benchmarking salarial.
3. Bun — runtime usado pelas ferramentas de busca de vagas (CLIs de portais de emprego):
curl -fsSL https://bun.sh/install | bash
4. Compilador LaTeX — necessário para gerar os PDFs do currículo e da carta de apresentação. O currículo compila com lualatex (o pdflatex costuma falhar em instalações modernas do MiKTeX por erro de expansão de fonte no pacote fontawesome5) e a carta com xelatex (a classe cover.cls depende do fontspec para as fontes customizadas).
- macOS: MacTeX
- Linux (Ubuntu/Debian): sudo apt install texlive-full
- Windows: MikTeX
Passo a Passo de Configuração e Execução
Passo 1: Fazer fork e clonar o repositório
O fluxo recomendado pelo autor é fazer fork (para você poder versionar seu próprio perfil) e já clonar localmente:
gh repo fork MadsLorentzen/ai-job-search --clone
cd ai-job-search
Sem o gh CLI, funciona também fazer o fork manualmente pela interface do GitHub e depois clonar o seu fork.
Passo 2: Instalar as dependências das CLIs de busca de vagas
As ferramentas de busca em portais de emprego (por padrão, portais dinamarqueses — Jobindex, Jobnet, Jobdanmark, Akademikernes Jobbank) rodam em Bun e têm dependências próprias:
for tool in jobbank-search jobdanmark-search jobindex-search jobnet-search; do
cd .agents/skills/$tool/cli && bun install && cd ../../../..
done
O padrão de integração é o mesmo para qualquer portal — se você não está na Dinamarca, pode construir equivalentes locais seguindo a mesma estrutura.
Passo 3: Preparar sua base de conhecimento (seus dados)
Para que o agente entenda quem você é profissionalmente, alimente o framework com seus dados atuais na pasta documents/ (crie-a na raiz do projeto, se não existir):
- Currículo atual em PDF ou Markdown.
- Diplomas, certificados e cartas de referência.
- Exportação do seu perfil do LinkedIn.
- Registros de candidaturas anteriores.
Quanto mais detalhe você fornecer — não só cargos, mas o que você de fato fez em cada posição, com projetos e resultados mensuráveis —, mais precisas ficam as candidaturas geradas depois.
Passo 4: Autenticar o Claude Code
O Claude Code se autentica via login com sua conta Anthropic (claude login, na primeira execução) ou via variável de ambiente, se você usa faturamento por API:
export ANTHROPIC_API_KEY=sua_chave_aqui
Dica de segurança: se optar por guardar a chave em um arquivo local (por exemplo, em um .env carregado pelo seu shell), garanta que esse arquivo esteja no .gitignore para não vazar credenciais para o repositório público do seu fork.
Executando o Fluxo de Trabalho com o Claude Code
Com o ambiente pronto, inicialize o Claude Code dentro da pasta do projeto para que ele ganhe o contexto do repositório:
claude
1. Inicialização do perfil (/setup)
/setup
O Claude oferece dois caminhos: ler os arquivos da pasta documents/ (ou um currículo colado/mencionado com @) e extrair as informações automaticamente, ou conduzir uma entrevista estruturada, seção por seção. Os dois caminhos produzem o mesmo resultado — um perfil unificado que serve de base para todas as análises e candidaturas seguintes. É possível re-executar apenas partes específicas depois, como /setup --section search para ajustar suas preferências de busca.
2. Busca de vagas (/scrape)
/scrape
Este comando roda as CLIs de busca contra os portais configurados, deduplica os resultados e apresenta as vagas já ordenadas por fit score em relação ao seu perfil — poupando o trabalho de ler dezenas de descrições que não batem com suas habilidades. A partir da lista, você escolhe uma vaga para seguir direto para o /apply.
3. Customização de currículo e carta de apresentação (/apply)
/apply https://exemplo.com/vaga/1234
Ou, se a URL não puder ser acessada automaticamente (alguns portais bloqueiam scraping), cole o texto da vaga diretamente:
/apply [cole aqui a descrição completa da vaga]
O /apply roda um fluxo de “drafter + reviewer”: avalia o fit contra seu perfil, redige o currículo e a carta em LaTeX, dispara um segundo agente (com contexto limpo) para pesquisar a empresa e criticar os rascunhos, revisa com base nesse feedback e só então compila os PDFs — o currículo com lualatex, a carta com xelatex. O próprio Claude lê o PDF renderizado e ajusta o LaTeX até o currículo fechar em exatamente 2 páginas sem títulos órfãos, e a carta em 1 página com a assinatura visível.
Todas as afirmações no currículo e na carta são verificadas contra o seu perfil real — o sistema não deveria inventar habilidades ou experiências que você não forneceu.
Melhores Práticas de Segurança e Controle de Custos
- Defina limites de gastos (hard limits): como o Claude Code processa múltiplos arquivos grandes por candidatura, configure um teto de gastos mensal no Anthropic Console (ex.: US$ 15) para evitar surpresas na fatura, caso esteja usando faturamento por API em vez de uma assinatura Pro/Team.
- Revise sempre o LaTeX final: antes de enviar o PDF para a empresa, abra o .tex ou o PDF gerado e confira se a IA não distorceu escopos de projetos anteriores tentando “forçar” um encaixe perfeito com a vaga.
- Sandbox se necessário: para isolar totalmente o projeto do seu sistema de arquivos principal, rode esse passo a passo dentro de um container Docker com suporte a Bun, Python e aos compiladores LaTeX (lualatex/xelatex).
Fonte
Repositório oficial: github.com/MadsLorentzen/ai-job-search