丹麦职位搜索(Jobdanmark Search)
一条命令直连 Jobdanmark.dk 公共 API,无需登录即可搜索丹麦全境约 15,000+ 条在职职位,按关键词、城市、类别和雇佣类型精确筛选。
该技能为只读公开API查询,allowed-tools 仅限定为运行自身 CLI(bun run .../jobdanmark-search/cli/src/cli.ts *),无需凭据、不写用户数据、默认 enabled:false(可选启用)。CLI 代码含未知参数拒绝逻辑,防止静默忽略过滤器导致错误结果;无外发敏感数据、无破坏性默认值。扣分点:发布者身份未验证,detail 命令抓取网页HTML的解析路径存在对站点结构变化的依赖,apiFetch 缺少运行时响应校验(代码注释自认),信任未达满分。
代码自洽性高:SKILL.md 与 README 端点、参数、类别ID一致;错误统一以 stderr JSON 输出并退出码1;已知缺陷(#421 空text项、#426 短横线参数)有针对性修复。扣分点:静态审查无法执行验证,未看到该技能的 fixture 测试文件本体,对 Jobdanmark.dk 站点结构(HTML选择器)的依赖在第三方变更时可能失效,故按静态上限不给超过10。
场景清晰(丹麦求职搜索),触发词丰富但过度宽泛——description 中大量常见词(如 studiejob、find job)可能造成语义误触发;明确说明面向丹麦市场、与其他门户技能并行存在。扣分点:目标数据源 jobdanmark.dk 为丹麦站点,未声明中国大陆可达性,无中文支持;边界(如非丹麦求职不适用)未显式声明。
文档分层良好:SKILL.md 渐进披露、README 含端点/请求体/响应形状,版本 1.0.0,MIT 许可,仓库有 CI(typecheck + 发现式CLI测试矩阵)与 security guards。扣分点:技能自身无 changelog,维护责任依赖仓库整体,示例响应中的日期(2026年)真实性仅是示例数据;发布者未验证导致归属链条不完整。
任务边界明确(搜索/详情/类别/建议五命令),输出三种格式、跨门户契约字段、去除无用展示字段的设计显示对下游可用性有真实考量,README/AGENT 集成路径清楚。扣分点:静态审查无法验证实际查询结果可用性,边际价值依赖 jobdanmark.dk API 的稳定性与覆盖面(~15,000职位为自述数字,未独立验证),给6分。
代码可直接审计:端点、请求体构造、过滤逻辑、错误处理在源码中可核对,CI 引用真实(ci.yml 中 discover-clis 矩阵会对其运行 typecheck 与 bun test)。扣分点:该技能的 fixture/mock 测试文件未包含在提供的证据中,无法确认覆盖关键路径;无第三方独立执行证据,静态上限5,给4分。
- 该技能核心功能完全依赖丹麦站点 jobdanmark.dk 的公开API,其对中国大陆网络的可达性未声明,中国用户可能无法直接使用。
- SKILL.md 的 description 使用大量宽泛触发词,可能在不涉及丹麦求职的对话中被误触发,建议用户按需启用(默认已关闭)。
- detail 命令解析 jobdanmark.dk 渲染页HTML,站点改版可能导致解析失败(代码有 PARSE_ERROR 反馈,但结果可能不完整)。
- 本次为静态源码审查,未执行任何查询,实际结果质量与 API 稳定性未经独立验证。
这个 Skill 能做什么,适合哪些场景?
这是 ai-job-search 仓库中的一个技能,封装了丹麦招聘网站 Jobdanmark.dk 的公共 API。它通过一个 Bun 运行的命令行工具,提供职位搜索、职位详情、类别统计、职位名称自动补全和地点建议五类操作,覆盖 10 个职位类别和全部丹麦市镇。该技能无需任何认证或 API 密钥,数据实时。它是为丹麦求职市场设计的演示门户技能之一,默认关闭(opt-in),适合身在丹麦或计划赴丹麦工作的人使用。
技能指引 AI 客户端调用本地 CLI(bun run .agents/skills/jobdanmark-search/cli/src/cli.ts)执行以下操作:1) search——按自由文本、类别 ID、职位名称 ID、市镇、邮编、地区、雇佣类型组合过滤职位,每页固定 30 条,支持分页与 --limit 截断;2) detail <slug>——抓取职位页面并解析嵌入的 Schema.org JSON-LD(缺失时回退解析渲染后的 HTML),返回描述、截止日期和组织信息;3) categories——列出全部 10 个类别及其实时在职职位数;4) autocomplete——把搜索词解析为精确的职位名称 ID 或类别 ID;5) locations——返回匹配的市镇、邮编和地区建议。输出支持 、table、plain 三种格式,错误写入 stderr 并以退出码 1 结束。
- 在丹麦求职的人想按城市或邮编(如哥本哈根、欧登塞、8000 邮区)筛选全职、兼职或学生职位
- 求职者想查某个具体职位的完整描述和申请截止日期(例如 IT 主管职位的 slug 详情)
- 想了解当前丹麦就业市场概况的人,需要 10 个职位类别的实时在职数量对比
- 想精确搜索某个职业(如护士 sygeplejerske、电工 elektriker)的人,先用 autocomplete 拿到职位名称 ID 再过滤
- 找学徒岗(elev)或实习(praktik)的申请者,想按雇佣类型在全丹麦范围列出空缺
这个 Skill 有哪些优点和局限?
- 使用 Jobdanmark.dk 公共 API,无需注册、API 密钥或任何凭据
- 数据实时,categories 命令返回当前在职职位数,可直接反映市场状况
- 过滤维度丰富:文本、类别、职位名称 ID、市镇、邮编、地区、六种雇佣类型可自由组合
- 三种输出格式(/table/plain)兼顾数据处理与人工阅读,错误以结构化 JSON 写入 stderr
- detail 命令优先解析 JSON-LD 结构化数据,缺失时有 HTML 回退,覆盖面较好
- 仅覆盖丹麦市场(Jobdanmark.dk),对其他国家的求职者无用
- 技能默认关闭(enabled: false),需手动启用或经 /setup 开启,开箱即用性略差
- API 每页固定 30 条(服务端强制),大量结果需手动翻页
- detail 命令依赖解析职位网页的 JSON-LD/HTML,若页面结构变化可能失效;源材料未提供该技能自身的测试套件证据
- 部分职位的 applicationDeadline 可能为 null,截止日期信息不保证完整
如何安装这个 Skill?
该技能属于 MadsLorentzen/ai-job-search 仓库(MIT 许可),随仓库的 .agents/skills/ 目录分发。先克隆仓库:gh repo fork MadsLorentzen/ai-job-search --clone && cd ai-job-search,然后安装该技能的 CLI 依赖:cd .agents/skills/jobdanmark-search/cli && bun install。技能默认 enabled: false(丹麦演示门户,opt-in):可通过仓库的 /setup 在你的市场是丹麦时启用,或手动把 SKILL.md 中的 enabled 改为 true。
如何使用这个 Skill?
在 Claude Code 中,当用户提到丹麦职位、jobdanmark 或触发短语(如 find job、ledige stillinger、IT job denmark)时,按 SKILL.md 指引调用 CLI。示例:搜索哥本哈根全职 IT 职位:bun run .agents/skills/jobdanmark-search/cli/src/cli.ts search --category 227978 --municipality "København" --job-type fuldtid --format table。典型流程是先用 locations 和 autocomplete 解析出准确的市镇名与职位名称 ID,再 search 拿到含 slug 的列表,最后 detail <slug> 获取完整职位信息。
这个 Skill 与同类方案有什么区别?
同一仓库还附带 Jobindex、Jobnet、Jobbank 等丹麦其他招聘网站的搜索技能,以及跨市场的 linkedin-search 和 freehire-search。若你不在丹麦,linkedin-search(LinkedIn 公共接口,个人使用需注意服务条款)或 freehire-search(freehire.me 技术职位聚合 API)可能是更合适的替代;本技能的优势在于 Jobdanmark.dk 数据的结构化类别体系和丹麦本地覆盖。