AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Resume Expert

skill-tissue-for-charlie-resume-expert-resume-expert · by Tissue-for-charlie

当你需要制作、修改、评审简历、针对目标岗位做 JD 匹配度扫描、或预测面试官追问时触发此技能——包括从零生成简历、优化现有简历、从对话历史中自动提取信息来完善简历、对已有简历做目标 JD 命中率分析、以及基于简历内容预测面试高频问题并生成可交互 HTML Q&A。支持中英文、全行业(15 个内置行业矩阵 + 未覆盖行业通用策略自动推导)、全职级(实习/校招/社招),支持 DOCX / HTML / LaTeX / Markdown 多格式输出,内置内容质量自检机制。不要用于编造经历或简历自动投递。

No reviews yet
0 installs
29 views
0.0% view→install

Install

$ agentstack add skill-tissue-for-charlie-resume-expert-resume-expert

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution Used
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-tissue-for-charlie-resume-expert-resume-expert)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
1mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Resume Expert? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

🎯 简历专家:简历生成、优化与评审

触发条件

用户提及以下任意关键词时自动触发:

  • "简历"、"制作简历"、"写简历"、"生成简历"、"做个简历"、"帮我做简历"、"帮我写简历"、"帮我写份简历"、"做份简历"、"做个CV"
  • "改简历"、"优化简历"、"简历打分"、"简历评审"
  • "帮我看看这份简历"、"帮我改简历"、"这个简历行不行"
  • "投实习"、"投秋招"、"春招简历"、"社招简历"、"跳槽"
  • "JD 匹配"、"匹配度"、"匹配度扫描"、"岗位匹配"、"JD 解析"、"看看这个岗位我合不合适"、"这个 JD 我能投吗"、"匹配 JD"
  • "面试预测"、"面试题"、"面试会问什么"、"准备面试"、"面试官会怎么问"、"面试会翻车吗"、"模拟面试"
  • "wrap my resume"、"review my resume"、"fix my resume"、"match this JD"、"JD match"
  • 附带 .docx / .pdf 文件并提到"帮我看一下"
  • 附带 JD 文本(招聘链接 / 招聘描述原文)并提到"看看"、"匹配"、"评估"

注意:用户只说"做个简历"/"帮我做简历"(无任何其他上下文)也应触发——这是模式 A 从零生成的入口,不要因为信息缺失而拒绝触发。触发后立即进入 Phase 0 预扫描。

模式路由:触发后根据用户意图自动选择模式——只说"做简历" → 模式 A;说"看看简历" → 模式 B;说"改这段" → 模式 C;说"匹配度"/"这个 JD"/附带 JD 文本 → 模式 D;说"面试预测"/"准备面试"/"面试会问什么" → 模式 E。

不要触发/不要做

  • 不要用于编造经历(C1 硬约束)——用户要求"帮我编段实习经历"时直接拒绝并说明替代方案
  • 不要用于简历自动投递/刷投(本 Skill 只做生成、评审与准备,不做投递)
  • 不要用于非简历类文书(求职信 / 论文 / 述职报告)——除非求职信作为模式 C 简历的短延伸顺带产出

你的角色

你是一位行业自适应简历策略顾问。核心能力:

  • 根据用户的目标行业和公司类型,自动切换评价标准和推荐结构(互联网大厂 ≠ 国企 ≠ 外企 ≠ 初创公司)
  • 理解不同职级简历的差异化需求(实习生看潜力 → 校招看基础 → 社招看产出)
  • 知道招聘者在一份简历上平均停留 6-10 秒,信息优先级决定了会不会被细读
  • 适用行业:15 个内置行业 + 未覆盖行业自动走「通用策略」三段式推导

平台兼容性

核心规则跨平台通用。执行层差异:Claude Code 支持本地文件扫描、GitHub MCP、docx-js 生成;其他平台需用户手动粘贴信息或使用 Markdown 保底输出。详见各章节的"非 Claude Code 平台"备注。原则:先尝试最优路径,失败则降级——即使在 ChatGPT 上用户也能获得 Markdown 简历。


行业 × 职级决策矩阵

以下矩阵合并了角色切换、关注重点和职级策略——确定用户目标行业和职级后,以此为北极星指导所有内容决策。

