job-hunter
Skill8 starsChanged 7 months agoMITView on GitHub
自动从 Boss 直聘发现、筛选、记录合适岗位。使用 /job-hunter 启动定时求职助手。
5 other projects use a version of this.
Adopted by
Most recently taken up by
- vanthienha199/openclaw-skillstheir own version, first seen Nov 15, 2026
- ShiqinGuo/jev4jobhuntertheir own version, first seen Sep 21, 2026
- Phuc710/Tool_Review_CVtheir own version, first seen Sep 8, 2026
- sankai-ch/skillstheir own version, first seen Jun 14, 2026
- wexxwuther/job-huntertheir own version, first seen May 21, 2026
Other versions5 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 5
- wexxwuther/job-hunter★ 4same name
- Phuc710/Tool_Review_CV★ 1same name
- sankai-ch/skills★ 1same name
- vanthienha199/openclaw-skills★ 1same name
- ShiqinGuo/jev4jobhunter★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
The file
Files
Job Hunter Skill — 主入口
本文件是 job-hunter skill 的主入口。Claude 在用户触发 /job-hunter 时读取此文件,按照以下逻辑执行完整流程。
触发条件
| 命令 | 操作 |
/job-hunter | 等同于 /job-hunter start,启动定时搜索 |
/job-hunter start | 启动定时搜索任务 |
/job-hunter stop | 停止定时搜索任务,数据保留 |
/job-hunter status | 查看当前运行状态 |
/job-hunter update | 更新 Job Hunter Skill 到最新版本 |
/job-hunter exclude | 查看排除列表 |
| 用户说「排除编号X」 | 触发排除流程(自然语言触发) |
/job-hunter practice | 查看练手列表 |
/job-hunter target | 查看目标列表 |
| 用户说「练手编号X」 | 触发分类流程,分类为练手 |
| 用户说「目标编号X」 | 触发分类流程,分类为目标 |
| 用户说「标记编号X」 | 触发分类流程,询问分类类型 |
主入口逻辑
收到 /job-hunter 命令后,按以下顺序执行:
步骤 0:工作目录检查
检查当前工作目录(CWD)下是否存在 data/ 目录:
- data/ 已存在 → 继续步骤 1(识别为已有用户的工作目录)
- data/ 不存在 → 使用 AskUserQuestion 询问用户:
当前目录不是 Job Hunter 的工作目录。
数据文件(画像、候选岗位)将保存在当前目录的 data/ 下。
请确认:
1. 在当前目录继续 — 数据将保存在 {CWD}/data/
2. 我想先切换到其他目录如果用户选择 2,提示用户使用 cd 切换到目标目录后重新运行 /job-hunter,然后结束。
如果用户选择 1,继续步骤 1。
重要:所有
data/路径(如 data/job-profile.md、data/meta.json)均相对于当前工作目录(CWD)解析。模板文件通过${CLAUDE_SKILL_DIR}/prompts/从 skill 安装目录读取。两者分离。
步骤 1:检查是否为新用户
读取 data/job-profile.md 是否存在:
- 不存在 → 进入「新用户引导流程」(步骤 2)
- 存在 → 继续步骤 1.5
步骤 1.5:老用户升级检查
当 data/job-profile.md 存在时(老用户),检查 data/ 目录下是否缺少必要文件。
当前必要文件清单:
| 文件 | 说明 |
data/job-candidates.csv | 候选岗位记录 |
data/job-excluded.csv | 排除岗位归档 |
data/job-practice.csv | 练手岗位归档 |
data/job-target.csv | 目标岗位归档 |
data/job-profile.md | 用户求职画像 |
data/meta.json | 运行元数据 |
检查逻辑:
- 逐项检查上述文件是否存在
- 如果全部存在 → 跳到步骤 3
- 如果有缺失 → 自动创建缺失文件(使用默认初始内容),并通知用户:
检测到以下文件缺失,已自动补充:
[已创建] {缺失文件名} — {文件说明}
这可能是因为 skill 更新引入了新文件。你的现有数据未受影响。各缺失文件的默认初始内容:
data/job-candidates.csv:写入表头行(编号,岗位名称,公司名,...,security_id)data/job-excluded.csv:写入表头行(编号,岗位名称,公司名,...,排除原因,排除日期)data/job-practice.csv:写入表头行(编号,岗位名称,公司名,...,备注,分类日期)data/job-target.csv:写入表头行(编号,岗位名称,公司名,...,备注,分类日期)data/meta.json:不自动创建(缺少此文件说明引导流程未完成,应视为异常,提示用户重新运行引导)
此外,检查 data/meta.json 是否缺少以下字段,如果缺少则追加默认值:
practice_count: 0target_count: 0next_practice_number: 1next_target_number: 1
检查完成后,继续步骤 3。
步骤 2:新用户引导流程
读取并执行 ${CLAUDE_SKILL_DIR}/prompts/intake.md 中的完整引导流程。
该流程包含:
- 环境检测(Node.js、opencli、Browser Bridge、Boss 直聘登录)
- 分步问答收集求职画像(4 组问题)
- 生成
data/job-profile.md - 初始化
data/job-candidates.csv、data/job-excluded.csv和data/meta.json
环境检测未通过时:读取 ${CLAUDE_SKILL_DIR}/prompts/notifications.md 中的「环境检测未通过」模板,填充检测结果后输出。不继续后续流程。
引导完成后:自动进入步骤 3。
步骤 3:读取运行状态
读取 data/meta.json,获取以下字段:
cron_job_id:当前定时任务 ID(null 表示未运行)run_count:已运行次数total_candidates:已记录岗位总数last_run_time:上次运行时间search_interval_minutes:搜索间隔next_candidate_number:下一个岗位编号practice_count:已标记为练手的岗位数target_count:已标记为目标的岗位数next_practice_number:下一个练手编号next_target_number:下一个目标编号
步骤 4:根据参数执行操作
根据用户传入的参数(argument)判断操作类型,读取对应的操作文件执行:
| 参数 | 读取文件 |
| start / 无参数 | ${CLAUDE_SKILL_DIR}/prompts/operations/start.md |
| stop | ${CLAUDE_SKILL_DIR}/prompts/operations/stop.md |
| status | ${CLAUDE_SKILL_DIR}/prompts/operations/status.md |
| exclude | ${CLAUDE_SKILL_DIR}/prompts/operations/view-exclude.md |
| practice | ${CLAUDE_SKILL_DIR}/prompts/operations/view-practice.md |
| target | ${CLAUDE_SKILL_DIR}/prompts/operations/view-target.md |
| update | ${CLAUDE_SKILL_DIR}/prompts/operations/update.md |
| 用户说「排除编号X」 | ${CLAUDE_SKILL_DIR}/prompts/operations/exclude.md |
| 用户说「练手/目标/标记 编号X」 | ${CLAUDE_SKILL_DIR}/prompts/operations/classify.md |
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

