job-scan

GitHub

AI岗位扫描技能。基于用户画像推荐匹配岗位,引导用户选择后自动启动Chrome登录BOSS直聘抓取数据,并清洗导出结果。需先完成画像初始化。

skills/job-scan/SKILL.md qxiansheng001/ai-job-hunter

触发场景

用户需要寻找AI相关工作岗位 用户希望自动化搜索和筛选BOSS直聘职位 用户已配置好个人画像并请求岗位推荐

安装

npx skills add qxiansheng001/ai-job-hunter --skill job-scan -g -y
更多选项

不安装直接使用

npx skills use qxiansheng001/ai-job-hunter@job-scan

指定 Agent (Claude Code)

npx skills add qxiansheng001/ai-job-hunter --skill job-scan -a claude-code -g -y

安装 repo 全部 skill

npx skills add qxiansheng001/ai-job-hunter --all -g -y

预览 repo 内 skill

npx skills add qxiansheng001/ai-job-hunter --list

SKILL.md

Frontmatter
{
    "name": "job-scan",
    "description": "AI 岗位扫描。推荐岗位 → 用户选择 → BOSS 直聘抓取 → 数据清洗。 需要先有状态文件($AI_JOB_HUNTER_DATA\/.skill-state.json)且 profile 已就绪。可在 allowed-tools 中调用 job-init。",
    "allowed-tools": "Bash(*), Read, Write, Edit, Glob, Skill",
    "argument-hint": ""
}

/job-scan — 岗位扫描

Step 0:上下文检查

# === 自动发现 skill 根目录(适配项目级/全局级安装) ===
SKILL_DIR="${AI_JOB_HUNTER_DIR:-}"
[ -n "$SKILL_DIR" ] && SKILL_DIR="${SKILL_DIR//\\//}"
if [ -z "$SKILL_DIR" ]; then
  [ -d ".claude/skills/ai-job-hunter" ] && SKILL_DIR=".claude/skills/ai-job-hunter"
  [ -z "$SKILL_DIR" ] && [ -d "$HOME/.claude/skills/ai-job-hunter" ] && SKILL_DIR="$HOME/.claude/skills/ai-job-hunter"
fi
DATA_DIR="${AI_JOB_HUNTER_DATA:-$(dirname "$SKILL_DIR")/ai-job-hunter-data}"
test -f "$DATA_DIR/.skill-state.json" && echo EXISTS || echo MISSING
  • MISSING → 告知用户"请先完成画像初始化",调用 Skill 工具执行 job-init

读取 $DATA_DIR/.skill-state.json,提取 profile(tech_stack、education、target_city 等)。

读取 SKILL_DIR 下的 shared-references/role-tiers.md 参考档位信息。

Step 1:推荐岗位

根据画像推荐 6 个最匹配的 AI 岗位。使用以下格式:

┌──── 推荐岗位列表 ──────────────────────────────────────────┐
│                                                              │
│  1. 大模型算法工程师         匹配度: 92%                    │
│     → 你的PyTorch经验+硕士学历高度匹配,大模型方向需求爆发   │
│  ...                                                         │
└────────────────────────────────────────────────────────────┘

推荐原则:

  • 岗位名称必须是真实市场上存在的
  • 匹配度基于:技术栈重合度、学历门槛、经验要求
  • 推荐理由要具体,诚实指出局限
  • 排除"实习/实习生"类岗位,只推荐正式/校招岗位

Step 2:用户选择

等待用户回复编号或岗位名称。确认后:

  1. 向用户确认搜索参数:岗位名称、城市(来自画像)、抓取数量(建议 50 条)
  2. keywordcity 写入 $DATA_DIR/.skill-state.jsonjob_search 字段

Step 3:BOSS 直聘抓取

前置检查

检测 Chrome 调试端口:

python -c "
import urllib.request, json
try:
    r = urllib.request.urlopen('http://127.0.0.1:9222/json/version', timeout=3)
    print('READY')
except: print('NOT_READY')
"

未就绪则自动启动 Chrome:

python -c "
import subprocess, os, time, urllib.request, json, sys
import platform
_chrome_paths = {
    'Windows': r'C:\Program Files\Google\Chrome\Application\chrome.exe',
    'Darwin': '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome',
}
chrome = _chrome_paths.get(platform.system(), 'google-chrome')
profile = os.path.expanduser(r'~\.ai-job-hunter-chrome')
os.makedirs(profile, exist_ok=True)
subprocess.Popen([chrome,
    '--remote-debugging-port=9222',
    f'--user-data-dir={profile}',
    '--no-first-run', '--no-default-browser-check',
    '--new-window', 'https://www.zhipin.com'],
    stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
for i in range(20):
    time.sleep(1)
    try:
        urllib.request.urlopen('http://127.0.0.1:9222/json/version', timeout=2)
        print('READY')
        sys.exit(0)
    except: pass
print('TIMEOUT')
"

启动后立即停下来告知用户:

请在打开的 Chrome 窗口中登录 BOSS直聘(zhipin.com)。 登录后告诉我"已登录",我再开始抓取。Claude 必须等待用户明确回复。

执行抓取

python "$SKILL_DIR/scripts/scraper/boss_scraper.py" \
  --keyword "{岗位名称}" \
  --city "{城市编码(全国 100010000,北京 101010100)}" \
  --max-items 50

城市编码参考 SKILL_DIR 下的 shared-references/city_codes.md(如果存在)或使用常用编码。

抓取结果

完成后告知用户抓取数量,更新 $DATA_DIR/.skill-state.jsonjob_search 字段。

Step 4:数据清洗

python "$SKILL_DIR/scripts/export/clean_and_export.py" \
  --output "$DATA_DIR/subjects/{keyword}/jobs_clean.xlsx"

更新 $DATA_DIR/.skill-state.jsonjob_search.status=doneclean_file=$DATA_DIR/subjects/{keyword}/jobs_clean.xlsx

Step 5:下一步

告知用户下一步可以说"分析这些岗位"(→ job-analyze)。

版本历史

  • 853e56f 当前 2026-07-12 12:15

    新增排除实习/实习生岗位的过滤逻辑,确保仅推荐正式或校招岗位;修复了跨目录运行时的路径依赖问题,提升兼容性。

  • 05ba1cf 2026-07-11 16:58

同 Skill 集合

skills/job-analyze/SKILL.md
skills/job-init/SKILL.md
skills/job-status/SKILL.md

元信息

文件数
0
版本
853e56f
Hash
1ec445e7
收录时间
2026-07-11 16:58

首页 - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-07-14 03:47
浙ICP备14020137号-1 $访客地图$