Summary
根据候选人简历与岗位要求生成可审计的后台评估、简明的候选人介绍、按岗位重要性排列的简历疑点、12–18 道可直接照读的面试题,以及支持重点标记和本机保存的离线 HTML。用于招聘方准备结构化面试、核验岗位能力和记录回答。不要用于求职者模拟面试、私人背景调查、心理或人格诊断、从敏感属性推断表现,或自动录用、淘汰、排序候选…
dongshuyan/compass-skills
>- 根据候选人简历与岗位要求生成可审计的后台评估、简明的候选人介绍、按岗位重要性排列的简历疑点、12–18 道可直接?
npx skills add dongshuyan/compass-skills --skill assess-interview-candidate
根据候选人简历与岗位要求生成可审计的后台评估、简明的候选人介绍、按岗位重要性排列的简历疑点、12–18 道可直接照读的面试题,以及支持重点标记和本机保存的离线 HTML。用于招聘方准备结构化面试、核验岗位能力和记录回答。不要用于求职者模拟面试、私人背景调查、心理或人格诊断、从敏感属性推断表现,或自动录用、淘汰、排序候选…
Related neighbors and high-traction skills in the same topics — useful to compare before installing.
Create structured interview plans with competency-based questions and scorecards. Trigger with …
3.3K installsExtracts what the user actually wants instead of what they think they should want.
27.3K installsGenerate STAR stories, practice questions, and talking points from resume
7.7K installsDeep interview process to transform vague ideas into detailed specs. Works for technical and no…
4.1K installsCreate a structured customer interview script with JTBD probing questions, warm-up, core explor…
2.4K installsSummarize a customer interview transcript into a structured template with JTBD, satisfaction si…
2.4K installsOther skills from dongshuyan/compass-skills.
npx skills add dongshuyan/compass-skills
Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.
master
Files included with this skill beyond the listing page.
SKILL.md
17,480 B
SUMMARY.md
500 B
把简历和岗位要求整理成两层材料:
始终区分候选人明确提供的事实、外部佐证、推断和未知。最终招聘决定由具备权限的人作出。
本 Skill 不依赖某个特定 Agent、Skill 安装根目录或命令行外壳。任何能够读取本地文件并运行 Python 3.10 及以上版本的 Agent 都可以使用;PDF 处理、联网核验和浏览器检查按当前宿主实际具备的能力执行。
<skill-dir> 解析为本 SKILL.md 所在目录,不猜测固定安装路径。<python> 表示当前系统可用的 Python 3 启动方式。Windows 通常使用 py -3 或 python,macOS 与 Linux 通常使用 python3 或 python;先用版本命令确认实际可用项。<approved-root>、<output-dir> 等是路径占位符,不代表固定路径分隔符。通过宿主文件 API 或 pathlib 组合路径,并把含空格或非 ASCII 字符的路径作为一个完整参数传入。agents/ 中的文件只是特定宿主可选的界面元数据;核心工作流以本文件、references/、scripts/、assets/ 和 evals/ 为准。遇到能力差异时按 [agent-portability.md](references/agent-portability.md) 处理。缺少必要能力时明确报告未完成的核验,不得把未执行的步骤写成已完成。
每次完整运行在新的案件目录中生成:
input/ 原始简历、岗位要求和用户提供的链接
normalized/ 经文字提取与视觉核对的文本及案件清单
research/ 查询和来源记录
models/ 岗位模型、证据账本、行为假设和面试蓝图
interview/ 初始评分状态
output/ 完整后台数据、精简报告数据和离线 HTML
audit/ 运行、校验和隐私排除记录
关键输出:
output/assessment-data.json
output/interviewer-report-data.json
output/<候选人姓名>-候选人评估与面试报告.html
HTML 文件名、浏览器标题和页面最上方标题都必须包含候选人姓名。不要覆盖既有案件或报告。
先把 <skill-dir> 解析为本文件所在目录。
必需输入:
candidate-cases/。尽可能取得:
缺少简历或岗位要求时以 REQUIREDINPUTMISSING 停止,不创建案件。缺少公司地点时继续生成,但写明“距离无法计算,待补充公司地址”。缺少候选人联网核验权限时关闭该分支,不影响本地简历分析。
<python> "<skill-dir>/scripts/create_candidate_case.py" --root "<approved-root>" --role-slug "<role-slug>"
复制原始输入并记录哈希,不移动或删除用户文件。PDF 简历在案件目录中使用固定受限副本 input/resume-original.pdf,同时在案件清单保留原文件名和哈希。PDF 必须同时使用当前宿主可用的文字提取能力和逐页视觉检查能力,核对页数、姓名、时间线、表格、图片文字及提取遗漏。为保证完整核对,原件和逐页提取文本可能保留电话、邮箱、证件号或精确住址,因此 input/ 与 normalized/ 都按受限候选人资料处理;这些内容不得进入联网查询、面试官数据或 HTML。若无法完成逐页视觉检查,以 PDFVISUALCHECK_UNAVAILABLE 停止生成最终报告,并说明缺少的能力。
逐页视觉检查时同时记录照片状态:
not_present;ambiguous;extraction_unavailable;included。先检查 PDF 的嵌入图片;若头像不是独立图片,再从对应页面裁切。所有提取结果统一转换为 PNG,并在转换后再次与 PDF 页面视觉比对;JPEG、PPM 等格式不能直接嵌入。不得从公开主页或其他文件补图,不得使用人脸识别、相似度匹配、照片年龄估计或外貌分析。选定图片后运行下列脚本;脚本要求来源为案件内的 input/resume-original.pdf,会在解压前检查尺寸、校验 PNG 结构和像素数据、移除非显示所需元数据和文件尾随内容,再以内嵌图片输出:
<python> "<skill-dir>/scripts/prepare_candidate_photo.py" --input "<visually-confirmed-image>" --resume-pdf "<original-resume-pdf>" --page <one-based-page> --extraction-method embedded_image --image-index <zero-based-image-index>
页面裁切时把最后两个参数改为 --extraction-method page_crop --crop-box <x,y,width,height>。脚本只负责校验格式、尺寸、哈希和结构化来源,不能替代视觉身份确认。
按“工作产出 → 关键任务 → 能力 → 目标熟练度 → 可接受证据 → 验证方法”拆解岗位。记录重要性、频率、失败影响和是否入职即需具备。缺少招聘方确认时标为暂定,不把学历、年限或公司名气自动当作能力。
对快速变化岗位进行不含候选人身份信息的当前岗位研究;优先官方招聘页、一手技术资料、标准和职业框架。
逐条拆分与岗位重要能力有关的声明,记录原文位置、情境、任务、本人行动、结果、个人贡献边界、可验证材料和剩余缺口。简历没有写某项能力只表示“当前证据不足”,不能直接写成“不具备”。
疑点使用“描述不清”“可核验缺口”等中性语言。优先检查:
仅研究获得允许、公开可访问、身份确认且与岗位直接相关的职业资料。系统发现的页面至少需要两个一致职业锚点;同名不足以确认身份。不得搜索年龄、籍贯、婚姻、家庭或私人生活。没有公开主页、论文或代码仓库不得扣分。
继续生成岗位模型、证据账本、候选人视角、九类岗位行为假设、面试蓝图、评分状态、来源记录和 output/assessment-data.json。这些对象供审计与人工复核,不直接展示在面试官 HTML 中。
按 [schema-interviewer-report.json](references/schema-interviewer-report.json) 生成 output/interviewer-report-data.json。
personal_info 只保存候选人主动提供的出生信息、出生地、老家或籍贯、婚姻状况、现居城市;没有就显示“未提供”,不得搜索或补写。candidateoverview.candidatephoto,不得放进 personal_info。只有 status=included 时 HTML 才显示本地 data: 图片;其他状态不保留空白照片栏。candidateoverview.timelineage_estimate:优先使用简历明确写出的最早本科入学时间;没有入学时间时,只有同时明确写出本科毕业时间和学制,才可反推入学年份。毕业月份或日期不能证明入学月份或日期,因此回推锚点一律降为年份精度。以本科入学年龄 18 岁为中心,固定使用 16–20 岁区间,并把锚点精度造成的日期不确定性计入上下界。只列与岗位核心能力直接相关的 0–8 项,按能力重要性降序。每项写清:对应能力、简历原话、哪里说不清、为什么要核实、怎么核实。不要在可见文案中输出内部状态码、能力编号或英文评估术语。
生成 12–18 道按优先级排列的问题。问题必须能让面试官直接照读。每道岗位题提供提问目的、回答好/一般/差的具体表现、加分点和减分点。
题库必须包含:
HTML 只嵌入 interviewer-report-data.json,不嵌入完整 assessment-data.json。页面恰好包含三个主模块:
头像只在 candidate_photo.status=included 时出现在候选人简介中,并注明来自简历 PDF、只展示、不参与评估或排序。履历年龄区间使用独立标签,明确它是推算而非候选人自述。每道题支持:单击“标记”默认设为黄色“可能要问”;下拉改为红色“一定要问”、蓝色“备选”或取消;记录“好/一般/差/未问”及备注。地点、到岗和其他自述类问题只记录“已记录/不便回答/未问”。重点标记和回答自动保存到当前浏览器本机,并可导出或清空。不得发送网络请求、加载外部资源或保存候选人资料到远程服务。
页面不显示简历证据分、综合分、权重、覆盖率、门槛、可比性、来源表、九类行为假设或内部英文状态。这些信息继续留在后台文件。
使用:
<python> "<skill-dir>/scripts/derive_timeline_age.py" --report-date "<YYYY-MM-DD>" --undergraduate-start "<YYYY-or-YYYY-MM-or-YYYY-MM-DD>" --source-locator "<resume-page-or-section>"
<python> "<skill-dir>/scripts/derive_timeline_age.py" --report-date "<YYYY-MM-DD>" --undergraduate-graduation "<YYYY-or-YYYY-MM-or-YYYY-MM-DD>" --degree-duration-years <explicit-duration> --source-locator "<resume-page-or-section>"
<python> "<skill-dir>/scripts/validate_interviewer_report_data.py" "<interviewer-report-data.json>"
<python> "<skill-dir>/scripts/render_candidate_report.py" --data "<interviewer-report-data.json>" --output "<candidate-report-file>"
<python> "<skill-dir>/scripts/validate_candidate_report.py" "<candidate-report-file>"
如需核对后续时间线,可重复传入 --consistency-check-json。每个参数是一个含 event、date 和 sourcelocator 的 JSON 对象;脚本自动补出日期精度,并在明确矛盾时输出 timelineconflict。
渲染器会拒绝文件名不含候选人姓名的输出。
继续校验后台对象:
<python> "<skill-dir>/scripts/validate_case_contract.py" --job-model "<job-model.json>" --sources "<sources.json>" --evidence-ledger "<evidence-ledger.json>" --blueprint "<interview-blueprint.json>" --score-state "<score-state.json>" --assessment-data "<assessment-data.json>"
<python> "<skill-dir>/scripts/validate_source_log.py" "<sources.json>"
<python> "<skill-dir>/scripts/validate_evidence_ledger.py" "<evidence-ledger.json>"
<python> "<skill-dir>/scripts/calculate_interview_score.py" --blueprint "<interview-blueprint.json>" --state "<score-state.json>"
将命令、时间、退出码、错误和警告写入 audit/validation.json。交付时说明案件目录、HTML 文件、采用与拒绝的来源数量、关键未知项、校验结果和仍需人工确认的内容。
REQUIREDINPUTMISSING:缺少简历或岗位要求;PDFVISUALCHECK_UNAVAILABLE:当前宿主无法完成 PDF 逐页视觉核对;AUTHORITY_UNCONFIRMED:无法确认有权处理简历;IDENTITY_UNRESOLVED:候选人职业页面身份不能确认;PRIVATEACCESSREQUIRED:需要登录私人账号或绕过权限;SENSITIVEDATAHIT:联网结果出现不应处理的私人或敏感内容;CONTACTDETAILLEAK:面试官数据或 HTML 中出现邮箱、手机号、证件号或其他不应展示的联系方式;JOBRELEVANCEMISSING:信息无法映射到岗位任务;AUTOMATEDADVERSEACTION:要求自动拒绝、排序或触发不利决定;HUMANREVIEWMISSING:拟把未经人工确认的结果用于招聘决定。停止一个联网分支不妨碍继续处理获准的本地材料。