---
name: recruit-board
description: 招聘任务的默认网页看板，供 Claude Desktop、Codex App、WorkBuddy 查看本轮步骤、真实任务动态、逐人结果与待确认事项，以及各岗位候选阶段。六个执行工作流开工时接入；用户说“打开招聘看板”“看本轮进度”“处理了哪些人”时也使用。Claude 原生面板可选手动打开；不执行招聘平台操作。
---

# 招聘进展看板

先确认用户要看的工作区，定位本 skill 所在目录；读取该工作区的台账、岗位表、可选映射与独立进度文件。候选资料按点击读取，岗位状态仅在用户保存时更新本地岗位表。源码维护目录没有台账时，不自动创建候选资料或打开空面板。

## 打开与开工

Claude Desktop、Codex App、WorkBuddy 默认使用同一网页。先读取 [`references/hosts.md`](references/hosts.md)，按“记录真实步骤 → connect 探测 → 必要时宿主管理前台服务并复核 → 打开或复用网页并交付本轮链接”交接，在耗时寻源前让用户看到本轮动态。首次默认打开 live 首页，明确指定本轮时才固定 run。只查看看板不 start；源码维护也不创建招聘 run。

只有 connect 返回 `ready` 才可复用服务；使用它返回的完整 `url` / `runUrl`，保留工作区键与 run 参数。宿主有专用服务、Browser/Preview 工具时使用实际工具，没有打开工具就给明确本机链接；不承诺自动右侧停靠。Claude 原生 `/recruiting-board` 保留为手动可选入口，单一内容源加载和降级规则也见 hosts；主 skill `/recruit-board` 负责使用指引，不每轮自动开两份 UI。

## 读数边界

- 记录数只取 `02-sourcing/dedup-ledger.csv`，每个姓名＋原岗位计一次；同人不同原岗位不自动合并。阶段按当前状态精确映射。状态或评级冲突保留原值并归未归类，不从备注、档案或来源轮次推断。
- 岗位只读 `CONTEXT.md`「在招岗位与优先级」表。默认显示在招＋未知岗位，范围可选“在招 / 关注 / 全部”；搜索只缩小岗位选项，不改变汇总。关注仅是按工作区隔离的个人偏好，不修改 CONTEXT；关闭岗位仍可在“全部”查看存量。未读取岗位配置时显示台账岗位且状态未知；缺失、错误、陈旧与正常空表明确区分。
- 可选 `_shared/recruit-board.config.json` 以 `schemaVersion: 1`、`statusStages` 和 `roleAliases` 提供精确映射，格式见仓库 README。状态键 trim＋英文小写，阶段值限 `STAGES` 中的 ID；岗位别名仅 trim 后完整匹配，目标须在本次成功读取的岗位表中，禁止链与循环。筛选用标准岗位名，原岗位仍显示；显式映射 `unclassified` 不报未识别状态。
- 无兼容配置时使用标准映射；首次配置非法则整份不应用并提示。曾成功应用的配置变坏或缺失时，候选、岗位与源时间整体保留并标陈旧，不能新旧混算。配置字典与说明元数据不进入 HTTP 快照。
- 上部是**工作区任务**，未绑定 session 的 run 不代表左侧会话本轮。网页常规首页默认 live，按 `createdAt` 跟随最新任务；带 `?run=<id>`（或 helper 完整链接中的 `run` 参数）明确固定本轮，手动选择历史也固定。查看候选、完整结果或编辑岗位时新 run 不抢占，保留阅读位置并提供“回到最新”。没有 run 时显示“尚无任务进度记录”，不补造历史。
- 前台每 1 秒单飞轮询，不重叠请求；页面隐藏时降频，恢复可见立即读取。读取状态与业务“最后记录”分开，轮询成功不能说明任务进程存活，也不称实时心跳；异常退出不按超时猜完成或失败。
- 首页最近动态仅按需读取所选 run 的 3 条真实结果 body，不把候选结论塞进全量私密快照；完整结果与候选资料继续按需加载。演示记录只用隔离的演示工作区，不与真实记录混用。
- 本轮任务结果独立于下方台账筛选，按需显示处理过的人、实际结果和需确认事项；“本轮已记录 N 人”只表示收据覆盖数，未入账者也可显示结果但不冒认资料，读数与待确认规则见 [`references/progress.md`](references/progress.md)。
- 全量快照仅含必要姓名、岗位、评级、原状态与阶段及任务 summary；结果短结论按需读取。点击候选后按原 ID 读取台账背景、备注、来源和已关联本地资料；资料正文不进入全量快照。不拖拽、不修改候选状态、不联系候选人，不连接 CDP、招聘网站或 DSH 面板。

## 候选资料与岗位管理

- 点击姓名查看资料，返回名单保留岗位、阶段和任务选择。仅支持工作区内 Markdown、TXT、PDF；Markdown 用安全文本元素显示，PDF 可独立打开或下载。外链、工作区外、可执行或不支持的文件明确标不可读。
- 台账简历路径按单个完整值解析，不拆分说明文字或猜附件。同名档案仅在姓名完整、全局唯一、姓名字段或标题一致、岗位精确匹配时自动关联；先核完整岗位名；完整值属于其他正式岗位或别名时绝不剥括号，只有未知尾注才可剥后精确核对。匹配档案的相对链接以档案目录解析。歧义可用 `_shared/recruit-board.files.json` 精确指定，格式见仓库 README；不扫描整个工作区找同名附件。
- 岗位旁“管理”只允许调整当前标准表中已配置岗位，状态限在招、已下架、已关闭、暂停、待核。保存更新本地 `CONTEXT.md` 的一个状态单元格，保留其他原文、换行和编码并自动备份；不修改招聘平台岗位。取消不写入，版本冲突时重新读取后再保存。
- 原生通过 `scripts/actions.mjs` 共用资料解析和岗位写入；成功输出 JSON 数据，失败输出 JSON 错误并返回非零。`candidate`／`document`／`open-document` 只接原候选 ID 和资源 ID，`role-info` 读取版本，`role-set` 必须携带 revision。不能把任意路径或 shell 命令作为接口参数。

## 工作流接入

执行初始化、岗位梳理、每日招聘、简历评估、约面试、人才盘点时，默认按 [`references/hosts.md`](references/hosts.md) 开工，并按 [`references/progress.md`](references/progress.md) 的 `WORKFLOWS` 记录 start／step／等待／完成／跳过／失败／取消；候选处理动作核实后及时逐人记 `result`。缺脚本或接入失败时说明未记进度或看板不可用的原因，继续招聘本体，不自动覆盖旧 skills；看板不授予任何对外操作权限。
