hunter-salary 是 jakeschincariol/hunter-skill 仓库中的一个技能,专用于薪资谈判。它帮助用户把录用通知中的各项数字整理成可逐年对比的总薪酬,并基于有明确来源的基准数据,生成一份用户可自行编辑和发送的还价脚本。
用途:用户可通过该技能分析录用通知,计算各年度总薪酬,对比不同 offer,获取官方薪资基准,并生成还价信息。
主要能力:
- 解析录用通知:要求用户提供 offer letter 或各项数字(基础工资、奖金目标、股权授予价值或股数与价格、归属计划与 cliff、签约金及支付方式、搬迁费、入职日期与答复截止日期),写入 hunter/offers/<company>.json。支持 even-4、back-loaded、front-loaded、even-3 或逐年百分比列表等归属计划,不猜测公司计划。
- 计算总薪酬:offer.py total 展示每年基础工资、奖金目标、当年归属的股权价值、签约金和总薪酬。offer.py compare 并排对比多个 offer,并指出年度变化大的 offer。
- 获取基准:offer.py bls 调用 BLS Public Data API,按 SOC 代码和地区(全国、州、MSA)获取 10、25、50、75、90 百分位及平均年薪。也可将招聘广告中的薪资范围(美国部分州要求)作为基准,需记录来源和 URL。无来源的基准会被拒绝。
- 生成还价:offer.py counter 输出证据、要价、中间值和底线,并生成脚本。规则:要价为高于基础工资的最高有引用数字,上限为基础工资的 15%(可通过 --max-bump 调整),除非有真实竞争 offer;不高于招聘广告薪资范围上限(超出部分可要求签约金);向上取整到下一个 1000。中间值为要价与底线的一半。底线由用户自行设定。脚本包含致谢、引用证据、提出一个数字并询问灵活性。仅在用户明确要求且竞争 offer 真实时,才可提及竞争 offer。
- 记录进展:通过 /hunter-tracker 记录答复和新截止日期。
使用方式: 该技能以命令行脚本形式使用,依赖 Python 3。示例命令包括: python3 "${CLAUDE_SKILL_DIR}/offer.py" total hunter/offers/google.json python3 "${CLAUDE_SKILL_DIR}/offer.py" compare hunter/offers/google.json hunter/offers/amazon.json python3 "${CLAUDE_SKILL_DIR}/offer.py" bls --soc 15-1252 --area msa:41940 --out hunter/offers/bench.json python3 "${CLAUDE_SKILL_DIR}/offer.py" bench hunter/offers/google.json --bench hunter/offers/bench.json python3 "${CLAUDE_SKILL_DIR}/offer.py" counter hunter/offers/google.json --bench hunter/offers/bench.json --competing hunter/offers/amazon.json --floor 180000 --me "Jordan Reyes" 用户需提供录用通知数据文件(格式参考 offer.example.json)、基准文件(bench.example.json)和可选的个人底线(hunter/profile.json 中的 salary_floor)。BLS API 可免费使用,无密钥时每日调用次数有限,密钥通过 BLS_API_KEY 环境变量设置。
适用场景:
- 收到多个 offer 需要对比总薪酬和年度变化。
- 需要基于公开数据(如 BLS OEWS)或招聘广告薪资范围制定还价策略。
- 希望获得结构化的还价话术,但由用户自行发送。
限制:
- 不编造市场数字、竞争 offer 或当前薪资。
- 不将 OEWS 数据呈现为某公司某级别的薪资。
- 不保证还价成功,不代用户威胁或虚张声势。
- 不代发消息;所有消息需用户明确同意后,从用户自己的账户发送。
- 不支持批量或自动消息、不抓取需登录的内容。
- 联系研究仅使用公开职业信息,不涉及个人生活。
- 遵循停止规则:首次拒绝即停止,最多两次跟进,沉默 21 天后不再发消息,停止请求永久有效。
- 不虚构经历、头衔、学历、日期或数字。
- 不构成财务、税务或法律建议。