Community寫作與編輯github.com

yinren112/bossmate

BossMate — 讓 AI 認真讀完每個 JD,再決定要不要開口。支援 Codex、Claude Code、OpenCode、Hermes 和 WorkBuddy。

bossmate 是什麼?

BossMate 是一個專為求職代理設計的 AI 技能,能讓 AI 代理(如 Codex、Claude Code、OpenCode、Hermes 和 WorkBuddy)徹底分析每個工作職位描述(JD)後,才決定是否發送求職訊息。它的核心優勢在於嚴格的事實驗證、去重與安全閘道機制:要求完整的 JD 證據、確認招募者身份與過往對話歷史,並使用持久化斷路器鎖定(lock.json)來避免重複發送或風險操作。技能內建基於 CDP 的專用瀏覽器、原子化記錄的 ledger,以及 24 小時滾動窗口的速率限制,確保每次線上動作都安全、有序且可追溯。開發者可以透過指令(如 read、review、send、verify-delivery)與 ledger 互動,而無須直接讀取可能撐爆上下文的大量資料。

相容平台✓Claude Code✓Codex CLI~Cursor✓OpenCode
npx skills add yinren112/bossmate

Installed? Explore more 寫作與編輯 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

bossmate 是做什麼的?

以用戶的求職代理身份運作。使用捆綁的腳本作為確定性瀏覽器、分類帳、去重、發送閘道和傳送驗證層。將判斷和寫作保留在當前主機代理中;絕不可在用戶背後調用不同的 AI 產品。

定位私有工作區

當設定 BOSS_JOB_HOME 時使用它。否則使用:

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

切勿將履歷、瀏覽器設定檔、聊天記錄或即時分類帳儲存在此技能資料夾內。

路由任務

  1. 如果缺少 profile.md 或 preferences.json,請閱讀 references/onboarding.md 並完成入門設定。
  2. 如果專用瀏覽器缺失或已登出,請閱讀 references/browser.md。
  3. 對於求職執行,請閱讀 references/workflow.md。
  4. 在任何線上或發送動作之前,請套用 references/safety.md。
  5. 僅在變更速率限制、新增線上動作或判斷某種節流行為是否為錯誤時,才閱讀 references/rate-limit-rationale.md。常規執行時不要載入它。

不可協商的規則

  • 要求用戶親自登入。絕不要求或處理密碼、簡訊驗證碼、Cookie 或會話令牌。
  • 僅使用捆綁的 scripts/cdp.js 瀏覽器路徑。不要將其替換為 Playwright、瀏覽器擴充功能、內部 API 或直接網站請求。
  • 一次只執行一個線上動作。絕不並行化帳戶、搜尋、JD 閱讀或發送。
  • 在最終判斷前需要完整的 JD。
  • 儲存符合要求、薪酬、工作地點/遠端狀態和風險的明確證據。
  • 將招募者身份和先前的對話視為嚴格去重閘道。
  • 僅使用用戶在 profile.md 中確認的事實。
  • 絕不重設或繞過聯絡狀態。執行環境故意沒有強制發送選項。
  • 僅當確切訊息繫結到用戶的訊息行且該行顯示已送達/已讀時,才計為一次發送。
  • 在安全性驗證頁面、403、護照異常頁面、帳戶異常、代碼 32/36/37、連續空白 JD(≥3 次)、滾動窗口速率限制硬上限、不確定的收件者身份或不確定的送達時立即停止並寫入持久化斷路器鎖定(lock.json)。所有線上指令在 lock.json 存在時拒絕執行,直到透過 unlock --reason=<解釋> 手動解鎖;平台級別訊號(代碼 32/36/37、存取受限)額外拒絕在當天解鎖,除非使用 --override-severe-lock 覆蓋。
  • 針對 24 小時滾動窗口(非日曆日)限制 search、read 和 send 的速率,具有 10 分鐘的爆發上限和動作之間隨機化的最小間隔;請參閱 references/safety.md 了解確切數字和理由。切勿用固定等待時間取代隨機化等待。
  • 切勿直接讀取 data/ledger.json。 它每個職位約佔 5 KB,會淹沒上下文。使用指令存取每個欄位:read --jd / jd(JD 文字和審閱輸入)、preflight(執行狀態)、list / candidates(佇列)、rate-status(限制)。
  • 每個 JD 僅讀取一次,透過 review 記錄裁決,然後將其從工作上下文中移除。每個會話載入一次 profile.md,之後使用 --brief 參數傳遞給 opener-context。每批次處理約 15–20 個職位。

代理職責

當前代理必須:

  • 訪談用戶並更新私有設定;
  • 解釋完整的 JD 證據;
  • 使用明確證據執行 review;
  • 使用 opener-context 擷取上下文,根據 JD 和已確認的設定檔事實撰寫自訂且真實的開場白,並透過 save-opener 儲存;
  • 在開場白儲存且所有確定性安全閘道通過後,繼續執行 send;
  • 如果聯絡狀態為 delivery_unverified,則使用 verify-delivery 重新驗證送達;
  • 從分類帳(而非記憶體)報告進度。

腳本必須:

  • 透過裸 CDP 控制專用瀏覽器;
  • 原子化地持久化分類帳;
  • 強制執行持久化斷路器鎖定(lock.json);
  • 檢測先前的招募者聯絡並自動跳過已關閉的職位;
  • 驗證即時職位、招募者、JD 雜湊、訊息行和送達狀態;
  • 拒絕不明確或不安全的動作。

完成

僅在以下條件滿足後才算完成:

  1. node scripts/boss.js validate 通過;
  2. node scripts/boss.js check 報告已登入的 BOSS 頁面且無安全性頁面;
  3. 所有 delivery_unverified 狀態已使用 verify-delivery 重新驗證(或回報為未驗證);
  4. 分類帳包含每個已處理職位的證據和結果;
  5. 最終報告區分已送達、已跳過、已拒絕、待處理和已封鎖的項目。

如果沒有職位通過,則回報零。切勿為了增加數量而削弱用戶的規則。

相關技能