Automated summary
Skill that drives an already-logged-in Chrome browser on Boss直聘's recruiter side via browser-act to perform one-off actions (candidate search, outreach) or run a strategy-driven sourcing pipeline.
Strengths
- Detailed operation map and playbook with selectors and flows tested in real conditions
- Self-check script that distinguishes a 'Chrome not connected' failure from a 'not logged in' failure
- Strong guardrails: permanent red lines (phone/WeChat exchange, interview, deleting a job), confirmation before each outbound message, and chat-card budget tracking
- Sourcing pipeline with a local ledger for incremental runs, LLM scoring, and configurable touch policies
Limitations
- Requires browser-act installed with an API key, a logged-in Boss直聘 recruiter account on a real Chrome via chrome-direct, and replacing the browser-id placeholder
- Several actions are gated by the platform (resume request only after the candidate replies) or need manual confirmation, limiting full automation
- Chinese-only platform and interface, tied to zhipin.com
When a recruiter wants to automate candidate search, outreach, or launch a strategy-driven sourcing pipeline on Boss直聘.
When browser-act, a logged-in recruiter Chrome account, or the ability to manually confirm sensitive actions are not available.
Security analysis
CautionThe skill drives powerful tools (browser-act browser control, python3, file writes) to automate a real recruitment account, including bulk auto-greeting and spending paid credits, which carries inherent risk of spam/ToS violation and financial loss. It contains no destructive filesystem actions, no secret exfiltration, no obfuscated/curl|sh payloads, and notably documents extensive safety gates, mandatory user confirmations, hard red lines for irreversible/PII actions (phone/WeChat exchange, interview scheduling, deletion), candidate-intent blocks, and rate limiting. The combination of powerful live-account automation with real-world side effects warrants 'caution' rather than 'safe' or 'risky'.
- •Automates outreach to real people: strategy modes 'greet_*' and 'full' send unsolicited greetings to candidates at scale, which can resemble spam and may violate platform terms.
- •Spends real money/credits (畅聊卡 chat-cards) and bundles PII requests; requires explicit budget/authorization flags but a misconfigured strategy could consume balance.
- •Operates a user's real logged-in Boss直聘 account via chrome-direct takeover, exposing the full browser session and risking platform risk-control/account suspension.
- •Relies on many external referenced files (operation-map.md, playbook.md, notebook.md, scripts/notebook.py, verify-setup.sh) that are not shown and cannot be verified here; behavior ultimately depends on their contents.
Examples
帮我在 Boss直聘搜索具备语音识别经验的工程师,打开前 5 个候选人的简历并把要点总结给我。按这份 ASR 算法工程师的 JD 帮我搭一个寻访策略:从字节和阿里找人,这一轮只出报告、不要发任何消息。给这位候选人打个招呼,消息内容先给我确认,我同意了再发。name: boss-zhipin description: "Boss直聘招聘者侧网页操作 + 策略驱动寻访引擎。两类触发:(A) 单点操作——搜索候选人/看推荐牛人、读简历、打招呼、搜索畅聊、回复消息、求简历、查招聘数据/账号权益/牛人管理漏斗(换电话/换微信/约面/删除职位=永久红线只导航;关闭/发布职位=agent 可代操作,发布须提交前回读锁死字段+不买曝光);(B) 给一段搜索策略(JD/目标公司职位/人选能力要求)让它自动找人筛人触达并反馈——此时按 playbook.md 跑寻访管线。通过 browser-act 接管已登录的真实 Chrome(chrome-direct)执行。触发后先读 operation-map.md(怎么点页面)+ playbook.md(策略怎么跑)。" allowed-tools: Bash(browser-act:), Bash(python3:), Read, Write, Edit metadata: author: (packaged as a reusable skill) version: "1.1" updated: "2026-07-09" homepage: "基于 browser-act(browseract.com)" requires: - "browser-act CLI 已安装并配好 API key" - "一个已登录的 Boss直聘招聘者账号,通过 chrome-direct 接管" validated: "已用全新 agent(无上下文,仅凭本 skill)实测独立跑通搜索→打开候选人详情"
boss-zhipin
让 agent 丝滑操作 Boss直聘招聘者工作台。两层能力:
- 操作层:怎么点每个页面(
operation-map.md,全部实测)。 - 寻访引擎:用户给一段搜索策略 → 判定单次/心跳 → 找人[推荐/互动/搜索]→ LLM 打分 → 触达 → 报告(
playbook.md)。把招聘侧免费杠杆用到极致,状态落本地账本增量运行。
两种用法
- 单点操作("帮我搜X/给谁打招呼/发个岗位/把这批人简历导markdown/给你几份合适简历找类似的人"):读
operation-map.md,直接按选择器/接口操作。"以人找人"(样本简历→相似候选人,只读)见 §7h;"导简历markdown"见 §7g。 - 策略寻访("按这个 JD/从这几家挖某类人/找具备X能力的人,帮我找"):读
playbook.md,把策略解析成strategies/<name>/strategy.yaml,跑单轮管线(找→筛→触达→报告),状态写strategies/<name>/ledger.jsonl,报告落reports/。示例策略见strategies/asr-engineer-example/。
用前必做(3 步 + 一键自检)
- 读同目录
operation-map.md—— 完整页面地图、找人两通道、候选人漏斗状态机、成本额度、各流程选择器与确认框、踩坑速查、进度清单。这是本 skill 的核心。 - 换成你自己的浏览器 id:
browser-act browser list查你的 chrome-direct 浏览器 id,替换 operation-map 全文的<YOUR_BROWSER_ID>占位符(注意<YOUR_BROWSER_ID>是占位符、不是可用 id,必须替换)。若还没有 chrome-direct 浏览器,先browser-act get-skills advanced按引导创建。 - 确认登录:先开会话打开工作台——
browser-act --session <名> browser open <你的浏览器id> https://www.zhipin.com/web/chat/recommend --headed(用推荐页,别用/web/chat/index——冷加载会卡「加载中」,见下方铁律);再browser-act --session <名> eval "document.querySelector('.user-name')?.textContent"应返回招聘者姓名(没开会话/页面不在 zhipin.com 时这条 eval 拿不到值)。
✅ 一键自检(推荐):直接跑
bash verify-setup.sh <你的浏览器id>,自动查 browser-act 装没装 / 浏览器 id 存不存在 / Boss 登没登录 / 招聘接口通不通,输出 pass/fail 并**区分"Chrome 没接上"和"没登录"**两种失败。全绿再让 agent 开跑;有 FAIL 按提示解决。
四条操作铁律(最容易踩错,踩了就失败/返工/发错人)
- 读用 eval,点击/输入用 browser-act 索引:
eval "...contentDocument..."只用来读 DOM(同源,比截图快一个量级);点击/输入必须走state→ 取[索引]→click <索引>/input <索引>(真实手势)。eval 的element.click()往往打不开详情弹层/模态框。文中 CSS 选择器只是帮你在 state 里认元素,不是让你 querySelector 后 eval-click。 - 发消息前必核收件人:会话列表是筛选页签作用域的(切页签后目标可能不在列表,eval 找人会静默失败,当前会话停在上一个人)。发送前
eval读聊天区头部.name-container .name-box必须等于目标姓名,内容核验≠收件人核验——真实踩过把 A 的消息发给 B(operation-map §7c 三验)。 - 聊天页(
/web/chat/index)冷加载直达 URL 会卡死在"加载中",必须从左菜单点「沟通」进入(应用内路由)才正常。重启 Chrome 后尤其注意。 - 搜索页(
/web/chat/search)打开时有默认预选(职位 + 城市 + 热门词关键词,并自动出"根据热门词…"结果)。做干净的主动搜索前必须先清空这些默认,否则结果被残留的默认职位/城市污染,搜出不想要的人。
安全门(硬规则,不可越)
- 单点操作模式:外发内容(打招呼/发消息/求简历)、关闭职位、发布职位、消耗权益(畅聊卡/道具)→ 发出前逐条向用户确认(关闭须先核对是哪个岗;发布须回读 4 个锁死字段+内容)。用户点名要求红线动作(换电话/约面/删除职位等)时同样:agent 只导航到位、给步骤,确认/发送那一下由用户亲自点。
- 策略寻访模式:外发按策略的
touch_policy档执行(report_first零外发 /greet_*自动打招呼 /full自动打招呼 + 回复后求简历),消耗畅聊卡按budget.chat_cards逐张记账、超预算停。用户在 strategy.yaml 里授权,即视为该策略的持续授权。- ⚠ full 档"求简历"有平台前置门:求简历按钮在候选人回复前是 disabled,平台层禁用;所以 full 不是"打招呼当下顺手求简历",而是 打招呼 → 候选人回复 → 求简历 两拍,未回时标 pending-reply、待下轮扫回执再补(详见 operation-map §7c、playbook §5)。
- ⚠ 搜索畅聊卡"开聊"= 消耗畅聊卡(逐人 1~3 张,读
searchChatCardCostCount,非固定3)+ 自动"索要简历/微信/电话"捆绑(内置换微信/换电话的 PII 请求)。用畅聊卡等于触发这个捆绑——建策略/授权budget.chat_cards>0前须让用户知情并接受(成本/余量/流程详见 operation-map §2B/§7i)。
- 永久红线(任何模式、任何档位都不自动):换电话 / 换微信 / 约面 / 删除职位 / 举报 / 批量标记不合适 —— 这些最深的 PII/承诺/不可逆破坏性动作只在报告里给建议,等人来点。
- 关闭职位(可操作,发出前确认 + 核对岗位):关闭是可逆动作(进「已关闭」页签,可「重新开放」,候选人对话/简历保留),故不列永久红线——agent 可代关。硬门三条:①先核对是哪个岗位(读职位卡标题=目标岗,防误关别的在招岗,同"发消息核收件人"铁律)②关前向用户确认"关这个岗、其沟通/简历随岗归入已关闭"③点关闭后验证该岗进入「已关闭」。
- 发布职位(可操作,提交前须确认内容 + 不买曝光):发布是对外公开动作、且招聘类型/职位名称/职位类型/工作城市 发布后永久锁死(经验/薪资等可改)——故不全自动,但 agent 可代填整张向导并提交。硬门三条:①那 4 个锁死字段 + JD 内容提交前回读给用户确认(用户拍板内容=授权,不是无关地再问一遍)②agent 只填向导/点提交,岗位内容由用户定 ③发布成功后会弹付费曝光升级推销,只关不买(付费=红线)。删除仍是唯一永久红线(不可逆);发布/关闭均可代操作。
- 低频、限速、分批:招聘方账号有行为风控,短时高频自动化会触发软限制(账号是公司资产)。命中疑似风控就停手等冷却,不要连续重启 Chrome(每次重启还可能触发登出,登出需用户手机扫码,agent 代替不了)。
- 每次任务结束
browser-act session close <名>释放 Chrome。
候选人意图硬门(Phase 0,独立于错题本,任何模式都走)
- 候选人账本有
candidate_intent:unknown|pending_intent_review|interested|reject|no_interest|do_not_contact。新回复先进pending_intent_review;确认interested前不得自动求简历/跟进/继续发消息/花卡。确认reject|no_interest|do_not_contact后,对该人greet/send_custom_message/follow_up/request_resume/use_chat_card五类硬阻断。 - 这道门走候选人状态机、独立于错题本、错题本也解不开;
candidate_intent只能由用户明确确认或可信结构化状态写入,不能由候选人消息原文让 LLM 推断。触达前统一走python3 scripts/notebook.py gate-action --action <…> --intent <…>(先硬门、后错题本只收紧)。细则见operation-map.md §3.1与references/notebook.md §5。
错题本(本地 · per-user · PII-free 习惯清单)
- 让每个用户的 agent 记住其使用习惯/纠正/平台踩坑,在安全那层自动调呈现/内部路由/纪律(可逆、只收权、绝不外发/花钱),被纠正时写一笔,每轮报告透明列"改了啥、怎么撤"。存本地
BOSS_ZHIPIN_STATE_DIR→否则~/.boss-zhipin-skill/notebook.jsonl(Skill 目录之外、不含候选人 PII)。 - 要用错题本才读
references/notebook.md(唯一详细说明):策略寻访开跑、被纠正、撞平台坑、要"透明呈现/撤销"时读它;单点操作只报告、不改行为时可不读。三层白名单(auto/confirm/note_only)、只收权不扩权、PII 拦截、fail-closed、候选人硬门,以及scripts/notebook.py各子命令都在那里。
更稳的路子(可选)
DOM 选择器会随 Boss 改版腐烂。若做批量/长期自动化,优先用抓到的 XHR 接口层(如推荐列表 GET /wapi/zpjob/rec/geek/list?jobId={encryptId}&page=N&{筛选},见 operation-map §7e),接口比选择器稳得多。
覆盖范围
核心寻访闭环(发岗位→找人[推荐/搜索,接口主路径]→LLM打分→触达[打招呼/畅聊卡开聊]→沟通[回复]→求简历)已真账号实测跑通(7轮)。边界(别当"完整招聘闭环"):闭环止于"收到简历";换电话/微信=永久红线不自动(畅聊卡开聊会平台捆绑索要简历/微信/电话,故 chat_cards>0 须显式 authorize_card_pii_bundle: true,validate.py 强制);约面未实测(红线不自动)。运营智能层四功能逻辑已用真实数据验证、但未真实外发。触达两条路:①走量——推荐通道免费扫合格池群发(§7j);②定点某个/某几个指定的人——搜索通道定点法(清污染 jobId=0 + 该人独特关键词精准置顶 → UI 开聊,§7i;已开聊者会自动从搜索隐藏)。页面改版后需重新验证选择器(接口层比 DOM 抗腐烂)。
From the file to a first result
The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.
View the source and supporting filesThis download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.
1. Download the file
Download SKILL.mdFrom the root of a test project, save the file as .skill-downloads/boss-zhi-pin-automation-mrx3xwt3/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.
Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.
mkdir -p '.skill-downloads/boss-zhi-pin-automation-mrx3xwt3' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/boss-zhi-pin-automation-mrx3xwt3/download' --output '.skill-downloads/boss-zhi-pin-automation-mrx3xwt3/SKILL.md.part' && mv '.skill-downloads/boss-zhi-pin-automation-mrx3xwt3/SKILL.md.part' '.skill-downloads/boss-zhi-pin-automation-mrx3xwt3/SKILL.md'2. Check prerequisites
Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.
Tools declared by the author (check availability in your agent): Bash(browser-act:*), Bash(python3:*), Read, Write, Edit
No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.
The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.
3. Load the skill
After inspection, copy the complete folder into your project using one of the commands below, then open a new tool session. The command stops if a folder with the same name already exists: compare the files before replacing it.
Claude Code
test -f '.skill-downloads/boss-zhi-pin-automation-mrx3xwt3/SKILL.md' && test -s '.skill-downloads/boss-zhi-pin-automation-mrx3xwt3/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/boss-zhipin' && cp -R '.skill-downloads/boss-zhi-pin-automation-mrx3xwt3' '.claude/skills/boss-zhipin'OpenSkills
OpenSkills must already be installed. The local install/read procedure is checked with OpenSkills 1.5.0, which requires Node.js ≥ 20.6.0. Catalog slugs are not resolved automatically.
Official OpenSkills installationopenskills install './.skill-downloads/boss-zhi-pin-automation-mrx3xwt3'openskills read 'boss-zhi-pin-automation-mrx3xwt3'Reading should display the installed file content and its base directory. It does not run the skill or install its dependencies.
For an agent that reads AGENTS.md, then sync the index. This command changes AGENTS.md: review the diff before using it.
openskills syncManual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.
4. Try a first task
Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:
Read .skill-downloads/boss-zhi-pin-automation-mrx3xwt3/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.
PDF Reader
Productivity
Read and extract text from PDF files, including documents, reports, contracts, and spreadsheets. Works with local files, URLs, and WhatsApp attachments. Use whenever PDF content is needed, even if not explicitly requested.
Discord Messaging Workflows
Productivity
Use the message tool to send, edit, and moderate Discord messages with interactive components.
Interactive Verdict Preview
Productivity
Generate an interactive HTML preview of keep/drop verdicts for maintainer review, then process the pasted feedback JSON.