PhD / postdoc 申请的文书定制 workflow:基于上一步的项目情报,自动生成像求职信的 Cover Letter + 像候选人的 CV。
本 README:写给人类,解释这是什么 / 放在 workflow 哪一步 / 怎么接入。 QUICKSTART.md:写给 AI agent,按工具完成安装、跑通 CL + CV 生成。
phd-doc-flow 是 PhD 申请 5 步 workflow 的 Step 04。
Step 01 能力网络 → Noah0025/obsidian-capability-network
Step 02 搜索 + 初评 → Noah0025/phd-scout-flow
Step 03 深度调研 → Noah0025/phd-intel-brief
Step 04 文书定制 → Noah0025/phd-doc-flow [当前]
Step 05 投递追踪 → 规划中
各步骤独立可用,整套串联效果最好。
它做两件事:
- CL:基于 5 Block 结构起草 Cover Letter(核心是 Block 3「问题溢出」段——把过去工作的局限连接到目标项目的研究问题)
- CV:按岗位定制 CV,包括 Research Profile 锚选、bullets 重排、Technical Skills 重排、课程精选、CL-CV 一致性自检
CL 驱动叙事,CV 支撑事实。两者一起提交。
| Skill | 触发 | 输出 |
|---|---|---|
phd-cl |
写 CL / 改 CL / review CL | cover_letter.tex + cover_letter.pdf(tectonic 编译) |
cv-tailor |
改 CV / 定制 CV / tailor CV for this position | cv.tex + cv.pdf |
两个 skill 都自带 Phase 0(情报补全)+ 主流程。可以:
- 独立运行:单跑 phd-cl 或单跑 cv-tailor,都会自动补齐情报
- 串联运行(推荐):先 phd-cl 后 cv-tailor——CL 决定 narrative,CV 围绕 narrative 重排,一致性最强
skill 输出 .tex 文件,编译成 PDF。
| 文档 | 模板来源 |
|---|---|
| CL | repo 自带 templates/cover_letter_template.tex — vanilla article 类,无自定义 macro,任何 LaTeX 工具能编。phd-cl 默认基于它填内容。如有自己的 .tex 骨架,传 cl_template=<path> 覆盖默认 |
| CV | 你自带——传 cv_master=<path> 参数给 cv-tailor。CV 千人千面,repo 不提供通用模板。完全没 LaTeX 经验的话,从 Overleaf 学术 CV 模板下载一份当 master 用 |
phd-doc-flow 本身做 情报补全(Phase 0)+ 文书生成(Phase 1+)。你给什么都行,缺的它会补:
| 入口 | 用户给的 | Phase 0 做什么 |
|---|---|---|
| A · 完整 intel.md | A-E 全填好的 intel.md(按 templates/intel_template.md 结构) |
跳过,直接起草 CL/CV |
| B · phd-intel-brief 的 Brief | 跑过 phd-intel-brief,有 Intel Brief(B 段内容) |
补 A、C、D、E |
| C · 只有岗位 URL | 一个招聘公告链接 | A-E 全部从头建 |
Phase 0 的核心是 C. Strength-Requirement Mapping——CL Block 4 写 X→Y→Z 链条的弹药库。phd-intel-brief 不输出这段(只有一句"我的匹配点"),phd-doc-flow 在 Phase 0 把它补齐。
| Repo | 为什么 | 必须吗? |
|---|---|---|
obsidian-capability-network(Step 01) |
把课程 / 论文 / 实习沉淀成能力图——Phase 0 写 X→Y→Z 链条的 X 来自这里 | 不必须,但强烈推荐——没有的话 X 容易写空 |
phd-intel-brief(Step 03) |
单目标深调研产出 B 段内容,Phase 0 直接复用 | 不必须,phd-doc-flow Phase 0 自己也能调研 |
完整 4 步链跑通效果最好,但单跑 phd-doc-flow 也是完整可用的——只要给个岗位 URL 就能跑。
| Block | 目的 | 关键 |
|---|---|---|
| 1 · Opening | 申请目标 + 研究汇聚 | 不要 "I am writing to apply" |
| 2 · Recent Work | 最近一段最相关研究 | 讲研究问题 + 分析视角,不堆工具栈 |
| 3 · Reflection | 反思与问题溢出 | 「我做 Y 时发现 Z 没解决 → Z 正是项目要做的」(关键段) |
| 4 · Contribution | 我的贡献 + 韧性 | X→Y→Z 链条,不写「我相信我能」 |
| 5 · Closing | 收尾 | 2-3 句,不写 5 年规划 |
完整方法论见 docs/cl_methodology.md。
| Step | 动作 |
|---|---|
| 01 | Research Profile 锚选——按岗位定 1 主轴 + 2 支撑轴 |
| 02 | 研究经历 bullets 重排——最相关的提到第一条,不新增 |
| 03 | 技术能力类别重排——岗位最看重的提到最前面 |
| 04 | 选 4 门最匹配的课程——从成绩单挑,而非堆全部 |
| 05 | CL-CV 一致性——CL 提到的,CV 必有对应 entry |
| 06 | 孤儿词检查——每 bullet 1 整行 或 1.5+ 行,不留单词在新行尾 |
原则:CV 是事实文档,定制 = 重排、精选、改写措辞,永远不编造。
完整方法论见 docs/cv_methodology.md。
CL 驱动叙事,CV 支撑事实。规则:
CL 提到 X → CV 必带 X 的对应 entry
CL 提到的方法、机构、合作,CV 都必须能找到对应 bullet / entry。否则评审一翻 CV 就发现 CL 在自夸。
这个 workflow 沉淀的是「把岗位情报转化成提交文书」的可复用流程。它基于 5 Block 结构生成 CL 草稿,按 6 步重排 CV,并执行 CL-CV 一致性自检。
它不替代:
- 你对自己研究方向的判断
- 与 PI 的实际交流
- 提交前的人工通读
也不保证:
- 一次生成完美的文书(通常需要 2-3 轮迭代)
- 所有 LaTeX 模板兼容(默认 vanilla
article类,用 tectonic 编译;页数校验用 poppler 的pdfinfo)
把 QUICKSTART.md 整份交给你的 AI agent。
人类手动安装也可以按 QUICKSTART 走,约 10 分钟。
MIT