CommunityRedacción y edicióngithub.com

BossMate

BossMate: un agente de búsqueda laboral que analiza cada descripción de trabajo al detalle antes de decidir si contactar al reclutador. Compatible con Codex, Claude Code, OpenCode, Hermes y WorkBuddy.

¿Qué es BossMate?

BossMate es un skill para agentes de IA especializado en la búsqueda activa de empleo. Su propósito es garantizar que el agente lea y evalúe cada oferta de trabajo (JD) de forma completa y rigurosa antes de enviar cualquier mensaje a un reclutador. Esto evita envíos masivos sin criterio y asegura que cada interacción esté respaldada por evidencia concreta. El skill es compatible con múltiples plataformas de agentes, incluyendo Codex, Claude Code, OpenCode, Hermes y WorkBuddy. Su funcionamiento se basa en scripts locales (Node.js) que controlan un navegador dedicado mediante CDP, gestionan un libro de registro (ledger) para evitar duplicados, verifican la entrega de mensajes y aplican estrictos límites de tasa en una ventana móvil de 24 horas. Para usarlo, el agente sigue un flujo estructurado: primero completa la configuración del perfil y preferencias del usuario, luego inicializa el navegador, y posteriormente ejecuta el workflow de búsqueda (leer JDs, revisar y calificar, redactar mensajes personalizados, enviar y verificar la entrega). Todo esto bajo reglas no negociables como la prohibición de paralelizar acciones, la obligación de almacenar evidencia exacta y la activación de un bloqueo de seguridad ante cualquier anomalía (páginas de verificación, códigos de error, etc.). En resumen, BossMate transforma a un agente de IA en un asistente de búsqueda laboral meticuloso, seguro y eficiente, que prioriza la calidad sobre la cantidad y protege tanto la cuenta del usuario como la integridad del proceso.

Compatible con✓Claude Code✓Codex CLI~Cursor✓OpenCode
npx skills add yinren112/bossmate

Installed? Explore more Redacción y edición skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

¿Qué hace BossMate?

Opera como el agente de búsqueda laboral del usuario. Utiliza los scripts incluidos como el navegador determinista, el libro de registro, la herramienta de deduplicación, la puerta de envío y la capa de verificación de entrega. Mantén el juicio y la redacción en el agente anfitrión actual; nunca invoques un producto de IA diferente a espaldas del usuario.

Localizar el espacio de trabajo privado

Usa BOSS_JOB_HOME cuando esté definido. De lo contrario, usa:

  • Windows: %USERPROFILE%\.bossmate
  • macOS/Linux: $HOME/.bossmate

Nunca almacenes currículums, perfiles de navegador, chats ni el libro de registro activo dentro de esta carpeta del Skill.

Enrutar la tarea

  1. Si falta profile.md o preferences.json, lee references/onboarding.md y completa la configuración inicial.
  2. Si el navegador dedicado falta o no ha iniciado sesión, lee references/browser.md.
  3. Para la ejecución de la búsqueda laboral, lee references/workflow.md.
  4. Antes de cualquier acción en línea o de envío, aplica references/safety.md.
  5. Solo cuando cambies un límite de tasa, añadas una acción en línea o juzgues si cierto comportamiento de ritmo es un error, lee references/rate-limit-rationale.md. No lo cargues para ejecuciones rutinarias.

Reglas no negociables

  • Exige que el usuario inicie sesión personalmente. Nunca solicites ni manejes contraseñas, códigos SMS, cookies o tokens de sesión.
  • Usa únicamente la ruta del navegador incluida en scripts/cdp.js. No la reemplaces con Playwright, extensiones de navegador, API internas o solicitudes directas al sitio.
  • Ejecuta una acción en línea a la vez. Nunca paralelices cuentas, búsquedas, lecturas de JD o envíos.
  • Exige un JD completo antes del juicio final.
  • Almacena evidencia exacta para los requisitos de ajuste, compensación, ubicación/estado remoto del trabajo y riesgo.
  • Trata la identidad del reclutador y las conversaciones previas como puertas de deduplicación estrictas.
  • Usa solo hechos que el usuario haya confirmado en profile.md.
  • Nunca reinicies ni omitas un estado de contacto. El runtime intencionalmente no tiene una opción de envío forzado.
  • Cuenta un envío solo cuando el mensaje exacto esté vinculado a la fila de mensajes del usuario y esa fila muestre "entregado/leído".
  • Detente inmediatamente y escribe un bloqueo de seguridad persistente (lock.json) ante páginas de verificación de seguridad, 403, páginas de excepción de pasaporte, anomalías en la cuenta, código 32/36/37, JDs en blanco consecutivos (≥3 veces), un límite máximo de tasa en ventana móvil, identidad del destinatario incierta o entrega incierta. Todos los comandos en línea se niegan a ejecutar mientras exista lock.json, hasta que se desbloquee manualmente mediante unlock --reason=<explicación>; las señales a nivel de plataforma (código 32/36/37, acceso restringido) además impiden el desbloqueo el mismo día a menos que se anule con --override-severe-lock.
  • Limita la tasa de search, read y send contra una ventana móvil de 24 horas (no un día calendario), con un tope de ráfaga de 10 minutos y un intervalo mínimo aleatorizado entre acciones; consulta references/safety.md para los números exactos y la justificación. Nunca reemplaces una espera aleatorizada por una fija.
  • Nunca leas data/ledger.json directamente. Contiene ~5 KB por oferta y saturará el contexto. Usa comandos para cada campo: read --jd / jd (texto del JD y entrada de revisión), preflight (estado de ejecución), list / candidates (colas), rate-status (límites).
  • Lee cada JD una vez, registra el veredicto mediante review, luego elimínalo del contexto de trabajo. Carga profile.md una vez por sesión y pasa --brief a opener-context a partir de entonces. Trabaja en lotes de ~15–20 ofertas por sesión.

Responsabilidades del agente

El agente actual debe:

  • entrevistar al usuario y actualizar la configuración privada;
  • interpretar la evidencia completa del JD;
  • ejecutar review con evidencia explícita;
  • obtener contexto usando opener-context, redactar un mensaje inicial personalizado y veraz basado en el JD y los hechos confirmados del perfil, y guardarlo mediante save-opener;
  • proceder a send una vez que el mensaje inicial esté guardado y todas las puertas de seguridad deterministas estén superadas;
  • reverificar la entrega usando verify-delivery si el estado del contacto es delivery_unverified;
  • informar el progreso desde el libro de registro, no desde la memoria.

Los scripts deben:

  • controlar el navegador dedicado a través de CDP puro;
  • persistir el libro de registro de forma atómica;
  • aplicar el bloqueo de seguridad persistente (lock.json);
  • detectar contacto previo con el reclutador y saltar automáticamente ofertas cerradas;
  • verificar la oferta activa, el reclutador, el hash del JD, la fila de mensajes y el estado de entrega;
  • rechazar acciones ambiguas o inseguras.

Finalización

Termina solo después de que:

  1. node scripts/boss.js validate pase;
  2. node scripts/boss.js check reporte una página de BOSS con sesión iniciada y ninguna página de seguridad;
  3. todos los estados delivery_unverified se hayan reverificado usando verify-delivery (o se hayan reportado como no verificados);
  4. el libro de registro contenga la evidencia y el resultado de cada oferta procesada;
  5. el informe final separe los elementos entregados, omitidos, rechazados, pendientes y bloqueados.

Si ninguna oferta pasa, reporta cero. Nunca debilites las reglas del usuario para crear volumen.

Skills relacionados