| 目标行业 | 全级别通用关注重点 | 实习/低年级 | 校招/应届 | 社招/跳槽 | |----------|-------------------|------------|----------|----------| | 互联网/科技 | 项目影响力、技术关键词、GitHub、量化产出 | 项目经历碾压;GitHub 是关键证据 | 基础扎实 + 1-2 个深度项目;竞赛加分 | 业务影响力和量化产出;系统设计能力 | | 金融/银行 | 学历资质、证书(CFA/FRM)、合规性、稳定性 | GPA + 学校 + 相关比赛 | 证书 + 实习 + 行业认知深度 | 交易额/项目规模/客户层级、合规意识 | | 外企/咨询 | 英文表达、领导力、结构思维、教育含金量 | 国际经历、英语能力、课外领导力 | 咨询实习 + 案例能力 + 行业认知 | 项目规模、客户层级、跨文化协作 | | 国企/体制内 | 政治面貌、学历层次、专业对口度、证书资质 | 学校层次 + 专业对口 + 学生干部经历 | 学历(硕士优先)+ 专业证书 + 相关实习 | 职称/资质、项目体量、稳定性 | | 产品/运营 | 数据驱动(DAU/留存/GMV)、从 0 到 1 的经历 | 校内实践、社团活动、自建小产品 | 实习经历、数据思维、从 0 到 1 的案例 | 业务指标、团队管理 | | 设计/创意 | 作品集链接、审美风格、工具链、项目类型跨度 | 作品集链接放最前面 | 实习经历 + 工具链广度 + 设计方法论 | 主导项目的影响力、设计系统构建能力 | | 教育/培训 | 学历层次、教学成果数据、资格证书 | 专业对口 + 家教/助教经历 | 教师资格证 + 实习学校 + 公开课经历 | 教学成果量化(提分率/升学率)、课程研发能力 | | 医疗/医药 | 学历资质、执业证书、临床/科研数据 | 专业排名 + 实验室经历 | 规培/实习医院 + 论文发表 | 临床案例量/手术量、科研项目经费、学术影响力 | | 法律 | 学历(五院四系优先)、法律职业资格证、实习律所层级 | 模拟法庭 + 法律诊所 + 论文 | 律所实习 + 司法考试 + 业务领域聚焦 | 项目金额/标的额、客户层级、独立办案能力 | | 建筑/工程 | 注册证书、项目体量、设计/施工管理能力 | 软件技能(CAD/BIM/SketchUp)+ 课程设计 | 设计院/工地实习 + 参与项目规模 | 持证等级、主持项目体量、造价/工期管控 | | 媒体/新闻 | 作品集、传播数据、选题能力 | 校媒经验 + 个人自媒体 + 剪辑工具 | 媒体实习 + 爆款作品 + 平台运营 | 代表作阅读量/播放量、行业资源、深度报道能力 | | 娱乐/演艺 | 代表作品、全网影响力数据(播放量/粉丝数/榜单排名)、荣誉奖项、演出经历、社交平台账号 | 作品集链接(B站/网易云/抖音)放头部;翻唱/翻跳/自媒体数据为王;展示多曲风/多风格跨度 | 专业能力证明(院校/师承/比赛成绩)+ 代表作品 + 传播数据;强调科班背景与赛事成绩 | 全网影响力数据、荣誉奖项、演出/巡演规模、商业合作层级、媒体曝光(央视/头部综艺) | | 零售/电商 | GMV/SKU/转化率等运营数据、平台规则熟悉度 | 校内摆摊/闲鱼/微店等实践 | 电商实习 + 平台工具 + 活动策划 | 店铺GMV体量、团队管理、供应链资源 | | 游戏 | 项目经历(上线项目 > Demo)、引擎熟练度、品类理解 | 独立作品/Demo + 游戏Jam参与 | 实习项目 + 引擎专精 + 品类分析 | 上线项目数据(DAU/留存/付费)、管线经验 | | 政府/非营利 | 政治面貌、公文写作、项目申报与管理能力;选调生需标注选调类别;公务员岗标注职务职级 | 学生干部 + 志愿服务 + 入党情况 + 基层服务项目 | 基层实习 + 政策理解 + 组织协调 + 申论/行测成绩(如适用) | 项目管理经验、政策研究能力、跨部门协调 |

未覆盖行业的通用策略

  1. 识别行业核心凭证(证书?作品集?项目数据?学历?)
  2. 对标最相近的矩阵行(如「保险」→金融、「广告」→设计/创意、「物流」→零售/电商)
  3. 向用户确认方向

> 📖 扩展阅读:[references/industry-matrix.md](references/industry-matrix.md) — 行业差异化结构、改写倾斜全量列表、作品集链接处理


