Monitoramento de Sites de Vagas e Preenchimento de Currículo
Entrada e Modos
- Primeiro, determine se a solicitação do usuário se enquadra em um dos dois modos independentes a seguir; o preenchimento não depende da configuração do monitoramento.
- Modo de Monitoramento: Leia o Fluxo de Monitoramento, as Regras de Correspondência de Vagas e a Estrutura de Dados; ao envolver envios externos, leia também os Limites de Privacidade e Confirmação.
- Modo de Preenchimento: Leia o Fluxo de Preenchimento de Currículo, a Estrutura de Dados e os Limites de Privacidade e Confirmação; ao interagir com ATS, leia também a Especificação de Adaptação ATS.
- Se o usuário solicitar explicitamente a criação de arquivos, monitoramento ou preenchimento e o projeto não tiver o diretório
.jobhunt/, ele pode ser inicializado com uma estrutura vazia; não inicialize apenas por perguntar sobre capacidades. - Antes de qualquer inicialização, criação de arquivos individuais ou leitura/escrita de arquivos, leia primeiro a Estrutura de Dados.
- Primeiro, extraia fatos do currículo existente do usuário e escreva em um arquivo estruturado, registrando a fonte de cada campo; cite apenas o currículo existente, não gere, refine, reescreva ou invente currículo/experiência.
- Em caso de conflito de fontes, campos obrigatórios desconhecidos ou respostas inadequadas, faça apenas uma pergunta-chave com maior impacto por vez; as respostas devem registrar fonte, data, status de confirmação e escopo de aplicação.
- Regras de correspondência para área de formação, localização, habilidades, tempo etc. devem ser confirmadas pelo usuário. Quando não configuradas, apenas faça sugestões, não inicie monitoramento; desconhecido não é considerado como não correspondente.
Limites do Monitoramento
- Acesse apenas domínios e caminhos exatos adicionados manualmente pelo usuário com
enabled=trueeconfirmed=true; após cada navegação ou redirecionamento, revalide o escopo e pare se exceder, relatando o ocorrido. - O monitoramento pode ser executado de forma independente. Extraia novas vagas dentro da janela de publicação confirmada, preservando fonte original, identificador da vaga, requisitos, data e evidências; datas ausentes ou ambíguas devem ser marcadas para verificação, não invente dados.
- A deduplicação e a gravação seguem a prioridade de identidade e a regra de patch mínimo dos documentos de referência, chamando
upsert_job.pyem série; links externos ao site são registrados como pendentes, sem expandir o escopo por aparecimento de links. - Cada varredura deve relatar o escopo real coberto, novos/itens correspondentes/excluídos e motivos, mudanças no pool de empresas, falhas e itens pendentes de ação do usuário; não relate "nenhum novo item no geral" quando a cobertura estiver incompleta.
- Use apenas ferramentas de automação Codex disponíveis no momento quando o usuário solicitar explicitamente o agendamento; não crie serviços persistentes ou cron. Sem mudanças, siga o fluxo de referência em silêncio.
Durante a execução do monitoramento, mantenha uma ordem de escritor único: primeiro verifique o escopo, depois extraia, valide datas, deduplique, corresponda e finalmente escreva e relate. Se houver evidências insuficientes em qualquer etapa, preserve o que foi feito e marque o escopo incompleto. A saída de correspondência de vagas deve distinguir entre "confirmado como correspondente", "confirmado como não correspondente" e "desconhecido/necessita verificação", preservando os requisitos originais da vaga, as fontes dos fatos do usuário e os motivos de exclusão; quando não houver regras de pontuação confirmadas pelo usuário, forneça apenas explicações qualitativas. O pool de empresas pode ser adicionado manualmente pelo usuário ou descoberto por vagas correspondentes, mas adicionar ao pool de empresas não significa adicionar ao pool de monitoramento; os sites oficiais da empresa, locatários ATS e links externos devem ser verificados separadamente.
Limites de Preenchimento, Salvamento e Envio
- Primeiro, verifique a empresa-alvo, a propriedade do site oficial e o locatário ATS; use o navegador/ferramenta especificado pelo usuário que esteja realmente disponível no momento, sem presumir a existência da ferramenta. A análise de PDF/documentos só pode usar o Skill correspondente disponível no momento.
- O usuário deve realizar login, captcha e outras autenticações pessoalmente; não salve senhas, cookies, OTPs, tokens, informações financeiras ou outros materiais de autenticação, nem burle a autenticação ou force a manipulação de páginas controladas.
- Antes de preencher, leia apenas os arquivos necessários para esta tarefa, as respostas aplicáveis e a versão do currículo especificada pelo usuário. Antes de enviar qualquer campo normal, campo de alta sensibilidade ou anexo pela primeira vez, exiba o destino específico atual, o conteúdo/envio resumido (com informações sensíveis ocultas), a fonte e a ação, e obtenha confirmação explícita.
- Após a confirmação explícita desta tarefa, pode-se sobrescrever o preenchimento, upload, salvamento automático de página e salvamento de currículo específico da empresa declarados nessa tarefa; mudanças de escopo exigem nova confirmação, a autorização não é permanente nem reutilizável entre empresas ou tarefas.
- Salvar o currículo na empresa é uma ação independente permitida, mas deve ter confirmação para esta tarefa; após salvar, leia de volta os campos da página, mensagens de sucesso ou outras evidências confiáveis. Sem evidências, marque apenas como não verificado, não finja sucesso.
- Nunca clique em "candidatar-se", "enviar" ou "submeter" para vagas; botões que combinam "salvar e enviar" também não devem ser clicados, sempre deixe o usuário agir pessoalmente. Preenchimento/upload/salvamento bem-sucedido não equivale a envio bem-sucedido.
- Em caso de falha em controles, login ou campos, use apenas métodos limitados e confiáveis; pare no ponto de falha e relate os campos ausentes, obstáculos e progresso preservado, sem reescrever repetidamente ou apagar rascunhos.
O relatório de preenchimento deve distinguir entre itens preenchidos, enviados, salvos com evidência, não verificados e com falha; o status após salvamento pode ser registrado como "pendente de envio pelo usuário", mas não como submitted, a menos que o usuário forneça evidência confiável após ação pessoal.
Se a página salvar automaticamente ou o significado do botão for ambíguo, pare e explique o risco específico; não substitua a confirmação para esta tarefa por autorização histórica, mesmo que o nome da empresa seja o mesmo ou por experiência de "geralmente é assim".
Roteamento de Interação ATS
- A interação ATS também deve ler a Especificação de Adaptação ATS e a documentação da ferramenta/skill de navegador realmente disponível no ambiente atual; sistemas não testados devem apenas registrar experiência histórica, sem declarar compatibilidade.
- Localize controles por rótulo visível, semântica e contêiner; após entrada, leia de volta o resultado. Se a propriedade do controle for incerta, opções de data não corresponderem ou valores forem limpos, passe para o usuário.
Dados e Privacidade
- Armazene estado pessoal apenas no diretório
.jobhunt/do projeto atual; o Skill global não armazena valores pessoais. Um banco de respostas comuns local pode armazenar respostas não sensíveis, confirmadas e com fonte. Minimize logs e relatórios, nunca armazene texto sensível original; informações sensíveis/altamente sensíveis devem ficar apenas em arquivos privados do projeto, lidas conforme necessário, sem exibir documentos completos em diálogos ou logs. - Não trate requisitos de vaga como fatos do usuário; o índice de currículos deve apenas referenciar arquivos existentes, não copiá-los para pacotes genéricos.
.gitignorenão equivale a criptografia ou controle de acesso. - Antes de compartilhar, verifique apenas os Skills explicitamente permitidos,
agents/openai.yaml, seis referências, modelos vazios e quatro scripts de biblioteca padrão, execute uma varredura de privacidade e depois faça revisão manual; não empacote arquivos pessoais, currículos, testes, cache ou relatórios de projeto. - O pacote compartilhado deve conter apenas fluxos e estruturas vazias, sem nomes reais, informações de contato, endereços, documentos, contas, conteúdo de currículos, capturas de tela, caminhos pessoais ou dados históricos de preenchimento; se encontrados, remova ou verifique primeiro.
Quando a intenção do usuário não estiver clara, faça apenas uma pergunta-chave que possa mudar o modo, escopo de acesso ou autorização; detalhes de nomenclatura, formato e diretório de baixo impacto devem ser decididos conforme o estado atual do projeto. Qualquer declaração de conclusão deve ser baseada em evidências verificáveis, como páginas, arquivos ou saídas de scripts.
Scripts Padrão (Python 3.10+)
A linha de comando deve passar apenas informações públicas da vaga, não dados pessoais; <diretoria_skill> refere-se ao diretório real do Skill carregado, não codifique caminhos do usuário.
python -X utf8 "<diretoria_skill>/scripts/init_workspace.py" "<raiz_do_projeto>"
python -X utf8 "<diretoria_skill>/scripts/validate_workspace.py" "<raiz_do_projeto>/.jobhunt"
python -X utf8 "<diretoria_skill>/scripts/upsert_job.py" "<raiz_do_projeto>/.jobhunt/jobs.jsonl" "<JSON_da_vaga>"
python -X utf8 "<diretoria_skill>/scripts/privacy_scan.py" "<diretoria_a_compartilhar>"
Os scripts fornecem apenas garantias mecânicas de estrutura e deduplicação, não substituem julgamento de fonte, autorização, escopo e privacidade. Este Skill não garante compatibilidade com nenhum ATS real e não executa serviços de monitoramento persistentes. Todas as gravações externas são baseadas no escopo atual claramente definido pelo usuário; não derive autorizações de longo prazo de uma única tarefa. Verifique alvo, escopo, ação e evidências antes e depois de cada execução, evitando registrar sugestões ou rascunhos como concluídos.