xbuilderlab/skill-scan
cheat-on-skill 的核心。连 BOSS 直聘真实招聘数据 + 网页信号,按用户能力画像找「高薪 × 你学得动 × AI 增强」交集里的候选岗位。每个岗位给:薪资量级 / 需求热度 / 你的差距 / 可学性分 / 诚实学习周期,并过 AI 影响分类与反诈红线。触发词:"帮我找岗位"/"找AI时代高薪工作"/"有什么我能学的高薪岗"/"skill scan"/"扫一遍招聘"。前置:需要 .skill-state.json(无则先路由到 skill-init)。
npx skills add https://github.com/XBuilderLAB/cheat-on-skill --skill skill-scan
不搜"AI 高薪职业 Top10"那类水文——它们利益不中立,是卖课/培训机构的获客漏斗。
真正诚实的需求信号是 BOSS 直聘的真实在招岗位:某岗位在招、给得起价 = 有人真在花钱买这个能力;
岗位数涨=需求升,降=红海。再叠加你的能力画像,挑出"高薪 × 你学得动 × AI 时代仍要"三个圈的交集。
ai-impact-taxonomy.md):替代型直接劝退,只推增强 / 新生。learnability-rubric.md),低于阈值不列为首选。role-tiers.md):别给 S0 推够不着的算法岗,别给 S3 推标注。anti-scam-rubric.md)。.skill-state.json 拿画像 + profile.start_tier(无 → 路由 skill-init)。../../shared-references/role-tiers.md(按档位分流)。../../shared-references/ai-impact-taxonomy.md(方向闸门)。../../shared-references/learnability-rubric.md(可学性打分)。../../shared-references/anti-scam-rubric.md(反诈,用于培训/内推类)。lessons.md(若存在):用户过往复盘沉淀,优先参考。found_at / found_at_full 前,先用系统时间取当前时间:date '+%Y-%m-%d %H:%M %Z %z'
found_at 写日期,found_at_full 写具体时间和时区,跟用户系统时区走(例:2026-06-26 22:06 CST +0800)。对用户展示时写成 2026-06-26 22:06(本机时区 + UTC 偏移,如 中国标准时间 CST,UTC+8),不要写死成某个固定国家的时间。
先按 start_tier 限定方向范围(role-tiers),再结合用户可迁移能力,列 3–6 个 BOSS 搜索关键词。
AI内容运营 AIGC运营 AI标注 数字人运营 AI客服AIGC运营 AI营销 Prompt工程 AI设计 AI视频AI应用开发 LLM应用 大模型应用 AI工程 Agent开发<用户行业>AI AI解决方案 行业AI产品 AI合规> 结合用户的 transferable 能力调词,别用模板硬套。把要搜的词先念给用户确认。
用 ../../adapters/boss。这是半自动、需用户配合的,先把步骤告诉用户:
cd ../../adapters/boss # 相对 skill 目录;实际路径见安装位置
./launch-chrome.sh # 起【有界面】Chrome,用户扫码登录 BOSS,弹滑块手动过
node diagnose-cdp.mjs 9222 # 可选:确认当前环境能读 Chrome 调试端口
node read-boss.mjs "AIGC运营" 100010000 9222 1 # 搜词读第 1 页列表 → JSON(城市码默认全国)
node read-boss-detail.mjs 9222 "https://www.zhipin.com/job_detail/..." # 用户明确选中后,只读选中的 JD
▯▯-▯▯K 量级(BOSS 字体混淆,adapter 不破解)——位数结构泄露量级,够区分档位;要精确值让用户手动开 2–3 个详情页看。read-boss-detail.mjs 读取 1–3 个详情页。若详情读取失败,再让用户手动贴 JD。diagnostics.maybeNeedLogin/blocked/cardCount=0:提示用户登录/过验证/重跑;选择器腐烂就把 diagnostics 发回校准。127.0.0.1:9222:先跑 node diagnose-cdp.mjs 9222。若普通终端可读但 Codex/Claude 沙箱内不可读,说明需要非沙箱权限读取本机 Chrome 调试端口,不代表 adapter 选择器坏了。> 若用户当下不方便登录跑 adapter:退而用 WebSearch 搜"<岗位> 招聘 要求 薪资 2026 / 行情报告",但明确标注这是二手转述、不如 BOSS 一手。
不要一次性把 BOSS 搜索结果全读完。按下面节奏推进:
read-boss-detail.mjs 读取详情页。用户可以选择候选里的任意数量,也可以少选或不选;没有明确选择就不要读详情。一次选择较多时,顺序低频读取并在输出中分批整理,避免并发/高频触发风控。对每个候选岗位,按 ai-impact-taxonomy.md 判增强/新生/替代:
<岗位> 招聘趋势 2026、<岗位> 会不会被AI取代、行业用工报告(只用利益中立来源)。按 learnability-rubric.md 的 L1–L5 打分(0–10),结合 JD 要求 vs 用户 transferable:
若某条路径牵涉付费培训/内推/包就业,过 anti-scam-rubric.md,标判定。岗位本身(公司直招)一般不触红线,但若公司查无此人/JD 零门槛高薪等命中 B 信号,也如实标。
岗位:<名称>
AI 影响:增强 ⬆️ / 新生 🆕 / 替代 ⬇️
薪资量级:<▯ 量级 + 单位>(精确值需手动看详情页)
需求热度:<同词岗位量级/趋势 + 来源年份>
你的差距:<逐条;可迁移的标出来>
可学性:x/10(L1–L5 一句话)
判定:✅ 高可学 / ⚠️ 中等 / ⛔ 吃力 / ❌ 劝退
诚实周期:<以每周 N 小时算,几个月到能投简历>
按可学性 × 薪资综合排序,首推 2–3 个交集岗位,劝退的也列出来并说明为什么(避免用户自己踩)。
把候选岗位写入 .skill-state.json 的 candidate_roles[](含 ai_impact / salary_band / demand / gap / learnability_score / learnability_verdict / honest_timeline / scam_verdict / found_at=今天日期 / found_at_full=具体时间和时区 / status=candidate)。
提示用户:"我选 XX 这个岗位做学习计划" → 走 skill-plan。
Take xbuilderlab/skill-scan from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.