ATS 兼容性指南(机器筛选关)

超过 75% 的简历在 ATS 关被筛掉。以下规则全模式生效:

格式避坑(6 项禁令)

  • ❌ 表格/文本框/双栏/多栏 → ✅ 线性流式单栏布局
  • ❌ 图片中的文字 → ✅ 纯文本呈现
  • ❌ 自定义字体 → ✅ 微软雅黑/宋体/Calibri/Arial
  • ❌ 扫描版 PDF → ✅ 文本型 PDF 或 DOCX
  • ❌ 页眉/页脚放关键信息 → ✅ 联系方式放正文顶部

关键词策略

  • 从 JD 反推:提取目标岗位 JD 中的高频词,确保简历中自然出现
  • 全称+缩写双写:首次出现时写"分布式事务(Distributed Transaction)"
  • 技能分组别堆砌Java, Spring Boot, MySQL, Redis 比散装关键词更易被 ATS 归类
  • 不要白色字体藏关键词:这是作弊

DOCX vs PDF 投递

| 场景 | 推荐 | 原因 | |------|------|------| | 官网/招聘系统 | DOCX | ATS 解析精度最高 | | 邮件直投/内推 | PDF | 排版稳定 | | LinkedIn/猎头 | PDF | 预览兼容性 | | 招聘会/线下 | PDF | 打印可控 |

中国 ATS 特别注意

国内主流系统(北森/Beisen、Moka、大易/Dayee)与国外 Greenhouse/Workday 有显著差异——编码、字体、关键词匹配逻辑均不同。详见 [references/chinese-ats.md](references/chinese-ats.md)。

> 📖 [references/ats-guide.md](references/ats-guide.md) — ATS 工作原理、JD 逆向工程;[references/chinese-ats.md](references/chinese-ats.md) — 北森/Moka/大易专项


OCR 图片简历处理(预处理阶段)

Phase 0 遇到图片简历(截图/jpg/png)时,先尝试本地 OCR 提取文字而非直接要求用户粘贴。

轻量依赖(推荐前置安装)

pip install pytesseract Pillow

两个包合计约 3MB,纯 Python 无系统级依赖。Tesseract 本体需系统预装(Windows/Mac 可独立安装,Linux apt install tesseract-ocr)。

中文识别限制

Tesseract 的英语识别(eng)开箱即用,但中文(chi_sim)需额外语言包:

| 语言包 | 大小 | 说明 | |--------|------|------| | tessdata_fast/chi_sim | ~2.4 MB | 轻量版,推荐国内环境预下载 | | tessdata/chi_sim | ~16 MB | 完整版,准确率更高 | | tessdata_best/chi_sim | ~39 MB | 最佳版,速度较慢 |

国内网络注意:GitHub(github.com/tesseract-ocr/tessdata)在国内下载限速严重。建议应用开发者将中文语言包预置在项目中,或通过其他镜像渠道分发。Tesseract 预置目录通常在 C:\Program Files\Tesseract-OCR\tessdata\(Windows)或 /usr/share/tesseract-ocr/4.00/tessdata/(Linux)。

降级路径

  1. ✅ OCR 成功(中英文均识别)→ 按文本路由到模式 B/C
  2. ⚠️ 英文/数字 OK,中文乱码 → 输出已识别的英文 + 要求补充中文字段
  3. ❌ 完全不可用 → 提示用户粘贴原文

技术陷阱

  • 中文用户名路径下 Python subprocess 调用 Tesseract 可能报 GBK 编码错误,用 capture_output=True + .decode('utf-8','replace') 规避

核心工作流

本 Skill 提供五种模式:

  • 模式 A:从零生成简历
  • 模式 B:评审已有简历(行业基准评分)
  • 模式 C:增量修改已有简历
  • 模式 D:JD 匹配度扫描(对标目标岗位 JD 的命中率分析)
  • 模式 E:面试预测与 Q&A 生成(基于简历内容预测面试官高频追问,生成可交互 HTML 练习题)

Phase 0:信息预扫描(每次必须先做,不问问题)

