resume-tuninglisted
Install: claude install-skill anneheartrecord/charles-skill
# resume-tuning
最终交付物是**一份 PDF 简历**。默认优先一页,资深经历、学术 CV、作品型岗位或用户明确要求完整展开时可以多页;纯文本、Markdown、JSON profile、HTML 都只是中间产物。
这是交互式 skill:先问清目标岗位、语言、优势、可选模块、JD 和隐私场景,再出 2-3 个版式预览让用户选,最后渲染定稿。不要一把梭。
## Routing
先判断用户要做哪类任务,只读对应 reference,再按需读取公共标准。
| 用户意图 | 必读 reference |
|---|---|
| 从旧 PDF / 图片 / 粘贴文本 / 口述经历生成简历 | `references/intake.md` |
| 按目标 JD 调整简历、检查关键词覆盖 | `references/tailor-to-jd.md` |
| 渲染多版式预览、输出最终 PDF | `references/render-and-deliver.md` |
| 只诊断问题,不直接生成 PDF | `references/review-only.md` |
| 需要结构化中间数据或脚本校验 | `references/resume-schema.md` |
公共标准按任务读取:
- 内容质量:`references/resume-standards.md`
- 写作硬指标:`references/resume-writing.md`
- ATS / JD 规则:`references/ats-and-jd.md`
## Non-Negotiables
- 不编造数字、经历、职位、技能、证书、学校、公司或项目。
- 缺数据标 `[DATA NEEDED: ...]` 并追问;定稿 PDF 不能残留该标记。
- JD 匹配只 surface 用户真实具备的能力;真没有的关键词作为缺口反馈,不能塞进简历。
- 扫描/图片型 PDF 不能依赖文本提取结果,要用视觉 OCR 转写后再结构化。
- 中文简历必须使用内嵌单文件 CJK 字体,并在定稿前转 PNG 肉眼核验字形。
- 真实简历、JD、手机号、邮箱等私密内容不要提交到仓库;输出放用户指定目录。
- 模板 CSS 默认不改;优先只替换 `<body>` 内容。要改模板样式时先确认这是版式优化任务。
- 一页是推荐目标,不是硬性门槛;超过一页时说明原因和取舍,不把页数本身当失败。
## Tooling
- 提取 / 渲染 / 预览:`python3 scripts/resume_pdf.py extract|render|preview ...`
- ATS 检查:`python3 scripts/ats_check.py <final.pdf> --name "<姓名>" --keywords "..."`,或 `--jd jd.txt` 做粗匹配。
- Profile 校验:`python3 scripts/resume_profile.py validate <profile.json>`
- JD 分档:`python3 scripts/jd_match.py <profile.json> --keywords "..."`,或 `--jd jd.txt`
- 内容 lint:`python3 scripts/resume_lint.py <profile.json> --mode draft|final`
## Output Contract
交付时简短