jwb-jd · v26.9.0 · 2026-10-06 · sha256 ee669645c263acca

jwb-jd v26.9.0A

Immutable. This exact content never changes and is served at /api/v1/blob/ee669645c263acca.

---
name: jwb-jd
description: Use when 用户粘贴或提供岗位 JD、招聘信息、职位描述,要求判断是否值得投递、评估岗位匹配度、给岗位打分或比较多个 offer 方向时。English triggers:job description, paste a JD, is this job worth applying for, evaluate job fit, score a position, compare offer directions.
compatibility: Python 3.12+;jobws 指仓库内的 python tools/jobws.py(在仓库根运行);工作区已初始化;全本地运行,产物只写你的工作区。
license: MIT
metadata:
  version: 26.9.0
allowed-tools: Bash(jobws:*)
---

# 解析 JD 并判定是否值得投递

**执行前必读**:工作区的 `AGENTS.md`(档案、硬门槛事实、自定义红线)与 `jwb-recruit-coach` 技能(评分标准与档位表)。不读这两处不得开始评分。

## 流程

### 1. 建岗目录并存原文

在工作区的 `01_岗位池/` 下建 `<公司>_<岗位>/`,把 JD 原文完整落盘为 `JD原文.md`。

**保留原始文本,不改写、不摘要、不翻译。** 后续判断都要能回到原文核对。

只给岗位名没给 JD → 提示需要 JD 原文,不得凭岗位名臆测内容。

### 2. Eligibility Gate(硬门槛过滤)

顺序判定:学历 → 专业 → 届数 → 外语 → 城市。事实只从档案的「硬门槛事实」取值。

**字段为 `[待填]` → 门槛结论写「待补档案」,不终止流程**:解析卡「硬门槛」节加一行 `缺失字段: <字段名、…>`,缺失字段值保持 `[待填]`;「结论」节写 `补齐档案后可继续评分`。**仍不打分、不生成材料**,并向用户输出:

```
无法完成硬门槛判定:AGENTS.md 中「<字段名>」尚未填写。
补齐后重新执行即可继续评分。
```

**明确 fail(档案有事实、判定为不满足)→ 终止流程**:解析卡只填「基本信息」与「硬门槛」两节,写明不通过原因。不打分、不生成材料。

**禁止猜测,禁止按「可能满足」放行。**「待补档案」不是放行——只有明确 fail 才终止,档案没填的不判死也不放行,判定权在补完档案之后。

城市拆两级:

- **硬性不可行**(要求本地户籍、必须长期驻外、明确不接受异地)→ fail,终止;
- **偏好类**("本地优先""周边亦可""可接受搬家")→ 不判 fail,在「培养与稳定性」扣分:轻度 -3、较强 -5,**城市相关扣分合计不超过 5**(判据见 jwb-recruit-coach 技能 references 下的 scoring.md)。

工作形态问题(长期驻场、倒班、长期出差)不在此判定,同样归「培养与稳定性」扣分。

### 3. 确认领域与方向

词典在领域插件目录(`profiles/<domain-id>/lexicon.md`),方向锚点在 `directions/<direction-id>.md`。

不确定时可先查:

```
jobws jd --show-profile --domain <X> --direction <Y>
```

方向不属于当前领域 → 回退该领域第一个方向,并在解析卡末尾标注「结论仅供参考」。

### 4. 填写解析卡

从 `01_岗位池/_模板_解析卡.md` 复制模板。四维度打分(权重与档位见 `jwb-recruit-coach` 技能的评分表):

- **技术匹配 30**:比对插件词典。Primary 3 分/项、Secondary 1.5 分/项。命中 Weak 不扣分,但必须登记并触发风险提示。
- **经历匹配 25**:逐条比对档案中的经验资产与 JD 职责,对上核心职责 8–10 分、侧面支撑 3–5 分、无关 0 分。**必须回查 `00_事实库/`**,不得以概述为准。
- **方向契合 30**:按方向锚点表取值。岗位名与职责不一致时以职责为准并说明依据。
- **培养与稳定性 15**:按教练技能的四分档判据。

评分依据要引用 JD 原文措辞与 `00_事实库/` 具体条目,不写空泛理由。

**证据标签(每次命中必标)**:技术匹配每一条命中都要在词条后追加【精确/模糊/语义】标签说明「这条匹配是怎么判出来的」,写法与判据见 `references/scoring-evidence.md`。旧卡无标签也能读,但新卡一律带标签以支撑前端「评分证据可追溯」下钻展示。

### 5. 校验并出结论

```
jobws jd "<工作区>/01_岗位池/<公司>_<岗位>/解析卡.md" \
    --workspace <工作区> --domain <X> --direction <Y>
```

校验失败(退出码非 0)→ 按指出的字段修正后重跑,**不得跳过校验直接给结论**。

通过 → 把档位与下一步回填解析卡「结论」小节,并向用户输出:总分、四维度明细、档位、下一步、命中 Weak 项及桥梁话术建议。

### 6. 桥梁话术的约束

只能指向**真实可迁移能力**,并明确标注是知识性了解。**不得生成听起来像亲身经历的表述。**

## JD↔简历差距清单

解析卡通过后,可选做差距分析——它把「补关键词」拆成两类,直接服务诚实红线:

- **已覆盖(matched)**:JD 要求的词典词,当前简历版本里能直接证明
- **可召回(injectable)**:母版(`简历_主版_v1.0.md` + `00_事实库/`)里有、这一版没用上 —— **从既有事实召回即可,不构成编造**
- **真实缺口(missing)**:简历与母版都没有 —— 只能靠补真实经历,**不得靠改词硬凑**

给用户的建议措辞必须区分「召回」与「补经历」:injectable 是安全的,missing 永远不建议靠编造解决。命令与输出细节见 `references/scoring-evidence.md`;Web 端岗位详情页有同样的差距面板。

## 输出要求

不复述 JD 内容。聚焦:判了什么、为什么这么判、下一步做什么。

## 宿主形态:没有仓库时(MCP / DSH)

宿主未接仓库(`jobws` CLI 不可用,如装进 DSH 的形态)时,本流程等价走 MCP 工具面
(工具名含 `jobws`,宿主可能显示为 `mcp__jobws__*`):

- 选岗位与读数据:`list_jobs`(或资源 `jobws://workspace/jobs`);岗位正文用资源
  `jobws://job/<目录名>/jd`(JD 原文)与 `jobws://job/<目录名>/card`(解析卡)——
  `<目录名>` 是**单个目录名**(如 `云帆_后端`),不是路径。
- 评分卡就绪后用 `score_jd` 读取与校验(四维之和必须等于总分才给档位)。
- **可得性纪律**:资源读不到(岗位目录下没有 JD原文.md / 解析卡.md)就是没有——请用户
  从界面或工作区提供,**绝不凭岗位名推断 JD 内容**;本形态没有写文件的工具,要落盘请
  引导用户回界面或仓库形态,**不要声称已写入**。
- 输出形态:结论先行(建议投 / 谨慎 / 不投)→ 核心理由 → 能力缺口。