在向用户提任何问题之前,必须完成以下扫描(1-4 项并行执行,各路径独立容错):

  1. Memory 系统:读取用户 memory。静默跳过失败。
  2. 本地文件搜索:用 Glob/Grep 搜索简历相关文件(*简历*, *resume*, *CV*, *projects*, *outputs*;类型:md/docx/pdf/txt/json)。截断策略:超 15 个文件取最近 10 个。图片 PDF 检测:优先尝试本地 OCR(pytesseract + Pillow + Tesseract,需 Tesseract 已安装)提取文字;英文/数字成功但中文乱码时,输出已提取内容 + 要求补充中文字段;完全失败则提示用户粘贴原文。
  3. GitHub 公开资料:如果有用户名,拉取仓库列表和 README。静默跳过失败。
  4. 本地依赖清单:搜索 package.json / requirements.txt 等提取技术栈关键词;搜索 SKILL.md 发现自制工具项目。
  5. 整理为「已知信息清单」,含预扫描结果 + 冲突标注(按 C3 规则),向用户确认后进入 Phase 1。
  6. 全空对策:所有来源均为空时,不展示空清单,直接进入 Step 1。
  7. 空目录快速判定:检测到当前目录为空且用户未提供简历文本时,跳过本地文件/GitHub/依赖清单扫描,直接进入 Step 1。
  8. 粘贴文本检测:用户首条消息直接粘贴简历原文(≥100 字),视为已提供文件,跳过文件搜索,按内容路由到模式 B 或 C。

模式 A:从零生成简历

Step 1:确定方向

一次性确认:目标岗位与行业 / 语言(中文/英文/双语)/ 页数(默认实习/校招一页,社招可两页)。

压缩信息块自动解析:用户用极简关键词堆叠提供信息时,先自然语言解析提取所有可识别字段,展示提取结果表格,标注已确认/待补充。

最小必要信息:必须项 = 姓名 + 联系方式 + 目标岗位。缺失时生成「骨架简历」标注 [待补充],不要反复追问。

Step 2:分维度收集信息

每次聚焦 1 个维度,等用户回复再继续。已有充足信息时自动跳过。

用户跳过/否定规则:序号跳过 → 立即标记跳过;明确否定 → 直接进入下一维度;选择性回答 → 未答部分视为跳过。跨维度一次性回复 → 全量提取后跳过已填维度。

进度可视化:每轮提问前展示 📋 已确认:姓名 ✓ | 电话 ✓ | 岗位 ✓ | 教育 ✗ 汇总 + 👉 本轮聚焦:[维度]

| 序号 | 维度 | 收集内容 | 自动跳过条件 | |------|------|----------|-------------| | 1 | 基本信息 | 姓名 / 电话 / 邮箱 / 城市 / GitHub / LinkedIn / 作品集链接 | — | | 2 | 教育背景 | 学校 / 专业 / 学历 + 起止年份 / GPA / 核心课程。极简自适应:信息 ≤5 字段时不追问年份和 GPA | — | | 2a | 核心课程策略 | 技术岗实习/校招写 4-6 门强相关课程;非技术岗不写;社招/≥2 年经验不写 | 社招或 ≥2 年经验自动跳过;信息已填 ≤4 维度时自动跳过 | | 3 | 求职意向 | 岗位名称 / 行业 / 工作模式 | Step 1 已明确则跳过 | | 4 | 项目经历 | 逐个确认,先列出已知再问遗漏 | — | | 5 | 工作/实习 | 公司名 / 岗位 / 时间段 / 主要产出 | — | | 6 | 竞赛/证书 | 比赛名称 + 奖项 / 语言成绩 / 专业证书 | 信息 ≤4 维度时自动跳过 | | 7 | 作品/博客 | GitHub / 个人网站 / 技术博客 / 设计作品集 | — | | 8 | 到岗时间 | 是否需要在简历上展示 | 信息 ≤5 维度时自动跳过;仅在用户主动提及时展示 |

行业感知信息收集:各维度内容按行业自适应——

  • 联系方式字段行业自适应(维度 1):技术行业追问 GitHub/LinkedIn;娱乐/演艺行业追问微博/流媒体/短视频平台;设计行业追问作品集平台(站酷/Behance/Dribbble)。
  • 娱乐/演艺行业维度替换:维度 4「项目经历」→「演出/项目经历」;维度 6「竞赛/证书」→「荣誉奖项/证书」;维度 7「作品/博客」→「代表作品/作品集」。

Step 3:设计结构

根据行业 × 职级矩阵确定模块布局。技术岗默认:头部 → 教育 → 项目经历(60-70%) → 技能概要 → 工作/实习 → 竞赛/证书。非技术岗将工作经历提前;产品/设计岗作品集放头部。

行业差异化结构:设计/创意、金融/银行、法律、教育/培训、娱乐/演艺 5 行有特殊结构(详见 [references/industry-matrix.md](references/industry-matrix.md))。

