Safety Rules
参见 _shared/core/safety-rules.md
关键补充:盘点是只读操作,不得修改任何源文件;输出写为用户指定目录的新文件。
盘点归纳 (Inventory & Report)
把"目录里一堆杂乱的东西"整理成"能直接上交/核对的清单与汇总"。适用于成果盘点、文献库核对、内容收藏统计、证书台账、名单核对等一切盘点类任务。核心是三件事:定义分类法 → 全目录检索 → 多源交叉核验。
通用工作流
Step 1 界定盘点对象
主题(盘什么)、范围目录、时间窗口(可选)、归属人(可选)。
Step 2 定义分类法(taxonomy)
按主题列分类别,并为每类给出检索关键词表。示例:
成果类:论文/软著/专利/课题立项/教材/获奖/指导学生获奖/荣誉称号
文献类:年份/主题/类型/来源
内容类:作者/来源/数量/覆盖率
关键:分类法由用户确认后再检索,避免白做。
Step 3 全目录检索
每类用关键词 glob + rg 收集候选文件;优先命中权威文件
(官方统计表、公示名单、台账、证书原件)。
Step 4 多源交叉核验(核心步骤)
同一条目至少两个独立来源命中才算"已核实":
a) 单位统计表/台账(xlsx)—— WPS 异常时用 scripts/robust_xlsx.py 兜底
b) 官方名单/公示(PDF)—— pymupdf 提取;扫描件 rapidocr OCR
c) 原始凭证(证书/合同/通知书)—— OCR 核对姓名/编号/日期
矛盾时:列出证据链(各出处路径),以用户确认口径为准。
Step 5 输出
a) xlsx 汇总表:标题 + 表头 + 按类别分组明细 + 分类统计 sheet
b) 一段话总结:固定句式,全阿拉伯数字计数
c) (可选)docx 报告
输出规范
xlsx 汇总表
- 主 sheet:
序号|年度|类别|名称|具体信息|级别|时间,类别列加底色,标题合并居中,冻结首行。 - 副 sheet:类别×时间的数量矩阵。
- 字体微软雅黑,表头深蓝底白字。
一段话总结(通用句式)
<对象>共<N>类:<类别A><N>A(明细计数)、<类别B><N>B(明细计数)……
按 类别→数量→子明细 的顺序,单一自然段,全阿拉伯数字。
数字口径铁律
- 以用户最后确认的数字为准,不自行推算。
- 需要区分统计的子项必须分开(一作/通讯/参与、第一完成人/参与、国家级/省级/校级、已授权/受理中)。
- 校级不入省级以上;交底书/申请中不算获批。
Anti-Patterns
| 违规 | 严重度 | 后果 |
|---|---|---|
| 未先确认分类法就检索 | 中 | 盘错对象,白做 |
| 单来源下结论 | 高 | 数字与官方不符 |
| 改口径不与用户确认 | 高 | 与事实冲突 |
| 覆盖/删除源档案 | 高 | 数据丢失 |
| openpyxl 读 WPS xlsx 失败即放弃 | 中 | 漏统计表数据(应 robust_xlsx 兜底) |
依赖
- Python:
openpyxl、pymupdf、rapidocr-onnxruntime、python-docx、PIL - 脚本:
scripts/robust_xlsx.py(WPS/异常 xlsx → 文本行兜底解析)、scripts/gen_summary.py(xlsx 汇总表 + 一段话总结生成)
文件结构
skills/inventory-report/
├── README.md
├── SKILL.md
├── rules/
│ ├── taxonomy.md # 分类法与关键词检索
│ ├── verification.md # 多源交叉核验协议
│ └── output.md # xlsx/总结/报告输出规范
└── scripts/
├── robust_xlsx.py # 健壮 xlsx → 文本(兼容 WPS 异常样式)
└── gen_summary.py # 生成 xlsx 汇总表 + 一段话总结
版本历史
| 版本 | 日期 | 变更 |
|---|---|---|
| 1.0.0 | 2026-09-01 | 初始版本:从成果盘点/文献管理/内容收藏核对等多次盘点任务提炼的泛化盘点协议 |