Skill: suql82/suql-interview-report-generator (version 1.0.0)

--- name: interview-report-generator description: 面试分析报告生成 - 标准化批量生成面试分析报告，按固定11章结构输出DOCX格式 trigger: 用户要求生成面试后综合评价、录用决策报告、背调清单、试用期建议、薪酬建议时使用本技能 --- # 面试分析报告生成 Skill ## 触发条件 当需要生成面试分析报告时调用此 Skill。适用于批量岗位面试后的候选人评估报告生成。 ## 总体要求 **面试分析报告是用于正式评估面试候选人的专业文档，必须遵循以下原则：** ### 1. 专业性要求 - 使用规范的职业用语，避免口语化表达 - 分析视角基于岗位JD和行业标准，结合面试实际表现 - 内容结构清晰，层次分明，逻辑严谨 - 量化指标准确，引用数据有据可查 ### 2. 客观性要求 - 如实反映简历内容和面试表现，不夸大、不美化、不回避 - 优势与不足并重，避免一味好评或全盘否定 - 基于简历原文和面试记录进行分析，不添加未经证实的信息 - 评价措辞适度，不过度使用极端赞美或负面词汇 ### 3. 严谨性要求 - 信息来源包括：简历、应聘登记表、面试记录等 - 对于不确定的信息，应标注"需进一步核实" - 评估结论应有具体的面试证据作为支撑 ### 4. 规范性要求 - 严格按照固定章节结构组织内容 - 格式排版统一，字体、字号、间距规范 - 标题层级清晰，编号体系一致 ### 5. 实用性要求 - 报告应便于决策者快速把握候选人全貌 - 分析应具有参考价值，能为录用决策提供依据 - 建议应明确具体，具有可操作性 ## 输入要求 ### 必要信息 - 候选人序号（用于文件命名） - 应聘岗位名称 - **岗位信息（可选但推荐）**：包含岗位职责（Job Description）和任职要求（Requirements） ### 面试分析报告数据来源（5份必含材料） 生成面试分析报告需要以下五份材料，**所有材料均为必含项**，如某项缺失需在报告中标注"待补充"。 | 序号 | 材料名称 | 格式要求 | 说明 | 核心作用 | |:---:|:---|:---|:---|:---| | 1 | **岗位职责和任职要求** | .docx/.pdf/.md/.txt | 岗位JD文件 | 作为评估基准 | | 2 | **简历** | .docx/.pdf/.jpg/.png | 候选人简历 | 提取基本信息 | | 3 | **简历分析报告** | .docx/.pdf | 简历结构化分析（如有） | 提取已有分析内容 | | 4 | **应聘登记表** | .docx/.pdf | 个人信息、期望薪资 | 提取薪资期望 | | 5 | **面试记录** | .docx/.pdf/.jpg/.png | 面试问答记录 | 提取面试表现 | ### 候选人资料文件夹标准结构 ``` {姓名}/ ├── 01_岗位要求.docx / .pdf / .md ├── 02_简历.docx / .pdf / .jpg ├── 03_简历分析报告.docx / .pdf（如有） ├── 04_应聘登记表.docx / .pdf（如有） ├── 05_面试记录.docx / .pdf / .jpg └── 其他辅助材料（如有） ``` ## 报告结构（12章） ### 题目（居中，黑体，2号） ``` {姓名}面试分析报告 ``` ### 一、基本信息（文字描述） **使用精炼的文字描述**，便于快速掌握候选人概况： 候选人[姓名]，[性别]，[年龄]岁，[学校] [专业] [时间] [学位]，工作年限[X]年，当前在[公司名称]担任[职位名称]，期望薪资[XX]万元/年，应聘岗位为[岗位名称]。 **示例**：候选人王凯，男，35岁，北京交通大学计算机科学与技术专业本科（2011-2015）和计算机技术专业硕士（2011-2017），工作年限9年，当前在北京玄戒技术有限公司担任AI Compiler架构师兼技术负责人，期望薪资180万元/年，应聘岗位为GPGPU软件高级架构师。 ### 二、岗位要求概述 **本章节必须明确阐述岗位的核心职责和任职资格要求，作为后续评估的基准。** #### 2.1 核心岗位职责（提炼自岗位JD，不超过50字） [用简洁语言概括岗位JD的核心职责，控制在50字以内]。 #### 2.2 任职资格要求（提炼自岗位JD，不超过50字） [学历与经验要求]，[专业技术要求]，[加分项]。 ### 三、学历背景分析（不超过100字） [候选人姓名]的教育背景为[学校] [专业] [时间] [学位]。[第一句为总结性描述时用bold_first=True]该学历背景与岗位JD中"学历要求"[是否匹配]，[具体分析，如：专业对口性、学校层次、学历层次是否符合岗位硬性要求等]。 ### 四、工作经历分析（简历+面试综合） **每段工作经历为一个自然段，内部职责和成果用"负责……；主导……；参与……"的句式紧密串联。分析时必须对照岗位JD的职责要求。** 候选人在[公司名称]任职[职位名称]期间（[开始时间]至[结束时间]），主要职责包括[职责1]、[职责2]等，在[关键项目]中承担[角色]职责，取得的成果包括[量化指标]。[第一句为总结性描述时用bold_first=True]该段经历与应聘岗位的第X条核心职责"[对应岗位JD原文]"高度匹配，因为[对照分析]。综合分析来看，该候选人的工作经历与岗位要求[高度匹配/基本匹配/不太匹配]。 ### 五、专业技能分析 每类技能为一个自然段。**分析时必须对照岗位JD中的专业技能要求。** 候选人在[技能类别1]方面具备[年限]年以上的实践经验，熟悉[具体技术栈]等核心工具，该技能直接对应岗位JD中要求的"[具体技术要求]"。在[技能类别2]方面，候选人掌握[具体技能]，能够[应用场景]，符合岗位要求的[具体能力]。 技能综合评价：[★★★★★~★☆☆☆☆]。 ### 六、项目经验与面试表现综合分析 **本章节的评估维度必须直接对应岗位JD的核心职责要求，每个评估维度需明确说明对应岗位JD中的哪条要求。** 6.1 [评估维度名称]（对应岗位JD第X条职责"[职责原文]"）：[证据引用]，候选人对此的回答[表现描述]，面试官评价[评价内容]。 6.2 [评估维度名称]（对应岗位JD第X条职责"[职责原文]"）：[证据引用]，候选人对此的回答[表现描述]，面试官评价[评价内容]。 6.3 [评估维度名称]（对应岗位JD第X条职责"[职责原文]"）：[证据引用]，候选人对此的回答[表现描述]，面试官评价[评价内容]。 综合评价：[整体表现概述]。 ### 七、优势分析 **每条优势为一个独立自然段，各段落之间紧密衔接。每个要点对照岗位JD具体要求，语言流畅专业。** 优势一：[具体说明，结合面试证据]，该优势直接满足岗位JD第X条职责"[职责原文]"的要求。 优势二：[具体说明，结合面试证据]，该优势对应岗位JD第X条"[具体要求]"。 优势三：[具体说明，结合面试证据]，该优势符合岗位JD第X条"[具体要求]"。 优势四：[具体说明，结合面试证据]，该优势匹配岗位JD的加分项"[加分项原文]"。 ### 八、不足与风险 **每个风险为一个独立自然段，各段落之间紧密衔接。分析不足时必须对照岗位JD的任职要求，语言专业客观。** 风险一：[具体说明，结合面试表现]，该风险可能导致无法完全满足岗位JD第X条"[具体要求]"。 风险二：[具体说明，结合面试表现]，对应岗位JD第X条"[硬性要求]"存在差距。 风险三：[具体说明，结合面试表现]，可能影响岗位要求的[特定场景/经验]能力。 ### 九、综合评价 **四个评价维度各为一个独立自然段，段落之间紧密衔接。评价基于岗位JD的任职要求，用词专业严谨。** 综合能力：[★★★★★~★☆☆☆☆]，候选人在[领域]展现出[强/较强/一般]的综合实力。 岗位匹配度：[★★★★★~★☆☆☆☆]，与岗位核心需求的匹配程度为[高/中/低]，候选人能够胜任岗位JD中的核心职责包括[职责1]、[职责2]等，但在[特定要求]方面[匹配/存在差距]。 稳定性：[★★★★★~★☆☆☆☆]，候选人的离职意愿和职业稳定性[高/中/低]，需关注[潜在风险]。 性价比：[★★★★★~★☆☆☆☆]（如适用），[具体说明]。 综合结论与建议：[结论与具体建议]。 ### 十、背景调查关注要点 **每个调查维度为一个独立自然段，建议明确具体，具有可操作性。** 工作经历真实性方面，需核实候选人在[公司名称]的任职时间、职位名称和离职原因是否与简历一致。 业绩核实方面，建议联系[证明人]，核实关键项目中的实际参与程度、贡献和成果量化指标。 关系人评价方面，可向前同事或上级了解候选人的团队协作表现和职业素养。 风险核实方面，了解离职原因、是否存在竞业限制或保密协议。 ### 十一、专业面试综合评估（评估表格） **根据岗位要求建立多维度评估体系，必须包含评估表格。** | 评估维度 | 权重 | 对应岗位要求 | 评分 | 评估要点 | |:---|:---:|:---|:---:|:---| | 专业技能深度 | 25% | 对应JD"[具体要求]" | ★★★★★ | 评估结论（20字以内） | | 项目经验与成果 | 25% | 对应JD"[具体要求]" | ★★★★☆ | 评估结论（20字以内） | | 软硬件协同能力 | 20% | 对应JD"[具体要求]" | ★★★★☆ | 评估结论（20字以内） | | 架构设计能力 | 15% | 对应JD"[具体要求]" | ★★★★☆ | 评估结论（20字以内） | | 性能优化能力 | 10% | 对应JD"[具体要求]" | ★★★☆☆ | 评估结论（20字以内） | | 团队领导力 | 5% | 对应JD"[具体要求]" | ★★★☆☆ | 评估结论（20字以内） | **评估表格填充规则**： 1. **评估维度列**：从岗位JD的核心职责中精准提炼 2. **权重列**：根据岗位侧重点合理分配，权重总和100% 3. **对应岗位要求列**：直接引用岗位JD原文 4. **评分等级列**：根据面试表现综合评定，使用★★★★★到★☆☆☆☆ 5. **评估要点列**：基于面试实际表现精炼描述，每条控制在20字以内 ### 十二、薪酬与试用期建议 **本章节以文字描述形式呈现薪酬建议和试用期建议，便于决策者快速把握关键信息。** #### 12.1 薪酬建议 **候选人期望薪资**：XX万元/年 **市场薪酬定位**：根据候选人能力评估和市场行情，建议薪酬定位为市场中位至中高位（50-75分位）。 **薪酬方案建议**： - **目标薪资**：XX万元/年（基本薪资XX万×12月 + 年终奖XX月） - **备选方案**：XX万元/年（基本薪资XX万×12月 + 年终奖XX月） - **谈判底线**：XX万元/年 **说明**：[候选人期望与市场行情的对比分析，候选人能力与薪酬的匹配度，谈判空间等] #### 12.2 试用期建议 **试用期时长**：建议3-6个月，具体根据岗位级别和候选人情况确定。 **试用期核心目标**： 1. **融入目标**（第1个月）：完成团队融入，了解业务和团队架构 2. **工作目标**（第2-3个月）：承担核心模块开发或架构设计工作 3. **产出目标**（第3-6个月）：完成试用期产出目标，达到岗位预期 **转正标准**： - 试用期目标达成情况 - 直属上级评价"良好"及以上 - 无重大违规行为 **风险关注**：[候选人试用期可能存在的风险点，如稳定性风险、技能匹配风险等] --- ## 排版格式规范 ### 标题格式 | 项目 | 要求 | |:---|:---| | 题目 | 字体：黑体；字号：2号；段后间距：2行；对齐：居中 | | 一级标题（一~十二） | 字体：黑体；三号；左对齐 | | 二级标题（X.1/X.2/X.3） | 字体：黑体；三号；左对齐 | | 正文 | 字体：方正仿宋_GB2312；三号；左对齐 | ### 正文格式 | 项目 | 要求 | |:---|:---| | 字体 | 方正仿宋_GB2312 | | 字号 | 三号（16pt） | | 页边距 | 上下2.54cm、左右3.18cm | | 行距 | **固定值30磅行距（line_spacing=Pt(30)）** | | 首行缩进 | **正文段落首行必须缩进2字符（0.85cm）** | | 段落间距 | **段前间距0行，段后间距0行** | | 表格 | **所有单元格垂直居中和水平居中** | ### 分段原则 - **应该分段**：不同主题、不同维度必须分段表述 - **可以合并**：同一主题下紧密关联的内容可合并为一个自然段，用"；"串联 - **禁止条目列表**：不使用"1. 2. 3."或"• "等列表格式 - **禁止机械连接词**：不用"因此、所以、首先、其次、最后、综上所述" - **首行缩进强制要求**：每个正文段落的首行**必须**设置缩进 ### Word文档生成代码规范 ```python from docx.shared import Pt, Cm from docx.enum.text import WD_LINE_SPACING, WD_ALIGN_PARAGRAPH def add_body_para(doc, text, bold_first=False): """添加正文段落，如果bold_first为True，则第一句加粗""" p = doc.add_paragraph() if bold_first and '。' in text: # 找到第一个句号的位置，分割第一句和后续内容 first_period_idx = text.find('。') first_sentence = text[:first_period_idx + 1] rest_text = text[first_period_idx + 1:] # 第一句加粗 run1 = p.add_run(first_sentence) run1.font.name = '方正仿宋_GB2312' run1.font.size = Pt(16) run1.font.bold = True run1._element.rPr.rFonts.set(qn('w:eastAsia'), '方正仿宋_GB2312') # 后续内容不加粗 if rest_text: run2 = p.add_run(rest_text) run2.font.name = '方正仿宋_GB2312' run2.font.size = Pt(16) run2.font.bold = False run2._element.rPr.rFonts.set(qn('w:eastAsia'), '方正仿宋_GB2312') else: run = p.add_run(text) run.font.name = '方正仿宋_GB2312' run.font.size = Pt(16) run.font.bold = False run._element.rPr.rFonts.set(qn('w:eastAsia'), '方正仿宋_GB2312') p.paragraph_format.line_spacing = Pt(30) p.paragraph_format.space_before = Pt(0) p.paragraph_format.space_after = Pt(0) p.paragraph_format.first_line_indent = Cm(0.85) return p def add_section_heading(doc, text): """添加章节标题""" p = doc.add_paragraph() run = p.add_run(text) run.font.name = '黑体' run.font.size = Pt(16) run.font.bold = True run._element.rPr.rFonts.set(qn('w:eastAsia'), '黑体') p.paragraph_format.line_spacing = Pt(30) p.paragraph_format.space_before = Pt(12) p.paragraph_format.space_after = Pt(6) return p def add_sub_heading(doc, text): """添加二级标题""" p = doc.add_paragraph() run = p.add_run(text) run.font.name = '黑体' run.font.size = Pt(16) run.font.bold = True run._element.rPr.rFonts.set(qn('w:eastAsia'), '黑体') p.paragraph_format.line_spacing = Pt(30) p.paragraph_format.space_before = Pt(6) p.paragraph_format.space_after = Pt(3) return p def add_title(doc, text): """添加文档标题""" p = doc.add_paragraph() run = p.add_run(text) run.font.name = '黑体' run.font.size = Pt(22) run.font.bold = True run._element.rPr.rFonts.set(qn('w:eastAsia'), '黑体') p.alignment = WD_ALIGN_PARAGRAPH.CENTER p.paragraph_format.line_spacing = Pt(30) p.paragraph_format.space_after = Pt(24) return p def set_table_cell_center(cell, font_size=12): """设置表格单元格垂直居中和水平居中""" for para in cell.paragraphs: para.alignment = WD_ALIGN_PARAGRAPH.CENTER para.paragraph_format.line_spacing = Pt(18) for run in para.runs: run.font.name = '方正仿宋_GB2312' run.font.size = Pt(font_size) run._element.rPr.rFonts.set(qn('w:eastAsia'), '方正仿宋_GB2312') ``` **智能加粗逻辑说明**： - 当段落第一句为全段总结性描述时，使用 `bold_first=True` 参数 - 例如：`add_body_para(doc, "候选人具备9年AI芯片编译器领域的持续深耕经历。", bold_first=True)` - 效果：第一句"候选人具备9年AI芯片编译器领域的持续深耕经历"加粗，后续内容不加粗 - **判断标准**：第一句是否包含全段核心观点（关键结论、核心能力、核心风险等） --- ## 去AI化要求 - 去掉所有 \、*、# 等体现AI生成的字符 - 文字内容要去AI化处理 - 表述自然流畅，避免机械化连接词 - 使用自然的段落叙述而非条目列表堆砌 --- ## 语言评价标准 ### 主语统一要求 全文统一使用"候选人"作为主语，禁止使用"本人"、"该候选人"等其他主语表述。 ### 人力资源管理视角 - **科学性**：基于人才测评理论进行结构化评估 - **客观性**：优势与不足并重，引用具体事实和数据支撑 - **专业性**：使用规范的HR术语 ### 业务专业视角 - **专业性**：使用领域内权威术语和技术概念 - **权威性**：引用具体项目证据、量化成果来支撑评价 - **精准性**：对技术方案的描述要具体到核心挑战和解决方案 --- ## 生成流程 ### 第一步：扫描候选人文件夹，识别5份必含材料 ### 第二步：读取材料内容 | 文件格式 | 解析方式 | |:---|:---| | .docx | python-docx库 | | .pdf | pdfplumber/pdftotext/PyMuPDF | | .jpg/.png等图片 | pytesseract OCR或云端OCR API | | .md/.txt | 直接读取文本 | ### 第三步：提取和整理信息 - 核心职责列表、硬性任职资格、加分项（从JD） - 基本信息、教育背景、工作经历，专业技能、项目经验（从简历） - 期望薪资、当前薪资（从应聘登记表） - 面试评分、关键问答，综合评价、录用建议（从面试记录） ### 第四步：建立评估框架 根据岗位JD建立11章结构的面试分析报告，评估维度直接对应岗位JD的核心能力要求。 ### 第五步：综合分析 1. 简历与岗位匹配度分析 2. 面试表现分析 3. 证据关联验证 4. 风险识别 5. 优势提炼 ### 第六步：生成报告 按11章结构生成报告，**以段落叙述为主，关键信息适当使用表格展示**。 ### 第七步：应用格式 - 字体：方正仿宋_GB2312（正文）、黑体（标题） - 字号：三号（16pt） - 页边距：上下2.54cm、左右3.18cm - 行距：固定值30磅 - 首行缩进：0.85cm ### 第八步：保存文件 - 命名：`{序号}_{姓名}-面试分析报告.docx` --- ## 输出文件 - 格式：DOCX（Word文档） - 命名：`{序号}_{姓名}-面试分析报告.docx` - 章节数：12章 --- ## 注意事项 1. **材料完整性**：五份材料均为必含项，如某项缺失需标注"【待补充】" 2. **内容真实性**：所有分析必须基于简历原文和面试记录 3. **量化指标**：尽量提取和呈现可量化的成果 4. **客观评价**：优势与不足并重 5. **证据支撑**：每个评估结论都有具体面试证据支撑 6. **建议具体**：录用建议明确具体，具有可操作性 7. **突出重点**：关键信息（核心优势、关键风险、量化指标）必须**标粗** 8. **岗位JD对照**：所有分析章节必须对照岗位JD的具体要求进行评估 --- ## 常见错误排查 | 问题 | 原因 | 解决方案 | |:---|:---|:---| | 每页只有一行 | `line_spacing` 使用了数值而非 `Pt()` 包装 | 必须使用 `p.paragraph_format.line_spacing = Pt(30)` | | 段落间距过大 | `space_before` 或 `space_after` 设置了非零值 | 正文段落必须设置 `space_before = Pt(0)` 和 `space_after = Pt(0)` | | 首行缩进不生效 | 使用了Twips或其他单位 | 必须使用 `Cm(0.85)` | | 表格单元格未居中 | 未单独设置单元格对齐方式 | 必须对每个单元格调用 `set_table_cell_center()` | --- ## 快速调用 当用户提供候选人文件夹路径和应聘岗位时，直接执行完整生成流程。


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)