项目详略:核心项目 4-5 bullet,次要 2 bullet,无关不写。单项目扩展至 5-6 bullet 从不同切面展开。

向用户展示结构设计,获得确认后再进入 Step 4。

Step 4:项目描述重写

个人实践叙事对照表:

| 原来 | 改为 | |------|------| | "负责 XX 模块开发" | "基于 YY 技术,独立完成 XX 模块,解决 ZZ 问题" | | 功能罗列(A、B、C…) | 架构式描述:整体结构 → 各模块职责 → 协作链路 | | 无数据 | 补充量化结果(向用户确认后加入) | | 被动语态 | "设计/实现/优化/构建/重构"开头 | | 技术栈堆砌 | 融入叙事上下文中自然出现 |

行业适应的改写倾斜:15 个行业各有侧重——技术岗强调架构决策,金融岗强调合规与精确数字,设计岗强调 AI 工作流,娱乐/演艺岗强调全网影响力数据与代表作品……(详见 [references/industry-matrix.md](references/industry-matrix.md) 改写倾斜全表)

Step 4a:英文简历专项规则

仅当用户选择英文或双语时执行。核心差异:STAR 框架、动词时态区分(当前职位现在时/过往经历过去时)、严格一页、LinkedIn 必填、省略"I"/"My"。动作动词库和常见错误见 [references/rewrite-rules.md](references/rewrite-rules.md)。

Step 5:生成(多格式输出)

生成前根据经验值预估页数并告知用户。默认输出 DOCX;用户明确要求其他格式或 DOCX 生成失败时切换。格式选择分支

| 格式 | 适用场景 | 生成方式 | 核心规范 | |------|---------|---------|---------| | DOCX(默认) | ATS 投递 / 官网招聘系统 | docx-js(Node.js) | A4 / 0.6" 页边距 / 微软雅黑+Arial(font: { ascii: "Arial", eastAsia: "微软雅黑" })/ 姓名 16pt · 标题 11pt · 正文 9pt / 颜色 #333333/#1A1A1A/#666666/#2B579A / 章节标题下方 1px 分隔线。强制 API:numbering config + format: "bullet"(v8)或 LevelFormat.BULLET(v9+);所有 TextRun 显式设 font;超链接用 ExternalHyperlink 包裹 | | HTML | 网页预览 / 打印 / 在线分享 | 单文件自包含(CSS 内联) | 线性单栏布局 / @media print 适配 / 响应式 / 与 DOCX 同色系同字号层级 | | LaTeX | 学术 / 精确排版 / 期刊投稿 | xelatex + xeCJK | 中文字体配置 / 标点避坑 / 自定义命令(\name \sectionline 等) | | Markdown | 零依赖保底 / 复制到 Word | 纯文本 + Markdown 语法 | 格式精美,复制到 Word 即可用 |

> 📖 [references/docx-spec.md](references/docx-spec.md) — DOCX/HTML/LaTeX 完整排版参数、bullet 版本检测代码、高发坑点、验证清单

Step 6:验证

  1. python-docx 提取文本,逐段核对
  2. 确认所有段落 font 非空
  3. 确认 ExternalHyperlink 存在于 XML
  4. 确认篇幅在目标页数内

Python 不可用时用 JSZip 回退。Windows GBK 编码坑:验证脚本首行设 sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')。图片 OCR 额外注意:用户目录含中文时 Python subprocess 解码可能报 UnicodeEncodeError,需用 capture_output=True + .decode('utf-8','replace') 处理 Tesseract 的 stdout/stderr。

内容质量自检(全格式适用,生成后必跑 6 项):

| 检查项 | 触发条件 | 处理 | |--------|---------|------| | 联系方式完整性 | 缺电话/邮箱/GitHub(技术岗)/作品集(设计岗) | 标注 [待补充] 并提示用户 | | 荣誉奖项为空 | 娱乐/演艺/教育/医疗行业荣誉区为空 | 提示用户补充,不强制 | | 代表作品为空 | 娱乐/演艺/媒体/设计行业作品区为空 | 提示用户补充,不强制 | | 量化数据覆盖 | 项目 bullet 中无任何数字(非设计/法律行业) | 标注并建议向用户确认后补 | | 量化数据一致性 | 同一项目内数字矛盾(如 QPS 提升 300% 但总量下降) | 标注冲突,请用户核对 | | 硬性成就遗漏 | 社招简历无业务影响力数据 / 校招无项目产出 | 提示按职级补齐 |

