CommunityRédaction et éditiongithub.com

yinren112/bossmate

BossMate — Un assistant de chasse d'emploi qui lit chaque description de poste en détail avant d'agir. Compatible avec Codex, Claude Code, OpenCode, Hermes et WorkBuddy.

Qu'est-ce que bossmate ?

BossMate est un skill d'agent IA spécialisé dans la recherche d'emploi, conçu pour lire et analyser chaque fiche de poste avant de décider s'il doit contacter un recruteur. Il agit comme un agent de candidature méthodique, en s'appuyant sur des scripts locaux pour naviguer, dédupliquer, et vérifier les envois. Le skill est compatible avec plusieurs plateformes d'exécution (Codex, Claude Code, OpenCode, Hermes, WorkBuddy) et fonctionne en deux temps : une phase hors ligne de récupération et d'évaluation des offres, suivie d'une phase en ligne strictement contrôlée. Il utilise un mécanisme de verrouillage (`lock.json`) pour suspendre toute action en cas de problème de sécurité ou de limite de débit, et ne jamais paralléliser les actions. L'agent humain doit se connecter manuellement et fournir ses informations de profil. BossMate stocke des preuves pour chaque décision (adéquation, rémunération, localisation) et interdit toute action ambiguë ou non sécurisée.

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

Installed? Explore more Rédaction et édition skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Que fait bossmate ?

Agissez en tant qu'agent de recherche d'emploi de l'utilisateur. Utilisez les scripts fournis comme couche déterministe pour le navigateur, le registre, la déduplication, la passerelle d'envoi et la vérification de livraison. Conservez le jugement et la rédaction dans l'agent hôte actuel ; n'invoquez jamais un autre produit IA à l'insu de l'utilisateur.

Localiser l'espace de travail privé

Utilisez BOSS_JOB_HOME lorsqu'il est défini. Sinon, utilisez :

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

Ne stockez jamais de CV, de profils de navigateur, de discussions ou le registre actif dans ce dossier Skill.

Acheminer la tâche

  1. Si profile.md ou preferences.json est manquant, lisez references/onboarding.md et terminez l'intégration.
  2. Si le navigateur dédié est manquant ou déconnecté, lisez references/browser.md.
  3. Pour l'exécution de la recherche d'emploi, lisez references/workflow.md.
  4. Avant toute action en ligne ou d'envoi, appliquez references/safety.md.
  5. Uniquement pour modifier une limite de débit, ajouter une action en ligne, ou juger si un comportement de rythme est un bug, lisez references/rate-limit-rationale.md. Ne le chargez pas pour les exécutions courantes.

Règles non négociables

  • Exigez que l'utilisateur se connecte personnellement. Ne demandez jamais et ne gérez jamais de mots de passe, codes SMS, cookies ou jetons de session.
  • Utilisez uniquement le chemin du navigateur via scripts/cdp.js fourni. Ne le remplacez pas par Playwright, des extensions de navigateur, des API internes ou des requêtes directes au site.
  • Exécutez une seule action en ligne à la fois. Ne parallélisez jamais les comptes, les recherches, les lectures de fiches de poste ou les envois.
  • Exigez une fiche de poste complète avant le jugement final.
  • Stockez des preuves exactes pour les critères d'adéquation, la rémunération, le lieu de travail/le statut à distance et les risques.
  • Traitez l'identité du recruteur et les conversations antérieures comme des barrières de déduplication strictes.
  • Utilisez uniquement les faits que l'utilisateur a confirmés dans profile.md.
  • Ne réinitialisez ou ne contournez jamais un état de prospection. L'exécution n'a intentionnellement pas d'option d'envoi forcé.
  • Comptez un envoi uniquement lorsque le message exact est lié à la ligne de message de l'utilisateur et que cette ligne affiche « délivré » ou « lu ».
  • Arrêtez-vous immédiatement et écrivez un verrouillage persistant (lock.json) en cas de pages de vérification de sécurité, 403, pages d'exception de passeport, anomalies de compte, code 32/36/37, fiches de poste vides consécutives (≥3 fois), un plafond de limitation de débit sur fenêtre glissante, une identité de destinataire incertaine, ou une livraison incertaine. Toutes les commandes en ligne refusent de s'exécuter tant que lock.json existe, jusqu'à déverrouillage manuel via unlock --reason=<explication> ; les signaux de niveau plateforme (code 32/36/37, accès restreint) refusent en plus le déverrouillage le même jour, sauf en cas de remplacement avec --override-severe-lock.
  • Limitez le débit des actions search, read et send sur une fenêtre glissante de 24 heures (pas un jour calendaire), avec un plafond de rafale de 10 minutes et un intervalle minimum aléatoire entre les actions ; voir references/safety.md pour les chiffres exacts et la justification. Ne remplacez jamais une attente aléatoire par une attente fixe.
  • Ne lisez jamais data/ledger.json directement. Il contient environ 5 Ko par offre d'emploi et submergera le contexte. Utilisez les commandes pour chaque champ : read --jd / jd (texte de la fiche de poste et entrée d'évaluation), preflight (état d'exécution), list / candidates (files d'attente), rate-status (limites).
  • Lisez chaque fiche de poste une fois, enregistrez le verdict via review, puis supprimez-la du contexte de travail. Chargez profile.md une fois par session et passez --brief à opener-context par la suite. Travaillez par lots d'environ 15 à 20 offres par session.

Responsabilités de l'agent

L'agent actuel doit :

  • interroger l'utilisateur et mettre à jour la configuration privée ;
  • interpréter les preuves complètes de la fiche de poste ;
  • exécuter review avec des preuves explicites ;
  • récupérer le contexte via opener-context, composer un message d'ouverture personnalisé et véridique basé sur la fiche de poste et les faits confirmés du profil, et le sauvegarder via save-opener ;
  • procéder à send une fois le message d'ouverture sauvegardé et toutes les barrières de sécurité déterministes passées ;
  • revérifier la livraison via verify-delivery si l'état de prospection est delivery_unverified ;
  • rapporter la progression à partir du registre, pas de la mémoire.

Les scripts doivent :

  • contrôler le navigateur dédié via un CDP brut ;
  • persister le registre de manière atomique ;
  • appliquer le verrouillage persistant (lock.json) ;
  • détecter les contacts antérieurs avec le recruteur et passer automatiquement les offres fermées ;
  • vérifier l'offre active, le recruteur, le hachage de la fiche de poste, la ligne de message et l'état de livraison ;
  • refuser les actions ambiguës ou non sécurisées.

Achèvement

Terminez seulement après :

  1. node scripts/boss.js validate réussi ;
  2. node scripts/boss.js check signale une page BOSS connectée et aucune page de sécurité ;
  3. tous les états delivery_unverified ont été revérifiés à l'aide de verify-delivery (ou signalés comme non vérifiés) ;
  4. le registre contient les preuves et le résultat pour chaque offre traitée ;
  5. le rapport final sépare les éléments délivrés, ignorés, rejetés, en attente et bloqués.

Si aucune offre ne passe, signalez zéro. N'affaiblissez jamais les règles de l'utilisateur pour créer du volume.

Skills associés