登记表格填写助手
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_87aa2769/registration-form-assistant。
技能介绍
要解决什么问题
应聘登记表、入职登记表这类文档有个共同特点:字段固定(姓名、性别、教育经历、工作经历……),但每个单位的模板布局都不一样。把简历信息搬进去,要么手动复制粘贴,要么写脚本逐个定位单元格——两种做法都容易出错,尤其是教育经历、工作经历这类多行字段,填错学校名或编造不存在的经历,后果比留空严重得多。
这个技能把整套流程自动化,同时用两条硬规则兜底:不删字段、缺失留白、禁止编造,以及交付前必须重新读取原文逐项验证。
核心能力与工作流程
简历解析支持三种格式:
PDF:用pdfplumber提取全文字符串DOCX:用python-docx提取段落和表格文本DOC(旧版 Word 格式):用olefile读取WordDocument二进制流,按 UTF-16LE 逐双字节扫描提取中文
解析后用正则规则提取姓名、性别、出生年月、教育经历(最多 3 段)、工作经历(全部段落,按时间倒序)、技术职称、职业资格等字段。简历中未出现的字段(籍贯、身份证号、推荐人等)一律留空,不推断、不猜测。
表单分析与填写是最关键的环节。技能会先用 python-docx 读取模板,分析表格结构,识别合并单元格(通过 id(cell._element) 去重),然后为每个模板单独构建 cell_map(字段名到行列号的映射),再用 set_cell_text 逐项写入。字体统一为仿宋(不是 仿宋_GB2312),颜色黑色,无字间距调整。
关键决策询问:如果简历有多段工作经历而表单行数有限,技能会列出所有经历让用户选择,而不是默认丢弃。如果表单有简历中未提供的字段,会询问用户是否有补充信息文件。
强制验证:填写完成后,技能必须重新读取简历原文,用脚本读取已填写的 DOCX,打印关键字段值与简历逐行对照。发现偏差立即修正,修正后重新验证通过才可交付。SKILL.md 中记录了一起事故:填写财达证券登记表时,教育经历被编造成"北京科技大学/矿物加工工程",而简历实际为"中国人民大学/金融学"——原因就是未从提取文本中确认,凭主观臆断填入。
隐私清理:填表任务完成后,技能会检查并清理所有记忆文件(项目日志、项目长期记忆、跨项目记忆)中的个人及家庭信息,只保留技术流程描述,不含任何个人数据值。
适用边界与注意点
- 不编造是底线:任何情况下,未从简历或补充文件中提取到的值必须留空
- 模板不通用:每个表单的行/列布局完全不同,
cell_map无法跨模板复用,技能会为每个模板单独编写填写脚本 - 格式限制:仅支持 PDF、DOCX、DOC,其他格式需转换后使用
- 输出文件被占用:如果输出文件正在被 Word 打开,技能会自动换文件名保存(如
输出_1.docx),不会崩溃 - 合并单元格:写入时只写左上角位置(主单元格)
- 错误处理:所有报错信息用中文说明问题并告知下一步操作,不暴露 Python 堆栈
使用场景
- 用户有一份 DOCX 应聘登记表,想根据 PDF 简历自动填写基本信息和教育经历。
- HR 收到 DOC 格式简历,需要把工作经历按时间倒序填入多行登记表。
- 用户上传已填过的登记表作为补充文件,想把之前留空的身份证号补齐。
- 需要填写多个不同模板的入职登记表,要求每个模板单独分析并生成填写脚本。
适合人员
- 应聘求职者,希望把简历信息快速填入不同单位的登记表,减少重复复制粘贴。
- HR 或行政专员,需要根据候选人简历批量填写应聘登记表并保留缺失字段为空。
- 使用 WPS/Word 旧版 DOC 简历的办公人员,需要把历史简历迁移到现代表单模板。
- 注重隐私的团队成员,要求填表后清理日志和长期记忆中的姓名、手机号与教育经历。