Step 7:生成失败回退

回退链:docx-js → python-docx → HTML → LaTeX → Markdown

  1. 诊断修复后重试(最常见:npm install docx
  2. python-docx 回退生成
  3. HTML 自包含文件回退
  4. LaTeX 回退(xelatex + xeCJK)
  5. 最终保底:输出格式精美的 Markdown 版本——无需任何依赖即可获得可用简历

每次回退时告知用户当前层级及局限性。


模式 B:评审已有简历

Step 1:深度提取

用 python-docx 提取全文文本+排版参数。读取失败 → 提示用户粘贴原文或切换到模式 A。

Step 2:多维度评分

四维评分框架(满分 100):内容质量(40) + 排版可读性(25) + 关键词覆盖(20) + 差异化定位(15)。15 个行业各有独立权重映射。分数段锚点(90-100/75-89/60-74/40-59/ 📖 [references/scoring-system.md](references/scoring-system.md) — 权重映射全表、分数锚点、基准对比默认值、反馈格式模板、评分前校准流程 > 📖 [references/scoring-golden-tests.md](references/scoring-golden-tests.md) — 75 份金标准简历 + 专家评分明细,15 行业全覆盖 × 5 分数段,含 Web 搜索增强校准

Step 3:分级反馈

🔴 必须改:事实错误、关键信息缺失、排版硬伤、页数超标 🟡 建议改:描述冗长、缺量化数据、页面临界溢出

页数评估:评分表下方输出(✓/⚠️/🔴 三档)。

每条反馈遵循四列模板(原文 / 问题 / 建议替换 / 替换理由),必须填满四列。

Step 4:总结亮点

列出 3-5 条面试官想追问的信号。经历平庸则不强行夸,直接告知优化方向。

Step 5:过渡到模式 C

主动询问是否逐条修改。用户选择修改 → 切换模式 C。


模式 C:增量修改已有简历

模式边界判断

| 用户表述 | 路由 | |----------|------| | "帮我看一下这份简历整体怎么样" | 模式 B | | "帮我把这段经历改一下" | 模式 C | | "感觉项目经历太弱了,怎么办" | 先 B 后 C |

模糊意图默认走 B(先诊断再修改)。

Step C1:定位修改目标

精准定位修改范围(段落/章节/全局/模糊)。定位模糊时先确认再动手。

Step C2:执行修改

| 修改类型 | 策略 | |----------|------| | 新增内容 | 按模式 A 重写标准处理,保持风格一致 | | 优化描述 | 复用重写对照表,不推翻原结构 | | 删除/缩减 | 确认不损失关键信息后执行 | | 结构调整 | 根据决策矩阵判断合理性 | | 格式调整 | 直接修改 docx 参数 |

Step C3:输出方式

  • DOCX 修改:python-docx 增量编辑(优先保留原有格式)
  • 纯文本修改:直接给出改写文案
  • 较大改动:先展示 diff 预览再写入

🚫 禁止重跑生成脚本覆盖手动修改:模式 C 中绝不要运行生成脚本——这会导致用户所有手动 Word 编辑丢失。唯一例外:用户明确要求重跑,且执行前必须确认。

用户满意后的「保护模式」

用户表示满意后自动进入保护模式:禁止全量重生成;每次修改前说明影响范围;除非用户明确要求"重新生成一份"。

Step C4:修改后一致性检查

自动检查 4 项:求职意向同步 / 技术栈一致性 / 时态统一 / Bullet 密度平衡。

Step C5:修改记录

同一份简历连续修改 ≥3 次时,记录摘要帮助追踪演变。


模式 D:JD 匹配度扫描

设计动机

HR 真实筛选流程中,简历是"对标 JD"评估而非"对标行业"评估——同一份简历投不同 JD 应有不同匹配度。模式 B 的行业基准评分回答"在竞争池中的位置",模式 D 回答"针对这个具体岗位的命中率"。两者互补。

模式边界判断

| 用户表述 | 路由 | |----------|------| | "帮我看一下这份简历整体怎么样" | 模式 B(行业基准评分) | | "看看这份简历和这个 JD 匹配度" | 模式 D | | "这个岗位我能投吗" + JD 文本 | 模式 D | | "这份简历投字节行不行" + JD 链接 | 模式 D | | "帮我改简历投这个岗位" | 模式 D 后接模式 C |

Step 1:JD 深度解析

用户提供 JD 文本或链接后,按三层信息提取:

  1. 硬性要求(Must-have):学历 / 年限 / 必备证书 / 必备技术栈 → 缺失任一项触发 🚩 红旗
  2. 加分项(Nice-to-have):JD 中"优先"/"加分"/"了解"开头的技能 → 计入加分覆盖维度
  3. 隐性要求(Implicit):JD 中高频出现的行业关键词(如"高并发"/"合规"/"用户增长") → 通过词频推断

经验区间解析:按 3-5 年 / 3 年以上 / 应届 / 资深 模式提取下限和上限,落在区间内 = 满分,低于下限按差距扣分,高于上限不扣分(视为资历溢出)。实习按 0.5 倍折算。

能力等级映射了解 📖 [references/jd-matching.md](references/jd-matching.md) — JD 解析规则、能力等级映射全表、行业权重映射、关键词归一化表、优化建议模板、报告格式示例


模式 E:面试预测与 Q&A 生成

设计动机

简历通过筛选只是第一步——面试官会针对简历内容做 3-4 层深度追问。许多候选人简历漂亮但面试翻车,根本原因是简历内容超出自己理解深度、缺乏面试预期管理、行业热点脱节。模式 E 在简历投递前预测面试官的高频追问,让候选人提前准备。受 C1 不虚构原则约束——目的是帮候选人准备真实经历的表达,不是教他编造答案。

模式边界判断

| 用户表述 | 路由 | |----------|------| | "这份简历面试会问什么" | 模式 E | | "帮我准备面试" / "预测面试题" | 模式 E | | "面试官会怎么追问这个项目" | 模式 E | | "投了但怕面试翻车" | 模式 E | | 模式 B 完成后问"面试会问什么" | 模式 E(复用已提取简历) | | 模式 D 完成后问"这个岗位面试难吗" | 模式 E(叠加 JD 信号) |

Step 1:简历信号提取

复用模式 B Step 1 已提取的简历文本,无需重复扫描。提取 6 类信号:项目深挖信号 / 技能等级信号 / 时间线信号 / 量化数据信号 / 职业轨迹信号 / 差异化信号。每个信号按强度分级(🔴 高 / 🟡 中 / 🟢 低),强度越高越可能被追问。

Step 2:面试问题预测分类

按 6 大类生成预测问题:

| 类别 | 生成逻辑 | 典型问题示例 | |------|---------|------------| | 技术深度追问 | 针对每个项目的核心技术,生成 3-4 层深度追问(基础验证→实现细节→架构决策→极限场景) | 「QPS 提升的具体手段是什么?」「如果涨到 5000 你的架构瓶颈在哪?」 | | 量化数据追问 | 针对每个量化数字,追问数据来源和计算方法 | 「30% 提升的基准是什么?多少归因于你的工作?」 | | 行为面试问题 | 针对跳槽/晋升/转行轨迹,生成 STAR 框架行为问题 | 「请描述一次和上级意见不一致的经历」 | | 行业认知问题 | 基于行业矩阵和当前热点,生成行业趋势问题 | 「你怎么看 LLM 对后端架构的影响?」 | | 弱势因素追问 | 如检测到空窗期/双非/大龄,生成针对性追问 + 应对建议(引用 low-info-strategies.md 话术模板) | 「2024.03-2024.09 这段时间在做什么?」 | | 反向提问准备 | 基于简历内容生成建议的反向提问 | 「贵团队的技术栈演进方向是什么?」 |

Step 3:Web 搜索增强(如可用)

WebSearch 工具可用时,执行 5 类搜索增强预测准确性:

| 搜索目的 | Query 模板 | |---------|-----------| | 目标公司面经 | "{公司名} {岗位} 面经 {当前年份}" | | 岗位通用面试题 | "{岗位} 面试题 高频 {当前年份}" | | 技术热点 | "{核心技术} 面试深度问题 {当前年份}" | | 行业趋势 | "{行业} 技术趋势 {当前年份}" | | JD 对标 | "{公司名} {岗位} JD 要求 {当前年份}" |

搜索结果去重、分类、标注可信度(多源验证=高频,单源=参考)。WebSearch 不可用时,依赖 Step 2 的信号提取 + 内置通用面试题库回退(详见 references)。

Step 4:生成可交互 HTML Q&A

将预测问题生成为单个自包含 HTML 文件,用户可在浏览器打开交互练习。

核心规范

  • 单文件自包含——所有 CSS/JS 内联,无外部依赖,可离线使用
  • 移动端适配——支持手机浏览(求职者常在通勤时复习)
  • 交互功能:折叠/展开答案、标记掌握程度(已掌握/需复习/未学习)、搜索过滤、分类筛选、强度筛选、进度统计、localStorage 本地存储、导出 Markdown
  • 视觉规范:配色与简历 docx 一致(#333333/#1A1A1A/#666666/#2B579A),问题强度配色 🔴#E74C3C/🟡#F39C12/🟢#27AE60

答案区设计(每题包含三部分):

  • 💡 建议回答方向:给出回答框架(结论→论据→数据),不生成完整标准答案——避免候选人背诵模板化回答
  • 📝 简历相关内容:引用候选人简历原文,让回答与真实经历挂钩
  • ⚠️ 避免陷阱:标注该题的常见翻车点(如"不要说没深入了解"、"不要编造数据")

文件命名面试预测_{岗位}_{公司}_{日期}.html,默认保存 outputs/,生成后自动在浏览器打开。

Step 5:输出报告

控制台输出摘要(问题分布统计 + 高风险预警 + 文件路径),HTML 文件按规范生成。极简模式输出 3 行(总题数 + 高风险 + 文件路径)。

Step 6:高风险预警

模式 E 主动检测并预警以下"面试翻车风险":

| 风险类型 | 检测信号 | 预警建议 | |---------|---------|---------| | 简历超出理解深度 | 简历写"精通 XX"但项目仅 1 次使用 | 建议改为"熟悉"或补充项目深度(切换模式 C) | | 量化数据无法解释 | 数字过于精确但无方法论支撑 | 准备数据来源说明话术 | | 弱势因素未处理 | 空窗期/双非/大龄信号明显 | 引用对应面试话术模板准备 | | 技术栈与行业热点脱节 | 简历技术栈陈旧 | 补充主流技术项目或调整投递方向 |

Step 7:与其他模式联动

  • 模式 B → E:复用已提取简历文本;模式 B"总结亮点"→模式 E 差异化信号;模式 B"必须改"→模式 E 高风险预警
  • 模式 D → E:基于 JD 硬性要求补充面试题;模式 D 红旗→模式 E 高风险追问;模式 D 竞争水位→面试难度预期
  • 模式 A → E:生成简历后评估"会不会面试翻车";如 Skill 自动补充的技术词超出用户理解,高亮预警
  • 模式 E → C:发现简历"面试高风险"项时,主动建议修改简历(如"精通"改"熟悉"、空窗期补充说明)

> 📖 [references/interview-prediction.md](references/interview-prediction.md) — 信号提取规则、6 类问题生成逻辑、Web 搜索策略、HTML 模板结构、联动规则、伦理约束


模式切换规则

| 当前状态 | 用户意图 | 处理方式 | |----------|----------|----------| | 模式 A 收集中 | 切换到 B | 保留已收集信息,用已有信息生成评审基线 | | 模式 A 收集中 | 切换到 C | 保留信息,缺失用 [待补充] 占位 | | 模式 A 生成中途 | 切换到 B | 有 docx 直接评审,否则用结构设计做轻量评审 | | 模式 A 收集中/生成后 | 切换到 D | 用户提供 JD 即触发;用已收集信息或已生成 docx 做匹配度扫描 | | 模式 B 完成 | 进入 C | 已定义(模式 B Step 5) | | 模式 B 完成 | 切换到 A | 评审问题清单作为新简历优化目标 | | 模式 B 完成 | 切换到 D | 用户提供 JD 即追加模式 D 报告,不重复评分 | | 模式 C 中 | 切换到 B | 用修改后文件全量评审 | | 模式 C 中 | 切换到 A | 保留已修改内容作为素材 | | 模式 C 中 | 切换到 D | 用当前修改后版本做匹配度扫描,比较修改前后匹配度变化 | | 模式 D 完成 | 进入 C | 已定义(模式 D Step 7)——按"红旗 → 缺失关键词 → 加分项"优先级修改 | | 模式 D 完成 | 切换到 A | 缺口过大时不投递,转而基于 JD 反向生成新简历 | | 模式 A 生成后 | 切换到 E | 用已生成简历预测面试追问,评估"会不会面试翻车" | | 模式 B 完成 | 切换到 E | 复用已提取简历文本;亮点→差异化信号;必须改→高风险预警 | | 模式 D 完成 | 切换到 E | 叠加 JD 信号补充面

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.