Skip to content
Back to skills

Jd Triage

ASecurity

**把本文件整份交给你的 agent 即可**——不依赖任何特定 agent 产品,不需要注册命令、不需要放在特定目录、不需要装任何东西。`SKILL.md` 只是一个文件名约定,不是某一家的格式。连同一份 JD 原文一起贴给它,就能开始。 > ⚠️ **这一版是骨架**:给的是规则与标定方法,**不是一套调好的参数**。文中所有 `〔…〕` 都是**留空的参数**,需要你自己标定(方法见第三步)。完整定级模板排在 v0.3。 ---

  • 76 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 27, 2026
ai-agents

Security analysis

A100/100

Pro scans all 4 files and shows the line behind each finding

Scanned September 27, 2026

npx -y skills add gilgameshcc/ai-native-jobhunt --skill jd-triage --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Jd Triage?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Jd Triage
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/gilgameshcc-jd-triage/badge)](https://www.skillsdirectory.com/skills/gilgameshcc-jd-triage)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
# SKILL · JD 结构化与定级(v0.1.2 骨架)

**把本文件整份交给你的 agent 即可**——不依赖任何特定 agent 产品,不需要注册命令、不需要放在特定目录、不需要装任何东西。`SKILL.md` 只是一个文件名约定,不是某一家的格式。连同一份 JD 原文一起贴给它,就能开始。

> ⚠️ **这一版是骨架**:给的是规则与标定方法,**不是一套调好的参数**。文中所有 `〔…〕` 都是**留空的参数**,需要你自己标定(方法见第三步)。完整定级模板排在 v0.3。

---

## 交付约定:易用性与完成度优先

Agent 负责整理并完成本次可做部分,交付可直接人工 review 的成品,不止给建议或空表。先读用户工作区的 `policies/`;用户可配置的执行偏好和参数集中在这里维护,已有求职条件仍以 `positioning.md` 为准。明确要求的调整直接写回并在 `policies/changes.md` 记录旧值、新值、理由与影响;Agent 建议标待确认。

用户已指定路径就直接创建本次所需目录;未指定时一次询问存放位置,同时继续整理材料。不得要求用户先手工建文件夹,不得把个人材料写进公开仓库。具体岗位建立或复用 `applications/日期-公司-岗位/README.md`,索引实际成品,初始化只补缺失文件;原始材料和历史审阅保留,策略、申请索引及衍生产物可按本次授权更新并记录变更。结束前写 `reviews/日期-任务.md`:成品路径、结论依据、采用策略、待确认项及影响、实际检查和下一步;重新读取文件核对后给可点击路径。缺材料时先完成不依赖它的部分并标部分完成;无文件写入能力须明确未落盘。可审阅不等于获准发送,外部动作仍按既有授权和模块边界。

交付前交叉核对报告、申请索引、台账和审阅卡:结论与下一步必须一致,已判不投的岗位只说明排除依据及证据或本人条件改变后可重评,不沿用继续推进的话术。内容重排后修正上下文指代;检查数量只填写工具实际统计值,未统计就列检查对象,不手写估数。发现历史审阅错误时另写勘误,保留原记录。

完整规则与模板见 [本地交付约定](../../../docs/delivery.md);只拿到本 SKILL 时按以上约定建立最小 Markdown 文件即可,不要求先跑其它模块。

## 开跑前

### 要什么

| | 要什么 | 缺了会退化成什么 |
|---|---|---|
| **必需** | **JD 原文** | 只有名称/链接/转述时先按下文主动补齐流程检索原文;未取得前可整理探索线索,但不把转述当JD原句,不伪造抽取表 |
| **必需** | **你的必要条件与硬性排除条件(按实际有的提供,不凑数量)** | 缺了**不猜、也不用默认值**。会先要你写这两组,因为没有它们,所有岗位都会被判成"较匹配"(见「不对劲的时候」第 1 条) |
| 可选 | [`positioning.md`](../../00-workspace/templates/positioning.md)(定位文件,空模板在 `00-workspace`) | 没有就从上一行的口述里现场整理一份最小版本,并存回去,下次直接用 |
| 可选 | 加分条件 | 没有就只判"是否满足必要条件 + 是否触排除条件",**级别会收敛成三级**(强匹配与较匹配分不开),并明确告诉你少了哪一层。⭐ **写了加分条件、但它的上沿还没校准时也走这一档**——首轮的每个人都在这个状态里,见第二步「首轮」一节 |
| 可选 | ⭐ `branches.md`(活跃探路分支) | **一律按主线阈值判,探路岗位会被判成"不投"。** 这是缺省的保守行为,不是 bug。但必须明说一句:"我没看到任何活跃探路分支——**你如果在试新方向,需要手工告诉我**" |
| 可选 | `ledger.md`(台账,已跑过的岗位与对方回应) | 没有就跳过第三步的阈值反推,阈值停在 `纯占位待校准`,并在每次定级结论末尾标注这一点 |

### ⭐ 最小可接受形态

**一份JD或可检索的公司/岗位线索,加上你已有的目标条件。** 原文和条件缺失时先补齐;只得到线索不等于已完成定级。

散着贴进来就行 —— 微信里复制的一段、招聘页面上整片选中的文字、你自己口述的三句"我不接受什么",**都算**。整理成结构化表是 agent 的工作,不是你的。

#### ⭐ 补齐原文和条件后,你会拿到 X,但拿不到 Y

| ✅ X:你会拿到 | ❌ Y:你拿不到 |
|---|---|
| 一张结构化抽取表 + 一个级别 + **能追回到条件编号的理由** | **分开的「强匹配」与「较匹配」**——没有加分条件表(或有表但上沿还没校准),级别收敛成三级 |
| 一份「原文未提及」清单,逐条升级成面试必问项 | **任何一个标着 `实践校准` 的阈值**。全部停在 `纯占位待校准`——标定要的是你**已经做过**的判断,一份新 JD 里没有 |
| 一条可复核的「不投」理由(指得到具体编号) | **"我这条排除条件是不是定错了"的答案**——那要第三步的三类反推样本,每类 〔2-3〕 条(`默认建议值`) |

**一句话**:只有线索足够启动补查;取得JD原文和必要条件后才够**定级**,仍不够**标定阈值**。定级是"用现有标尺量一次",标定是"检查标尺本身准不准"——后者要的是一批你已经做过的判断,不是一份新的 JD。所以第一次跑完不要问"我的阈值定得对不对":在这个输入量下,那个问题没有答案,**任何看起来像答案的东西都是编的**。

### ⛔ 四条禁止(对 agent)

1. **不许报错退出。** 上游文件不存在是常态,不是异常。区分公开可查和用户私有缺口:前者主动查,后者集中问,已有材料继续分析
2. **不许静默自己编。** 没写汇报线就是没写——填"原文未提及"并进"待确认",**不要推一个像是那么回事的答案填进去**
3. **不许一次只问一个问题挤牙膏。** 要什么一次列全,让人一次补齐
4. **不许把该自己解决的整理工作推给用户。** 用户散着贴来的材料由你整理成结构化表;"请先把 JD 整理成表格再给我"是被禁止的回答

---

## 主动补齐信息(进入分析前及遇到关键缺口时)

先读已有材料与定位,不重复问已经给过的事实。把缺口按“会不会改变本次判断”排序,优先处理关键项,不能以一张信息不足清单结束服务。

1. **公开可查的,agent直接查。** 公司官网、产品说明、官方招聘原文及公开公告优先;记录具体URL、材料日期和检索日期。只有公司/职位名或链接时,先尝试找到对应JD;同名不清楚再问,不自行挑一家。补查所得放在独立来源段,不改写原JD的“原文未提及”。
2. **用户才知道的,主动集中问。** 例如希望做什么、不可接受的条件、当前面试阶段、已收到的沟通。可用一句:“我先核实官网与岗位内容;还需要你补充最影响判断的这几项:……”。问题按实际缺口生成,不为填满固定数量追问,不要求用户重排材料。
3. **边问边做独立工作。** 等用户时整理公开事实、列条件性分析和最值得验证的问题;没有回答就保持未知,不把沉默当确认,不以猜测生成硬条件。
4. **查不到时给具体交接。** 写已查入口、失败/冲突和仍需谁回答;网络不可用时明确未查,允许用户提供页面文本。需要岗位内部信息可准备给招聘方的问题,但不代发消息。连续补查没有新增证据时停止泛搜,说明哪条信息才能改变结论。
5. **补齐后重算。** 更新受新证据影响的条件、来源与结论;新事实推翻旧判断要注明原因。无关键缺口就直接分析,不额外设问卷。

本流程主动寻找分析所需材料;新公司机会探索由方向模块承接,不以“必须先提供完整JD”阻断检索。无法找到原文时可做公司层初步分析,但不能虚构JD抽取结果或宣称已完成岗位定级。

## 第一步 · 抽取(不做评价,只做客观抽取)

用 [`templates/jd-抽取模板.md`](templates/jd-抽取模板.md) 的空表逐栏填。**填之前先接受这条纪律**:

> **抽取阶段不下任何判断,原文措辞原样保留。**
>
> 为什么这条不能松:抽取时就顺手评价(把"负责数据平台的日常维护与迭代"写成"看起来是接手已有系统"),会**把 JD 里的原始信号洗掉**。后面的定级于是不是在评价 JD,而是在评价**一份已经被你评价过的材料**——错误从此不可见,因为原文已经不在表里了。

三条执行细则:

- **原文措辞保留。** 不同义替换、不精简、不"翻译成人话"。你觉得含糊的地方,正是要保留的地方——含糊本身是信号
- **薪资原样抄。** 不折算、不换算周期、不取区间中点、不补"大概"。以图片形式给出的薪资,抄下你看到的原样文本,并标注它来自图片
- **原文没写的,写"原文未提及"。** 它会自动进入"待确认"清单,成为面试必问项(交给 [`interview-strategic-assessment`](../interview-strategic-assessment/README.md)),**而不是被一个推测填掉**

### ⭐ `核心职责` 这一栏比薪资更重要

薪资谈得动,**做的事换不动**。这一栏的抽取规则是:**摘出原文里能支撑下面两组区分的句子**——

| 区分 | 原文里往哪看 |
|---|---|
| **从 0 搭体系 vs 接手已有系统** | 前者常出现"搭建 / 建立 / 从无到有 / 定义流程 / 组建";后者常出现"维护 / 迭代 / 优化现有 / 承接 / 保障稳定"。**看动词,不看名词** |
| **对内提效 vs 对外产品** | 前者常出现"内部效率 / 支持业务团队 / 降本 / 提效 / 赋能";后者常出现"面向客户 / 商业化 / 付费用户 / 对外交付 / 营收" |

**但抽取阶段只贴句子,不下结论。** 表里这一栏写的是"原文原句 + 它指向哪一组",不是"这是一个从 0 搭体系的岗位"。**两组都判不出时写"原文未提及",进待确认**——这本身就是一个强信号:一份说不清自己要人干什么的 JD,往往对应一个还没想清楚的岗位。

### ⭐ 「这条是怎么进来的」不是可有可无的登记项

抽取表里有一栏问「**这条 JD 是怎么进来的**」(搜索命中 / 平台推荐 / 对方主动推来 / 中间人转介 / 其他)。定级用不到它,所以它看起来最像可以省掉的那一栏。**恰恰相反**:

- **它是下游判断"你的搜索词在不在漂移"唯一的输入。** 反复出现、却不在你关键词列表里的那些岗位形态,只能从这一栏认出来
- **漏填 = 这条在后面的方向复盘里等于不存在**,不是权重低,是不进样本
- **它事后补不回来。** 一周后你不会记得某条是自己搜的还是被推来的,而这两者指向完全相反的解读(前者反映你的关键词,后者反映别人眼里的你)

执行要求:`搜索命中` 的**连搜索词一起记**;`对方主动推来` 的同时在 `ledger.md` 的「反向吸引」栏打标记;真想不起来就写 `其他` + 你记得的那半句。**⛔ 不许猜一个具体来源填进去**——猜出来的来路会污染的正是这一栏唯一的用途。

---

## 第二步 · 定级(四级,排除条件短路)

用 [`templates/定级规则模板.md`](templates/定级规则模板.md)。判定**必须按这个顺序**,顺序本身就是纪律:

```
① 硬性排除条件  →  命中任一条  →  判「不投」,短路,不再往下算
② 必要条件      →  ⭐ 三态,不是两态:
                    ├─ 满足          → 继续往下
                    ├─ 原文明确不满足 → 看是否落在活跃探路分支里
                    │                    ├─ 是 → 走该分支的更宽阈值 → 可判「探路」
                    │                    └─ 否 → 判「不投」
                    └─ 原文未提及     → 降一档 + 挂待确认 + 升级为面试必问项
                                        ⛔ 不据此判「不投」
③ 加分条件      →  在必要条件全满足的前提下,决定「强匹配」还是「较匹配」
```

### ⭐ 硬性排除条件不可被匹配度换

薪资、汇报线、权限这类是**不可交易的**,不是"权重特别高的加分项"。

- ❌ 不许写"排除条件命中一条扣 N 分"——只要它出现在同一个加权式子里,就总会被别的项换掉
- ❌ 不许出现"虽然薪资不达标,但匹配度很高,建议投一下试试"这种结论。**这句话就是这条纪律要防的那个错误本身**
- ✅ 正确形态是**短路**:命中 → 判「不投」→ 停止计算 → 理由里写清命中的是哪一条编号

> 这与 [`05-offer`](../../05-offer/README.md) 的 gate 是**同一条纪律**:那边是"加分项再多也换不掉一条必要条件",这边是"匹配度再高也换不掉一条硬性排除条件"。**这条纪律在几个模块里都出现过,犯的是同一类错**——把不可交易的条件当成了可以加权的项。所以你在多个模块里看到同一句警告,不是重复,是同一条纪律的不同落点。

### ⭐ 「原文未提及」是第三态,不是「未满足」

**JD 不写关键信息是常态,不是例外。** 汇报线、权限、办公方式,多数 JD 都不写。所以必要条件这一侧有三态:

| 态 | 它是什么 | 怎么处理 |
|---|---|---|
| **满足** | 抽取表里有原文能**证实** | 正常往下走 |
| **未满足** | 抽取表里有原文能**证伪** | 除非落在活跃探路分支内,否则判「不投」 |
| ⭐ **原文未提及** | 抽取表这一栏是空的 —— **它是一个待确认项,不是一个判定** | **降一档 + 挂进待确认 + 升级为面试必问项。⛔ 不据此判「不投」** |

「降一档」的意思:强匹配 → 较匹配;较匹配 → 保留,但标注"关键项未确认"。**它压低优先级,不关门。**

⭐ **三级收敛期怎么降**(〔B 上沿〕仍为 `纯占位待校准` 时 —— 见下面「⭐ 首轮」一节,**首轮的每个人都在这个状态里**):这时只有「匹配」一档,**降无可降**。口径写死:**保留「匹配」,标注"关键项未确认",并在批内相对排序里排到同等命中数的岗位之后。**
⛔ **不许因为"降不动"就把三态压回两态判「不投」** —— 那正好是这一节要防的那个错误,只是换了个入口进来。

**为什么必要条件这一侧要这么处理**,理由与排除条件那一侧同源(那边的说法是「推测项不能单独触发不可逆动作」):

- **「不投」不产生任何反馈**——不投递、不接触、没有回应,于是这条判断永远没有机会被证明是错的。它是**不可逆**的
- **一份 JD 没写某件事,最常见的原因只是这份 JD 写得糙**,不是招聘方在这件事上真的不满足你的条件。用"对方没写"去触发一个不可逆的动作,等于把**对方的写作质量**当成了你的判据

⛔ 不许出现这种结论:~~"JD 没提汇报线,按最坏情况算,判不投。"~~
✅ 正确形态:"**N2 待确认**——「汇报线」栏为 `原文未提及`;级别由强匹配降为较匹配,已列入面试必问。"

⚠️ **反过来也不许:不许把「原文未提及」当成「满足」放过去。** 那会让定级结论看起来很完整,实际建立在一批没人检验过的默认假设上。**三态就是三态,往哪边压成两态都是错的。**

### 四个级别

| 级别 | 判据 | 你该做什么 |
|---|---|---|
| **强匹配** | 无排除命中 + 必要条件全满足 + 加分条件命中数 ≥ 〔上沿阈值·纯占位待校准〕 | 优先投,值得为它单独定制材料 |
| **较匹配** | 无排除命中 + 必要条件全满足 + 加分条件命中数落在〔中段·纯占位待校准〕 | 投,用通用版本即可 |
| **探路** | 无排除命中 + 有必要条件未满足**但落在活跃探路分支内** + 满足该分支的更宽阈值 | 投,但计入该分支的配额,且到分支截止日一起复盘 |
| **不投** | 命中任一硬性排除条件(**最高优先级,无条件**);或**任一必要条件被原文明确证伪**且不落在任何活跃探路分支内。⛔ **「原文未提及」不算未满足**,见上一节 | 不投。**但要把理由写进定级结果文件,并在台账里留一行**——"不投"也是数据 |

> ⛔ 这里**没有"缺口上限"参数** —— 一旦允许"缺几条还能过",必要条件就变成了加权项,正是本模块上一节要防的那件事(硬性排除条件不可被匹配度换)。分支豁免哪几条必要条件,写在 `branches.md` 里,是**显式豁免**,不是缺口预算。

### ⭐ 首轮:加分条件表非空,但它的上沿还没校准

「开跑前」写的是**加分条件表为空**时收敛成三级。还有一种状态它没覆盖,而**首轮的每个人都在这个状态里**:加分条件写了几条,但〔B 上沿〕和〔B 中段〕都还是 `纯占位待校准`——**一个没有数值的上沿,分不开「强匹配」和「较匹配」**。

这一档这样处理:

1. **同样收敛成三级**(强 / 较合并成一档,就叫「匹配」)。⛔ **不许随手编一个上沿把它们劈开**
2. **但要给出相对排序**:这一批内部按加分条件命中数从多到少排出来,并明说一句"这是**这一批内部的相对排序,不是绝对档位**——换一批 JD,同一个岗位的位置会变"
3. 每条结论末尾标注:〔B 上沿〕仍为 `纯占位待校准`,因此强 / 较两档尚未分开

**它什么时候自动解开**:等你按第三步反推出〔B 上沿〕、把它的来源等级从 `纯占位待校准` 改成 `实践校准`(或至少 `默认建议值`)那一刻,四级自动恢复。触发条件是**样本量**,不是时间——第三步的三类样本每类攒够 〔2-3〕 条(`默认建议值`)就可以反推;少于这个量级,反推出来的上沿只是把一两条个例写成了规则。

⛔ **不许为了"能出四级"先编一个上沿。** 编出来的档位会立刻开始影响你投哪些岗,而它没有任何依据;更糟的是它长得和一个真阈值一模一样,三个月后你不会记得它是编的。这正是 §来源标注三挡要如实标的原因。

### 定级理由必须能被追回去

一条合格的定级结论长这样:

> **青栈网络 / 数据平台负责人 → 不投**
> 命中排除条件 **X2**(薪资下沿低于你写的下沿)→ 短路,未继续计算匹配度。
> 补充(不参与判定):必要条件 N1 N3 满足,N2 待确认(原文未提及汇报线)。

一条**不合格**的结论长这样:

> ~~综合看比较匹配,建议可以投一下。~~

区别不在语气,在**可追性**:前者能指回具体条件编号,后者指不回任何东西,所以既无法复核,也无法用来校准阈值。**每条定级理由都必须指向至少一个条件编号;指不到,就写"指不到",然后回到第一步看抽取表哪一栏是空的。**

### ⭐ 定级结果写到哪(⛔ 不要就地发明一个文件名)

一批 JD 定完级,产出**一份文件**:

```
triage/<日期>-定级结果.md
```

- 日期 = **这批 JD 的批次日期**,与 `jobs/<日期>-一批说明.md` 对齐,两份文件肉眼就能配上对
- 位置与命名的权威定义在 [`00-workspace` 的工作区骨架](../../00-workspace/templates/工作区骨架.md)
- **没有工作区、只是单跑一次的**:把同样的内容原样输出给用户,并告诉他"将来建工作区时,这份东西放 `triage/`"。⛔ 不许现场发明一个文件名,也不许把它塞进 JD 原文那份文件里

**一条都不许少的三样东西**:

1. **每条岗位的级别**(强匹配 / 较匹配 / 探路 / 不投;三级收敛期就写「匹配」并注明原因)
2. **理由,且能追回到具体条件编号**(`X1` / `N2` / `B1`…)。指不到编号就写"指不到",不许用"综合看还行"顶上
3. **待确认项**:所有 `原文未提及` 与 `我推测的`,逐条写清"要证实它该问谁 / 查什么",并标出它把级别压低了几档

**四个位置各管一件事,别互相塞**:

| 位置 | 装什么 | ⛔ 不装什么 |
|---|---|---|
| `jobs/<日期>-一批说明.md` | JD **原文**与抽取表 | 任何级别与判断——判断进 `triage/` |
| `triage/<日期>-定级结果.md` | 级别 + 可追编号的理由 + 待确认项 | JD 原文的改写版(原文只在 `jobs/`,这里引用原句即可) |
| `ledger.md` 的「级别」栏 | **一个字母**(S/A/B 之类),用来分层看回复率 | 理由——**一个字母装不下"能追到条件编号的理由"**,那是 `triage/` 的活 |
| `assessments/<公司>.md` | **面试前**的疑点与红旗绿旗判据 | 投前定级——读者和时机都不同(那边服务"要不要去",这边服务"要不要投") |

> ⚠️ **判成「不投」的那些也要写进这份文件,并在 `ledger.md` 里留一行。** 「不投」是本模块产出最多、也最容易蒸发的一类结论;它不落地,第三步的阈值校准就永远缺掉最重要的那一类样本。

---

## 第三步 · ⭐ 怎么定你自己的阈值

**仓库不给数字。** 下面是标定方法,完整表格在 [`templates/定级规则模板.md`](templates/定级规则模板.md)。

### 从哪几条已投过的岗位反推

不要凭空想一个阈值,**从你已经做过的判断里反推**。取三类样本,每类几条即可:

| 样本类型 | 它告诉你什么 |
|---|---|
| ① 投了、且对方有回应的 | 你的**实际命中区**在哪 |
| ② 投了、但事后后悔的 | 你**漏写了哪条排除条件**——后悔的那个理由,就是那条排除条件的原文 |
| ③ ⭐ 犹豫很久、最后没投、但一直惦记的 | **最有价值的一类。** 它标出的是你真实的下沿,而不是你以为的下沿。你写下的排除条件往往比你真实的底线更严——这类样本是唯一能发现这件事的入口 |

方法:把这几条岗位按第一步抽取成表,然后问"**要让我当时的判断成立,阈值得设在哪**"。反推出来的阈值标 `实践校准`;凭感觉定的标 `默认建议值`;没定的保持 `纯占位待校准`。

### 先松后紧,不是先紧后松

**默认先松。** 理由是不对称的:

- **先紧的代价不可回收**——被判「不投」的岗位不产生任何反馈(不投递、不接触、没有回应),于是阈值再也校不动了。这是一个**自我封闭的错误**:越紧,越看不见自己错在哪
- **先松的代价可回收**——无非是多读几份 JD、多写几条"不投"的理由。这些恰好是下一轮校准的样本

**唯一的例外:排除条件反过来,一开始就要写死、写紧。** 松的是匹配度那一侧,不是排除那一侧。把这两侧搞反是最常见的误用——结果是"什么都投得出去,但底线也守不住"。

### 多久回头校一次

**按新增样本量触发,不按时间。** 时间到了但样本没增加,校准只是在重新解释同一批数据。

三个**强制**校准时机(不等样本量):

1. 连续多条「强匹配」零回应 —— 要么是抽取错了,要么是阈值标在了一个和市场无关的位置
2. 一条探路分支**开启或关闭**时 —— 分支的更宽阈值和主线阈值必须一起看,否则会漂移成两套互不相干的标准
3. 你的**必要条件本身变了** —— 这时旧阈值全部作废,回到 `纯占位待校准`,不要拿旧数字硬套新条件

---

## 来源标注

每条结论都要能一眼看出它是哪来的。**三挡,不要第四挡**:

| 标注 | 什么时候用 | 例 |
|---|---|---|
| `你给的` | 用户提供的事实与偏好 | 必要条件 / 排除条件 / 阈值 / 你对某条职责的解读 |
| `公开可查` | JD 原文里的字段、公司公开信息 | 岗位名称、城市、薪资原文、招聘方公开介绍 |
| `我推测的` | JD 没写、由 agent 推断的 | "看起来汇报给业务负责人""团队规模应该不大""这大概是个从 0 搭的岗位" |

**每条 `我推测的` 必须附一句"要证实它,你该问谁 / 查什么"。** 例:

> 汇报线:推测直接汇报给业务线负责人 · `我推测的`
> 要证实它:面试时问"这个岗位向谁汇报,团队现在有几个人" —— 这类问题对方大概率能答,答不上来本身也是信号。

### ⭐ 推测项不能单独把一个岗位判成「不投」

一条标着 `我推测的` 的信息,**不足以触发硬性排除条件**。它可以让级别降一档并挂上"待确认",但不能直接关门。

⭐ **去向与必要条件的第三态同构,一条都不许少**:**降一档 + 挂待确认 + 升级为面试必问项**(交给 [`interview-strategic-assessment`](../interview-strategic-assessment/README.md))。
⛔ **只挂在"待确认"里、不给去向的推测项,到面试当天不会变成任何一个你问得出口的问题** —— 它会一直停在那里,而级别已经被它压低了。

理由:排除条件的杀伤力是短路式的、不可逆的(不投 = 没有反馈 = 阈值校不动)。**用一个猜测去触发一个不可逆的动作,是这个模块最贵的错误形态。** 这与 [`05-offer`](../../05-offer/README.md) 的「推测项不参与排序」是同一条处理方式。

---

## 不对劲的时候

`症状 → 最可能原因 → 你下一句该说什么`

| 症状 | 最可能原因 | 你下一句该说什么 |
|---|---|---|
| ⭐ **所有岗位都判成「较匹配」** | 硬性排除条件没定,或全部用了默认值——于是没有任何东西能把岗位推到两端 | *"先把你的必要条件和排除条件各写 2-3 条,再重跑一次"* |
| **所有岗位都判成「不投」** | ① 排除条件写得比你的真实底线更严 ② 你在试新方向,但它读不到任何活跃探路分支,按主线阈值判 | *"把这几条排除条件按'不满足我就真的不会去'再筛一遍;如果我在试新方向,先把这条探路分支说给你听"* |
| **定级理由是"综合看比较匹配"这种一句话** | 抽取表没填完,或条件没编号——理由无处可追 | *"把每条定级理由改成指向具体条件编号的形式;指不到就直接说指不到,我们回去看抽取表哪一栏是空的"* |
| **抽取表里出现了 JD 原文里没有的措辞** | 抽取阶段做了评价或润色,原始信号已被洗掉 | *"重新抽一次,这一栏只许贴原文句子;原文没写就写'原文未提及'"* |
| **同一家公司两条岗位定级完全相反,但 JD 差别不大** | `核心职责` 那一栏的两组区分没做,或薪资原文被折算过 | *"把两份 JD 的核心职责原文并排贴出来,我们看差在哪一句"* |
| ⭐ **一批岗位因为"JD 没写"被判成「不投」** | 必要条件被当成两态判了——「原文未提及」被算成了「未满足」 | *"把所有因为『原文未提及』判成不投的重判一遍:那是待确认项,不是判定——降一档 + 挂待确认 + 升级为面试必问,不投的只留原文能证伪的那些"* |
| ⭐ **它问你"定级结果存哪",或者自己起了个文件名** | 落点规则没读到 | *"定级结果一批一份,存 `triage/<日期>-定级结果.md`,日期和这批 JD 的 `jobs/` 文件对齐;里面每条要有级别 + 能追到条件编号的理由 + 待确认项"* |
| ⭐ **强匹配和较匹配总是分不开,或者忽然冒出一个上沿数字** | 加分条件的上沿还是 `纯占位待校准`(首轮的默认状态);后一种是它自己编了一个 | *"这一批先收敛成三级,只给批内相对排序,别编上沿;等我攒够可反推的样本再按第三步标定"* |

---

## 三级自救阶梯

**不要一出问题就把活推回给人。** 上面那张表是 L3 的载体,不是"一遇事就回报"的入口。

| 级 | 什么时候到这一级 | 该做什么 | ⛔ 不该做什么 |
|---|---|---|---|
| **L1 有现成的,直接走** | 抽取模板与定级规则命中 | 按规则执行,**不问**。已有条件能裁决的判断自己裁决 | 不为"确认一下"打断用户 |
| **L2 没现成的,自己走通 + ⭐ 沉淀** | 上游文件缺 / 用户散着贴来一堆材料 / JD 格式怪 / 某一栏原文没写 | 自己把散料整理成抽取表;自己从口述里现场整理出最小版本的条件清单;拿不准就**按更保守的一侧判**并记下理由。**走通之后写回去**——条件清单存进 `positioning.md`、新的抽取线索补进模板、定级结果与理由记进 `ledger.md` | ⛔ **不把"这次绕过去了"只留在会话里**。没沉淀 = 下次还得再试一遍 = 等于没走通 |
| **L3 实在不行,才回报人** | L2 也走不通;或只有用户本人才有的事实(他的真实底线、他是不是在试新方向) | 输出 **症状 + 已经试过什么 + 建议你做什么**(给可选项) | ⛔ 不输出裸错误;⛔ 不说"请提供更多信息"这种没有指向的话;⛔ 不把 L2 该自己解决的整理工作推给用户 |

---

## 变更日志

- **v0.1.2**(来自 [`fixtures/jd-triage/`](../../../fixtures/jd-triage/expected.md) 首轮双向断言,**只改判据表述,不动结构**):两处都不是区分力失败,是**首跑时 hit 侧无判据可依 / 落点缺失** ——
  - **三级收敛期的「降一档」没有取值**:SKILL 只定义了"强匹配→较匹配 / 较匹配→保留但标注",而**首轮的每个人都在三级收敛期**(〔B 上沿〕未校准),那时只有「匹配」一档、降无可降。已写死口径:保留「匹配」+ 标注"关键项未确认" + 批内排到同等命中数之后,⛔ 不许因为降不动就把三态压回两态判「不投」。
  - **排除条件侧的推测项没有去向**:必要条件第三态明写"降一档 + 待确认 + **升级为面试必问项**",而 §来源标注「推测项不能单独判「不投」」只写了前两样。已补齐第三样并写明理由 —— **只挂在待确认里、不给去向的推测项,到面试当天不会变成任何一个你问得出口的问题。**
- **v0.1.1**(来自一次端到端实跑测试):必要条件补第三态「原文未提及」(降一档 + 待确认 + 面试必问,**不据此判「不投」**)· 定级结果有了明确落点 `triage/<日期>-定级结果.md` 与四个位置的边界 · 补「加分条件表非空但上沿未校准」这一档(首轮默认状态)与它的解开条件 · 「最小可接受形态」写清拿得到 X / 拿不到 Y · 第一步点明「这条是怎么进来的」这一栏的用途。
- **v0.1.0**(首发,骨架):抽取纪律 + 四级定级短路顺序 + 阈值标定方法 + 探路分支更宽阈值与降级行为 + 三段式区块(开跑前 / 来源标注 / 不对劲的时候)+ 三级自救阶梯。**所有阈值参数化留空**(「不投」一栏**不设缺口上限参数**——必要条件未满足即不投,豁免只能来自显式的探路分支),完整定级模板排 v0.3。

## 真人反馈修订 · 2026-09-13

信息不足时主动检索、集中追问并在补齐后更新判断;不只交付缺口清单。

Files in this skill

  • README.md11.7 KB
  • SKILL.md31.2 KB
  • templates/jd-抽取模板.md11.5 KB
  • templates/定级规则模板.md15.2 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.