jwb-apply · v26.10.0 · 2026-10-06 · sha256 34c4e26765b52746
jwb-apply v26.10.0A
Immutable. This exact content never changes and is served at /api/v1/blob/34c4e26765b52746.
---
name: jwb-apply
description: Use when 用户已确认要投递某个岗位,要求生成投递包、按 JD 改简历、生成简历 PDF、归档投递材料或把投递记入追踪表时。English triggers:apply to a job, tailor resume to a JD, generate resume PDF, archive application materials, record an application in the tracker.
# 环境声明:宿主据此判断能否挂载(不是装饰字段)
compatibility: Python 3.12+;jobws 指仓库内的 python tools/jobws.py(在仓库根运行);工作区已初始化;全本地运行,产物只写你的工作区。
license: MIT
metadata:
version: 26.10.0
allowed-tools: Bash(jobws:*)
---
# 生成投递包
**执行前必读**:工作区的 `AGENTS.md`(经验资产、自定义红线、简历版本)与 `jwb-recruit-coach` 技能。
## 前置检查
读 `<工作区>/01_岗位池/<公司>_<岗位>/解析卡.md`。
- 不存在 → 提示先执行 JD 解析
- 「门槛结论」是「不通过」→ 终止,提示未通过硬门槛
- 「门槛结论」是「待补档案」→ 不终止,提示先补齐档案中缺失的硬门槛事实再重跑(2026-09-24 四态口径)
- 「门槛结论」是「待确认」→ 不终止,请用户人工确认门槛判定
- 总分低于 45 → 先向用户确认是否仍要投递,不直接生成材料
## 流程
### 1. 选定简历版本
按解析卡的方向,在工作区的 `02_简历工坊/` 下选对应版本。版本文件名见工作区 `AGENTS.md` 的「简历版本」小节。
方向在档案中无对应版本时,按 JD 侧重点选最接近的一版,并在备注说明。
### 2. 按需微调简历
**只改四处**:求职方向、Profile、技能顺序、项目表述。**项目事实一律不动。**
每个动词都要经得起 5–10 分钟追问。动词由 `00_事实库/` 的事实卡决定,**不把「参与」一律升级为「负责」**。
改完**必须同步更新对应 HTML 模板**——HTML 是 PDF 的生成源,只改 md 不反映到 PDF。模板命名约定为 `02_简历工坊/pdf/resume_<版本>.html`。
**简历风格**:模板主色收敛在一个变量 `--resume-accent` 上(默认专业蓝,石墨灰备选写在注释里)——换色只改它。简历**保持亮底深字**的专业取向(打印与 ATS 优先),**不跟随应用主题皮肤**;工作区的 `resume_style` 偏好(`jobws prefs get resume_style`)用来记录你选定的风格名,保证跨会话一致。
### 3. 生成 PDF 并 ATS 校验
```
jobws resume --workspace <工作区> --version <版本>
```
走数据驱动「标准版式」时(生成源是 `source/resume_<版本>.json`):
```
jobws resume render --workspace <工作区> --version <版本>
```
三项全过才算成功:
1. 页数为 1
2. 可提取文本 ≥ 300 字符(可用 `--min-text-length` 调整)
3. `config/ats_required_facts.txt` 中的关键事实全部命中(该文件不存在时跳过第三项)
**任一项不通过 → 中止,不归档、不写追踪表**,报告具体失败项。
关键事实清单由用户自己定义——通常是最不能删的核心数字与成果。若工作区尚无此文件,提示用户建立。
超页时的删减原则:**先删装饰性内容,绝不删核心成果与可验证数字**。具体顺序见工作区 `AGENTS.md` 的自定义红线。
### 4. 归档
在 `<工作区>/05_投递追踪/applications/<公司>_<岗位>/` 下保存:
- `JD原文.md`:投递时的 JD 快照(能回答「三个月前投这家时 JD 怎么写的」)
- `简历_投递版_<YYYYMMDD>.pdf`:本次实际投递的版本(能回答「当时用的哪版简历」)
- `面试记录.md`:空白模板,含公司、岗位、轮次、日期、被问问题、答得不好的点
### 5. 写入追踪表
```
jobws track --workspace <工作区> add \
--company "<公司>" --role "<岗位>" --direction <方向> \
--batch <批次> --source <来源> --deadline <YYYY-MM-DD> \
--applied <YYYY-MM-DD> --stage 已投 --resume <版本> --score <评分> \
--archive "05_投递追踪/applications/<公司>_<岗位>"
```
取回 id,回填归档目录备注。
### 6. 提交
**不得自动执行 `git commit`。** 生成提交信息 `apply: <公司> <岗位>` 与待提交清单,交用户确认后由用户执行。
工作区含姓名、照片与联系方式,非预期提交难以撤回。
## 输出要求
报告:简历版本、PDF 路径、ATS 校验结果、归档目录、追踪表 id、待提交清单与建议的提交信息。
## 宿主形态:没有仓库时(MCP / DSH)
宿主未接仓库(`jobws` CLI 不可用,如装进 DSH 的形态)时:
- JD 内容:资源 `jobws://job/<目录名>/jd`;读不到就让用户提供,**不要自己补写岗位要求**。
- 追踪记录写入**必须两段式**:`preview_add_application` / `preview_update_application`
拿 token → 把 diff 展示给用户 → 用户确认后 `apply_approval` 落盘。预览阶段**零落盘**,
不得跳过展示这一步。
- 简历渲染与归档写文件不在 MCP 工具面内:需要生成 PDF / 归档时请用户在桌面端或仓库形态
完成,**不要声称已生成**。
- 输出:投递记录摘要(公司 / 岗位 / 评分 / 追加上去的字段)+ 待用户确认的动作。