# Recruit Daily

> 每日招聘流水线：把"查 boss+猎聘未读 → 双通道主动寻源 → 硬规则初筛 → 打招呼 → 补台账 → 出日报" 串成一条流水线。当用户说"处理今天的招聘"、"有没有未处理人选"、"帮我找找 X 岗的人"、 "给合适的人打招呼"、"出今天的招聘日报"，或在招聘工作区做任何寻源/初筛/建档动作时使用。

- Skill: `viy1204/recruit-daily` (Agent Skill, multi-file: 4 files)
- Install (CLI): `npx skillmds@latest add viy1204/recruit-daily`
- Raw SKILL.md: https://api.skillmd.com/api/skills/viy1204/recruit-daily/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: Viy1204 (https://skillmd.com/u/viy1204)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/viy1204/recruit-daily

---


# recruit-daily —— 每日招聘流水线

每日主力动作：把 Boss 直聘 + 猎聘两个渠道的「查未读 → 主动寻源 → 初筛 → 打招呼 → 建档 → 出日报」串成一条流水线。

**这是编排文档**：CLI 命令细节见 [`references/channels.md`](references/channels.md)，
台账与日报格式见 [`references/ledger-and-report.md`](references/ledger-and-report.md)，
日报卡片推送见 [`references/daily-card.md`](references/daily-card.md)。
本文档只管「顺序、判断、跨渠道协同、安全」。

## 铁律：先读事实源，别凭记忆

开工**先读**（都在工作区根下）：
- `CONTEXT.md` —— 术语、**初筛硬规则**、**在招岗位与优先级**（唯一事实源，随时可能更新）。
- `AGENTS.md` —— 分工与「不可逆动作等确认」红线。
- `01-jd/_internal/<role>.md` —— 各岗命脉技能 / 排除信号 / **关键词迭代表**（寻源前必读，越搜越准）。

**本文档不写任何硬规则数字**——年龄线、学历线、地点要求全部以 CONTEXT 为准，避免两处打架。
如果 CONTEXT 硬规则区还是空的（没跑过岗位梳理），停下来先走 `skills/recruit-grill/SKILL.md`。

## 主流程（按需跳步）

1. **查未处理**：
   - `boss list --unread`（角标 > 0 才有）
   - `liepin chatlist --json`，过滤 `unread_count` 非 "0"。
   - **有未读**：逐个按 CONTEXT 硬规则判 → 该回复的回复、该要简历的要、
     该排除的**先记台账等用户确认**（绝不自动点"不合适"）。
   - **没未读**：转主动寻源。

2. **定寻源岗位与优先级**：读 CONTEXT「在招岗位与优先级」，按优先级分配今天的额度。

3. **双通道 × 双入口寻源**（每个目标岗都跑），命令与坑见 channels.md：
   - **boss**：`boss positions` 拿岗位槽位 → 人才库 `boss search <词> --job <岗>` + 推荐 `boss recommend <岗>`。
   - **猎聘**：`liepin joblist --json` 拿 ejobId → `liepin search "<词>" --city <城市> --json` + `liepin recommend --json`。
   - 搜索词用 `_internal/<role>.md` 关键词迭代表里最新一轮的有效词。
   - **完成判据**：每个目标岗，boss 与猎聘各自的 search + recommend 两入口都跑过——漏一个渠道或入口 = 没做完。
     CONTEXT 里若已沉淀"某岗某渠道无效"的结论，可按结论跳过并在日报注明。

4. **硬规则初筛**：严格套 CONTEXT「初筛硬规则」+ 各岗 `_internal` 的**命脉技能**与**排除信号**。
   判定顺序：硬门槛（年龄/学历/地点）→ 命脉对口 → 排除信号 → 评级（⭐~⭐⭐⭐，命脉强 = ⭐⭐⭐）。

5. **打招呼**（对外不可逆——先读下方安全规则）。合适的按渠道打。
   - **完成判据**：每个过筛人选要么已打招呼、要么记了跳过原因（硬规则/额度/已联系过），逐一回报，无静默遗漏。

6. **补台账** `02-sourcing/dedup-ledger.csv`（去重键 = 姓名+应聘岗位）。格式见 ledger-and-report.md。台账是**唯一事实源**。
   - **完成判据**：本轮接触过的每个候选人在台账里有且仅有一行；无重复序号；按岗位计数与本轮处理人数对得上。

7. **出日报**：
   - 本机有 `lark-cli` 且已配置 → 飞书云文档；
   - 没有 → 写本地 `runtime/reports/YYYY-MM-DD.md`。
   - 两种载体结构相同，见 ledger-and-report.md。内容**从台账同步**，不另立事实源。
   - **完成判据**：日报含今日概况数字、按岗人选表、待用户确认清单三块，且文档链接/文件路径已回给用户。

8. **推日报卡片（可选补充）**：用户要在 IM 收到提醒时，往飞书推一张互动卡片，正文只放
   「四个数字 + 重点人选 + 待你拍板清单」，长尾折叠，按钮跳第 7 步的文档。骨架、字段坑与发送命令见
   [`references/daily-card.md`](references/daily-card.md)。没 IM 通道 → 跳过，别伪造推送。
   - **完成判据**：卡片过 schema 校验**且**过美观度自查（校验通过≠可发），五层结构齐，
     数字与台账一致，`message_id` 与收件人已回给用户。

9. **回填关键词迭代表**：从本轮「初筛通过/强匹配」的真实简历反向提取搜索词，
   写回 `01-jd/_internal/<role>.md` 的迭代表（有效词/无效词/积极信号/拒绝模式）。下轮先读它。
   - **完成判据**：今天每个出过「初筛通过」人选的岗位，迭代表都新增了一行。

## 打招呼安全规则（对外不可逆，最重要）

- **默认逐个/批量打招呼前必须用户确认**（不群发）。用户在本轮**明确授权**"合适的直接打招呼"
  即视为本轮的持续授权，可直接打，但**逐一回报**打了谁；跨轮不自动延续，明天要重新授权。
- **boss `--greet auto`** 只按内置的学历/年龄标签筛，标签缺失保守跳过；它**不判命脉**——
  想更准就先用命脉关键词收窄搜索池，再 auto。
- **遇每日沟通额度上限**（付费弹层）：停下问用户，别自己决定花付费权益。
- **遇风控 / 账号异常 / 验证码**：立即停，不硬闯，报告用户。
- **商业敏感信息**（CONTEXT 里标注敏感的内容）**不写进对外话术和日报**；
  对外提及公司/产品名前跟用户核对口径。
- 打招呼是**按职位**的：同一人换岗可重复打；打前用 chatlist / 台账去重，
  别重复骚扰（尤其猎聘对已建会话会重发消息）。

## 什么时候不用本流程

- 新开岗位 / 改标准 → `skills/recruit-grill/SKILL.md`。
- 本地收到的简历（猎头/内推/直投），或飞书邮箱猎聘/BOSS 简历收取与评估 → `skills/resume-review/SKILL.md`。
- 某岗深度市场盘点 → `skills/market-talent-mapping/SKILL.md`。
- 约面试 / 改期 → `skills/interview-schedule/SKILL.md`（建日程前必经用户确认）。
- 发 offer、谈薪 → 完全等用户明确指令，逐案处理。

