Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add 1xiaoyueryuer/boss-hr-agent-toolkit --skill boss-job-detailgit clone --depth 1 https://github.com/1xiaoyueryuer/boss-hr-agent-toolkitWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/1xiaoyueryuer/boss-hr-agent-toolkit/boss-job-detail)<a href="https://agentmods.dev/skills/1xiaoyueryuer/boss-hr-agent-toolkit/boss-job-detail"><img src="https://agentmods.dev/badge/skills/1xiaoyueryuer/boss-hr-agent-toolkit/boss-job-detail/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/1xiaoyueryuer/boss-hr-agent-toolkit/boss-job-detail"><img src="https://agentmods.dev/badge/skills/1xiaoyueryuer/boss-hr-agent-toolkit/boss-job-detail.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00095 | $0.02418 |
| Opus 5 | $0.00048 | $0.01209 |
| Sonnet 5 | $0.00019 | $0.00484 |
| Haiku 4.5 | $0.00010 | $0.00242 |
Grade A, and why
boss-job-detail scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 12d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 148 lines — stays where its author put it; the contents beside it link to each section on GitHub.
BOSS 直聘岗位 JD 提取
2026-07-31 重构:不再依赖第三方 boss_agent_cli。本 skill 内部用
shared/recruiter_job_catalog.py(浏览器内 fetch 拿 BOSS 后端 API)解析 query → encryptJobId,然后仍走 patchright 直连 CDP 浏览器抓 BOSS 编辑页 iframe 拿完整 JD 表单。
前提条件
- Edge/Chrome 以
--remote-debugging-port=9222启动 - Boss 招聘者 session 已登录(
zp_at+wt2+bst三 cookie 都存在) - 可选:用
shared/cdp_preflight.check_login()自检登录态
用法
python scripts/boss_jd.py <查询条件> [--job-name <name>] [--encrypt-job-id <encryptJobId>] [--run-id <id>]
参数:
<查询条件>— 三选一:加密岗位ID:a2bb7b1e7a76f0440nZ-39S0E1NS数字 jobId:524499312岗位名称:管培生(精确匹配优先,否则模糊匹配)
--job-name(必填,元数据用,目录名不再用它):岗位中文名,会写入jobs.json作可读标识。--encrypt-job-id(必填,新设计):BOSS 返回的encryptJobId,直接作为工作区目录名。例如9a7759badfd95d350nFz3d-_F1NX。5 步脚本(list → download → score → HTML → greet)必须传同一个值,产物才落在同一个工作区目录。- 也可设环境变量
BOSS_HR_ENCRYPT_JOB_ID=<encryptJobId>作为 fallback(CLI 参数优先)。 --run-id(可选,新任务入口):本次 run 的 ID。- 不传 → 自动调
create_new_run(),生成新 run_id(YYYY-MM-DD_HHMMSS,同秒冲突自动加_N后缀)。每个新任务必须生成新 run_id——禁止沿用旧 run_id。 - 传 --run-id → 调
bind_existing_run(run_id),校验 run_dir 存在 + encrypt_job_id 匹配。不通过报错。 - 拿到 run_id 后必须传给 Step 2~5 所有后续脚本(
recommend_list.py/recommend_download.py/score_resumes.py/generate_html_report.py/auto_greet.py)——这些脚本的--run-id是required=True,不传 argparse 直接退出 2。
- 不传 → 自动调
🚨 2026-07-30 重构:不再有
state/current_run.json。每个 run 的状态独立写到runs/<run_id>/run.json(含confirmed标志位、steps_done、finished等)。Step 1 完成后run.json.confirmed=false,必须等用户在 BOSS 调整完筛选条件后调:python -X utf8 shared/confirm_run.py \ --job-name "<岗位名>" --encrypt-job-id "<id>" --run-id "<run_id>"把
confirmed切到 true 才能跑 Step 2。
🚨 严格模式:缺
--encrypt-job-id(且未设BOSS_HR_ENCRYPT_JOB_ID)时脚本直接报错退出,不会静默回退到中文目录名——避免你以为跑了新路径、实际又落到中文路径的事故。
工作流程
- 用
shared/recruiter_job_catalog.resolve_recruiter_job(query)把 query 解析成encryptJobId- 支持三种 query:encryptJobId 精确 / jobId 数字精确 / 岗位名(精确优先,模糊兜底)
- 返回
{'encryptJobId', 'jobId', 'jobName', 'address', 'salaryDesc', ...}
- 用 patchright 连接 CDP 浏览器
- 导航到岗位编辑页(
/web/chat/job/edit?encryptId=...) - 等待 iframe 加载完成后提取表单内容(含职位描述富文本 + 关键词 + 福利)
- 输出到
~/Desktop/boss-hr-output/<encryptJobId>/runs/<run_id>/process/job_detail.json
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 12d ago First seen · 148 lines · 95 tokens per session scan A 3e45a6c01623
boss-job-detail is a skill published in the GitHub repository 1xiaoyueryuer/boss-hr-agent-toolkit (46 stars, last pushed 1mo ago), licensed MIT. It adds 95 tokens to every session and 2,418 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
computer-use
OS/window-level inspection and input in visible local app windows through orca computer: native apps, external browser windows (Chrome, Edge, Safari), and app webviews. Not for Orca's embedded browser (use orca-cli) or page-only automation (use Playwright or CDP).
opencli-browser
Use when an agent needs to drive a real Chrome window via opencli — inspect a page, fill forms, click through logged-in flows, or extract data ad-hoc. Covers the selector-first target contract, compound form fields, stale-ref handling, network capture, and the agent-native envelopes the CLI returns. Not for writing…
opencli-autofix
Automatically fix broken OpenCLI adapters when commands fail. Load this skill when an opencli command fails — it guides you through collecting a trace artifact, patching the adapter, retrying, and filing an upstream GitHub issue after a verified fix. Works with any AI agent.
opencli-sitemap-author
Use when creating or maintaining OpenCLI site sitemaps: agent-facing navigation, page-state, action, workflow, API-reference, pitfall, and fallback knowledge for a website. Use after browser exploration discovers durable site context, when a sitemap is stale, or when promoting local site knowledge into the repo.
opencli-browser-sitemap
Use when driving a website with opencli browser and sitemap context is available, requested, or needed to avoid blind navigation. Guides agents to consume site sitemap files lazily, choose adapter/browser fallback paths, resume from state signatures, and mark stale sitemap entries without trusting them over live…
playwright
Use when the task requires automating a real browser from the terminal (navigation, form filling, snapshots, screenshots, data extraction, UI-flow debugging) via playwright-cli or the bundled wrapper script.