CtrlK
BlogDocsLog inGet started
Tessl Logo

job-advisor

从招聘平台(闲鱼兼职、Boss直聘、智联、拉勾、58同城、豆瓣兼职等)抓取招聘信息,根据用户输入的个人特征(技能、地点、时间、薪资期望、工作形式偏好)匹配适合的长期雇佣或临时工机会,按性价比(加权时薪)排序,输出 markdown 推荐报告到当前项目的 markdown 目录。当用户提出"找工作"、"匹配岗位"、"接私活"、"找兼职"、"招聘推荐"、"什么活适合我"等需求时触发。

69

Quality

85%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Low

Low-risk findings worth noting

SKILL.md
Quality
Evals
Security

Job Advisor

Overview

给定个人特征(技能、地点、可投入时间、薪资下限、工作形式偏好),从公开渠道抓取招聘信息,按 加权时薪 = 基础时薪 × 技能匹配 × 通勤折算 × 灵活度 排序,输出 markdown 推荐报告。

除直接技能匹配外,本 skill 同时识别"借助 AI 工具也能较轻松拿下"的岗位(基础翻译、文案润色、简单海报、字幕、PPT、数据录入、信息搜集等),在报告中以独立专区形式单独列出,不污染主 Top10 的技能匹配排序。

抓取渠道与限制(必读)

直接抓取 Boss直聘/闲鱼等平台 API 在工程上不可行(登录墙、强反爬、风控)。本 skill 采用搜索引擎聚合的实用策略:

渠道抓取方式说明
闲鱼兼职mmx web_search "site:goofish.com 兼职"通过搜索引擎拿公开页面摘要
Boss直聘mmx web_search "site:zhipin.com <关键词>"同上,只能拿搜索结果摘要
智联招聘mmx web_search "site:zhaopin.com <关键词>"同上
拉勾mmx web_search "site:lagou.com <关键词>"同上
58同城兼职mmx web_search "site:58.com 兼职 <关键词>"同上
豆瓣兼职小组mmx web_search "site:douban.com 兼职 <关键词>"同上
小蜜蜂远程工作mmx web_search "site:xiaomifeng.work"远程岗位聚合
电鸭社区mmx web_search "site:eleduck.com 远程"远程岗位

反爬声明:不要尝试用 requests/selenium 直接打平台,会被封 IP。本 skill 仅依赖搜索引擎可达的公开摘要,结果可能滞后/不完整,报告必须注明数据时间。

工作流程

  1. 澄清输入 — 若用户未给出 references/profile_schema.md 必需字段(技能、地点、时间、薪资下限),先用 AskUserQuestion 问齐。
  2. 构造搜索词 — 按 references/platforms.md 的模板,为每个平台生成 3-5 个搜索 query。
  3. 并发抓取 — 通过 mmx web_search 执行每个 query,合并去重。
  4. 结构化抽取 — 从搜索结果摘要中抽取 title / company / location / pay / type / skills / link / source_platform 字段,字段缺失则降级或丢弃。
  5. 打分排序 — 调用 scripts/match_jobs.py,传入 profile.jsonjobs.json,得到排序结果。
  6. 生成报告 — 按 references/output_template.md 模板渲染 markdown,写入 <项目根>/markdown/<日期>_job-recommendations.md
  7. 自检清单 — 报告末尾追加:抓取时间、平台数、抓取条目数、排序后保留数、被过滤原因分布。

输入规格

references/profile_schema.md 完整定义。最小必填:

{
  "skills": ["Python", "PostgreSQL"],
  "location": "杭州",
  "available_hours_per_week": 20,
  "min_hourly_rate": 150,
  "preferred_types": ["remote", "part_time"]
}

可选:max_commute_minutesavoid_keywordslanguageexperience_yearsindustries

抓取执行规范

  • 每个平台最多 5 个 query,共 ≤ 30 次 web_search。
  • 单次搜索只取前 5 条结果,合并去重后保留不超过 30 条原始记录。
  • 单条记录若关键字段(title/pay/source_platform)缺失且无法从摘要中推断,丢弃并在报告中计入"被过滤"。
  • 抓取完成后,调用打分脚本,渲染报告。

打分脚本调用

python3 scripts/match_jobs.py \
  --profile /path/to/profile.json \
  --jobs /path/to/jobs.json \
  --top 10 \
  --out /path/to/scored_jobs.json

scripts/match_jobs.py 读取两份 JSON,返回按 cost_effectiveness_score 降序的列表,含逐项打分明细。详见脚本内 docstring。

输出规格

  • 文件位置:<cwd>/markdown/<YYYY-MM-DD>_job-recommendations.md
  • 模板:references/output_template.md
  • 必含:概要、Top10 表格、逐条详情(标题/公司/地点/薪资/工作形式/链接/打分明细/风险提示)、数据来源与免责声明。

失败与降级

情况处理
用户未给地点或薪资下限AskUserQuestion 澄清,不要瞎猜
搜索引擎全失败报告中标注"无可用抓取数据",不输出空 Top10
抓取 < 5 条仍输出,但顶部加明显警示"样本不足,建议补充搜索词"
字段无法解析薪资标记为 pay_unknown=true,打分时该项置 0 并降权

AI 友好岗位(独立专区)

很多岗位在传统视角下需要专业技能(翻译资质、设计功底、剪辑经验等),但借助 AI 工具链(LLM 翻译/文案、SD/MJ 生图、Whisper 字幕、PPT 排版等)准入门槛已大幅降低。本 skill 把这类岗位识别后,以"AI 友好专区"形式单独列在报告末尾,与主 Top10 解耦。

机制:

  • scripts/match_jobs.py 维护 AI_ASSISTABLE_KEYWORDS 列表(翻译、文案、海报、字幕、PPT、数据录入、调研、客服话术等)
  • 关键词命中即在 _score.ai_friendly=true 标记,不参与主排名加权(避免污染技能匹配结果)
  • 报告渲染时按 pay_basishourly_rate_cny 二次排序,生成"AI 友好专区"小节
  • 平台搜索词见 references/platforms.md "AI 友好岗位"章节,与主 query 并发执行,共享 ≤30 次 web_search 上限

为什么不直接并入主排名:

  • 主 Top10 优先保证"用户技能直接匹配"的命中率
  • AI 友好岗位特征差异大,简单加权容易把低匹配度岗位推到前面,降低主推荐质量
  • 独立呈现让用户自主判断是否愿意承接 AI 辅助类工作

Resources

scripts/

  • match_jobs.py — 性价比打分脚本,见上文调用方式。

references/

  • platforms.md — 各平台搜索词模板与反爬说明。
  • profile_schema.md — 个人特征输入 schema 与示例。
  • output_template.md — markdown 报告渲染模板。
Repository
digoal/blog
Last updated
First committed

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.