Seu primeiro scan¶
De um pipeline vazio a uma candidatura pronta para colar, numa conversa só com o Claude. Isto supõe que você terminou a Instalação: config.yaml gravado, profile.yaml e company_list.yaml preenchidos e o servidor MCP registrado.
Como escanear as empresas que você acompanha¶
- Liste as empresas. No
company_list.yaml, coloque cada empresa sob o seu ATS (greenhouse,lever,ashby,workable,recruitee,smartrecruiters,inhire) e numa fase (phase1,phase2,phase3); uma lista simples, sem fases, é escaneada em todas as fases. O slug é o identificador da empresa na URL do portal de vagas dela: parahttps://boards.greenhouse.io/acme, éacme. - Teste uma empresa primeiro. Pergunte ao Claude "o que tem aberto na acme no Greenhouse?". Isso roda o
scan_company, que escaneia um portal sem mexer na sua lista — um slug errado aparece aqui, e não no meio de um scan completo. - Escaneie a sua lista. Peça "escaneia minhas empresas". Isso roda o
scan_and_evaluate, que busca todas as vagas das empresas emphase1e dá nota às novas. Peça a faseall(ouphase2,phase3) para cobrir mais. - Escaneie sem gastar chamadas de LLM (opcional). Num shell,
moonlighter-scan --no-evaldescobre e grava as vagas sem nota, comoneeds_review; dê nota a uma delas depois comverify_job. Veja Linha de comando.
Você: escaneia minhas empresas
moonlighter: 3 fontes escaneadas — 41 vagas, 38 já conhecidas, 3 novas
✓ NOVA — Acme Robotics / Senior Backend Engineer
Nota: 8.1/10 (limiar: 6.5)
✓ NOVA — Nimbus Health / Staff Engineer
Nota: 7.4/10
✗ Vandelay Industries / .NET Architect — 3.2/10, arquivada (filtro duro: .NET)
A conversa é ilustrativa: o Claude repassa a saída da ferramenta com as próprias palavras. A ferramenta em si reporta quantas vagas processou, quantas passaram do limiar (com uma tabela delas) e quantas foram filtradas pelo título, arquivadas pela localização ou ficaram abaixo do limiar.
Como ler as notas¶
- Cada nota vai de 0 a 10, dada pelo LLM ao comparar a vaga com o seu
profile.yaml, incluindo os filtros duros e flexíveis emcriteria. - Abaixo do limiar, a vaga é arquivada automaticamente. O limiar é o
score_thresholddoconfig.yaml, 6.5 por padrão. Uma vaga que quebra um dos seus filtros duros (".NET" acima) recebe nota baixa e é arquivada com o motivo. - Algumas vagas são arquivadas antes de qualquer chamada de LLM. Um título que casa com o
title_blocklistdoconfig.yamlé gravado comoarchivedcom uma observação, sem receber nota. O mesmo vale para uma vaga presencial ou híbrida fora da cidade que você definir emcriteria.home_citynoprofile.yaml; sem essa chave, nada é arquivado por localização. Uma vaga remota, ou uma cuja localização não resolve a questão, segue para receber nota. - Uma descrição vazia não pode receber nota. Essas vagas esperam como
needs_review: peça olist_jobscom statusneeds_review, abra a vaga, copie a página inteira e passe o texto aoverify_jobpara dar a nota. - Veja o que passou com o
list_jobs(statusnewpor padrão) e abra uma vaga com oget_jobpara ver os detalhes completos e o histórico.
Como preparar sua primeira candidatura¶
- Peça a folha. "Prepara a candidatura da Acme" roda o
prepare_application. Quando a API do ATS publica as perguntas do formulário (Greenhouse, Recruitee), o moonlighter as lê de lá. - Sem API? Cole a página. Quando as perguntas não são publicadas, ele pede que você abra a página da candidatura, selecione tudo, copie e entregue o texto — isso roda o
prepare_application_from_paste. - Revise a folha inteira. Toda pergunta recebe uma resposta rascunhada a partir do seu perfil, ou uma marcação dizendo por que precisa de você. O trecho abaixo está no formato real da ferramenta, com os rótulos em inglês, como ela os imprime; o modelo é instruído a responder UNKNOWN quando o seu perfil não lhe dá base, e isso volta como uma lacuna:
[5/9] How many years have you run Elixir in production? (required)
!! I DON'T KNOW — no basis in your profile to answer
1 of 9 need you
Responda você mesmo as marcadas, e leia também as rascunhadas — o modelo ainda pode errar uma resposta.
4. Cole e envie você mesmo. Copie as respostas para o formulário do empregador e envie por lá. O moonlighter nunca abre o formulário e nunca clica em enviar.
5. Registre que você enviou. Diga ao Claude "marca a vaga 42 como submitted" — isso roda o update_status. Com o acompanhamento pelo Gmail ligado, o campo de e-mail da folha já leva um alias de rastreio, e a resposta do recrutador encontra esta candidatura sozinha.