Files
2026-06-06 05:21:10 +00:00

134 lines
5.5 KiB
Markdown
Executable File
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
name: resume-builder
description: 从零生成或全面优化一份中文简历,并导出 docx / pdf / markdown 多种格式。用 STAR 法则改写经历、做 ATS 关键词覆盖率检查、根据行业(互联网产品 / 技术 / 金融 / 通用)选模板。当用户说"帮我写简历 / 优化简历 / 简历不会写 / 我的简历太弱了 / 简历看起来不专业 / 简历改一改 / 给我做个简历模板 / 简历导出 / 简历加点关键词",或者上传 .pdf/.docx 简历后说"看看怎么改"时,必须触发本 skill。即使用户只问"我的简历有什么问题"也要触发。
---
# Resume Builder简历生成与优化
这个 skill 干三件事:
1. **结构化生成**:从用户经历产出一份符合中文求职市场审美的简历
2. **STAR 法则改写**:把"参与了 X"这种弱句子,改写成"通过 X 实现 Y结果 Z"
3. **ATS 关键词优化 + 多模板导出**:保证简历能过自动筛选,并支持 docx/pdf/md
不做JD 定向改写(那是 jd-resume-tailor 的事,请在那里做"针对某 JD 改简历"
---
## 何时触发
- "帮我写一份简历"
- "我的简历太弱了 / 没有亮点 / 看起来不专业"
- "把这段经历用 STAR 改一下"
- "简历里关键词够不够"
- "导出 PDF / docx 简历"
- 用户上传简历但没明确说"针对某 JD 改" → 触发本 skill如果说了"针对 X 公司 / X 岗位改" → 调用 jd-resume-tailor
---
## 工作流
### Step 1: 摸清简历当前状态
如果用户**有简历文件**.pdf / .docx / .md / .txt
- pdf 走 pdf skill 解析
- docx 走 docx skill 解析
- 提取出:基本信息、教育、工作经历、项目经历、技能、其他
如果用户**没有简历**
- 用 AskUserQuestion 收集信息(参考 `references/intake_questions.md` 里的问题清单)
- 一次问 3~4 个问题,分轮收集,避免劝退
### Step 2: 选模板
读取 `references/templates/` 决定结构:
- 互联网产品 / 运营 / PM → `templates/internet.md`
- 技术 / 研发 / 数据 → `templates/tech.md`
- 金融 / 咨询 / 商科 → `templates/finance.md`
- 通用 / 跨行业 → `templates/general.md`
如果用户没指定方向,用通用模板,但**询问一句**"你下一步主要往什么方向投?我可以用更适合那个方向的版式。"
### Step 3: 用 STAR 改写每段经历
读取 `references/star_rewrite_guide.md`,对每条工作 / 项目经历做 STAR 改写。
**STAR 不是死板的四段式**,而是确保每条 bullet 都有:
- **背景信号**(一句话点出问题大小或情境)
- **动作**(你具体做了什么,要有动词)
- **结果**(数字 / 百分比 / 排名 / 规模)
如果用户提供的信息里**没有数字**,要主动追问:"这个项目用户量大概是多少?""这个优化大概提了多少?记不准的话给个量级也行。"
### Step 4: ATS 关键词检查
调用脚本:
```bash
python scripts/ats_check.py --resume <resume.md> \
--industry internet \
[--jd <jd.txt>]
```
脚本会:
1. 抽取简历里的关键词
2. 对照行业关键词库(来自 job-intent-tracker 或本 skill 的 `references/keywords/`
3. 输出"已覆盖 / 建议补充"两个清单
4. 给出 ATS 友好度评分(字体单一性、表格使用、特殊符号、图片等)
**ATS 友好的硬规则**
- 不要用 word 表格放经历(很多 ATS 解析不了)
- 不要把日期放在装饰性图片里
- 不要写两栏布局(有些 ATS 会按列读,导致顺序混乱)
- 不要插图标 / emoji 在标题里
- 字体用宋体 / 思源宋体 / Arial / Helvetica 之一
### Step 5: 多格式导出
读取 `references/export_guide.md`,按用户需求选择:
**docx 导出**(最通用,国内 HR 优先要 docx
- 调用 docx skill
-`assets/resume_template.docx` 作为模板(如果存在)
**pdf 导出**(最终投递版):
- 推荐流程:先 docx → 再用 word/libreoffice 转 pdf
- 直接生成 pdf 用 reportlab 比较丑,不推荐
- 调用 pdf skill 做后处理(加密 / 元数据清理)
**markdown 导出**(备份 + GitHub
- 直接写 .md 文件即可
**默认行为**:除非用户指定,同时输出 docx + md 两个版本。
### Step 6: 自检 & 反馈
输出后做一次自检(写到聊天里给用户看,不用单独存文件):
```
✓ 长度:< 1 页(应届)/ ≤ 2 页(社招)
✓ 联系方式齐全(手机 + 邮箱,可选 GitHub/作品集)
✓ 每段经历都有量化结果
✓ 关键词覆盖率vs <industry> 行业库__%
✓ ATS 友好度__/10
⚠ 待用户确认:<还需要补的信息>
```
---
## 反模式(不要做)
- ❌ 帮用户编数字(说"提升 30%"但用户根本没说过)—— 必须基于用户提供的信息,不知道就标 `[待补充:具体数字]`
- ❌ 用形容词堆砌("具有出色的沟通能力" "认真负责" "有上进心")—— 删掉
- ❌ 一段经历写超过 5 条 bullet —— 太密会被 HR 跳过
- ❌ 写"自我评价"长篇 —— 国内现在不流行1~2 行 summary 即可
- ❌ 把所有公司都写一样的 bullet 数 —— 重要的多写,次要的少写
- ❌ 把"熟悉 / 了解 / 会用"当能力描述 —— 改成"用 X 做了 Y"
## 与其他 skill 的协作
- 用户接着说"针对这家公司改一下" → 转 `jd-resume-tailor`
- 用户接着说"准备面试" → 转 `interview-prep`
- 用户没确定方向就来改简历 → 先反问"你打算投什么方向?",必要时转 `job-intent-tracker`