Initial commit

This commit is contained in:
Z User
2026-06-06 05:21:10 +00:00
Unverified
commit 6664758a6d
493 changed files with 135653 additions and 0 deletions

133
skills/resume-builder/SKILL.md Executable file
View File

@@ -0,0 +1,133 @@
---
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`