# Bid Checker

> 标书检查专家。将投标文件（技术方案+偏离表）对照招标文件进行三类检查：①偏离表检查（指标覆盖、*号实质性条款响应、支撑材料页码索引、页码/格式/错别字/内容矛盾、章节编号、标点结尾一致性）；②方案正文检查（图表题注、指标论证覆盖、标题段落格式、交付清单一致性、负偏离）；③评分规则对照与得分优化建议。输出Excel检查清单（标注章节、页码、严重等级、修改建议）。当用户要求检查/审查/审核标书、投标文件、偏离表、响应性、评分优化时使用。

- Skill: `share-budaozhe/bid-checker` (Agent Skill, multi-file: 6 files)
- Install (CLI): `npx skillmds@latest add share-budaozhe/bid-checker`
- Raw SKILL.md: https://api.skillmd.com/api/skills/share-budaozhe/bid-checker/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Data & Analytics
- Author: share-budaozhe (https://skillmd.com/u/share-budaozhe)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/share-budaozhe/bid-checker

---


# 标书检查 Skill

将投标文件对照招标文件做系统性检查，输出可交付的 Excel 检查清单。检查分三大域：**A 偏离表检查、B 方案正文检查、C 评分规则对照与优化建议**。完整规则库见 `references/check-rules.md`（执行检查前必须通读）。

## 输入

- 招标文件（.docx）：重点章节为「供货要求/技术要求」（含 *号实质性条款与参数指标表）、「评标办法/评分标准」、「投标文件格式」中的偏差表格式与填表注释。
- 投标文件（.docx）：重点章节为「供货偏差表/偏离表」、「技术性能指标的详细描述（技术方案正文）」、「交付清单」、「质保与售后服务」。

## 环境要求（本机）

- 提取与生成使用系统 Python：`C:/Users/P24/AppData/Local/Programs/Python/Python310/python.exe`（已装 python-docx 1.2.0 + openpyxl 3.1.5）。**托管 Python 3.13 没有这两个库，不要用**。
- Git Bash 每条命令开头先执行 `export PATH="/usr/bin:/bin:/c/Windows/System32:$PATH"`。
- docx 不存储真实页码。页码核对依据：①投标文件目录（TOC 行 `标题\t页码`）推算全文最大页码；②偏离表“偏差及索引”栏引用的页码互相之间及与目录是否自洽。真实页码级核对需转 PDF，仅在用户要求时做。

## 工作流程

### 第 1 步：提取两份文档

```bash
PY="C:/Users/P24/AppData/Local/Programs/Python/Python310/python.exe"
"$PY" <skill目录>/scripts/extract_docx.py <招标文件.docx> tender.txt
"$PY" <skill目录>/scripts/extract_docx.py <投标文件.docx> bid.txt
```

输出：带 `[H|样式]标题`、`[P|样式]正文`、`===表格N===` 标记的纯文本（保留段落样式、表格按文档顺序展开、分页符标记）。中间文件放在工作区临时目录，检查过程中用于 Grep 定位章节与页码。

### 第 2 步：机器预检（确定性规则）

```bash
"$PY" <skill目录>/scripts/auto_check.py <招标文件.docx> <投标文件.docx> -o auto_findings.json
```

自动检出：偏离表条款覆盖缺口、投标规格/偏差说明空单元格、*号项无支撑材料页码索引、投标规格栏填“符合/满足”、页码索引超范围/指向矛盾、图表题注编号断档与格式不一、标题编号异常、叠字类错别字、中文语境半角标点、标点结尾一致性统计。输出 JSON findings（与最终 Excel 同 schema）。

**机器预检不能替代语义检查**——内容矛盾、负偏离、论述不充分等必须由 AI 依据第 3 步规则逐条判断。

### 第 3 步：AI 深度检查（通读规则库后逐域执行）

按 `references/check-rules.md` 的规则清单执行，重点：

1. **A 偏离表**：用 tender.txt 的供货要求表格逐条比对 bid.txt 偏离表。每一条技术指标（含 7.1.2.12 这类“一条多参数”的复合条款）都要确认：覆盖、参数逐项给出具体值、*号项有支撑材料页码、投标参数与招标参数方向一致（不小于/不大于逐字核对——**这是负偏离的命门**）、投标承诺与正文方案/交付清单一致。
2. **B 正文**：对照偏离表和供货要求核正文论证是否覆盖每项指标；扫全文错别字、半角标点、题注编号、章节编号、图表交叉引用、交付清单与招标 *10.1/*10.2 及偏离表三方一致性；识别旧项目名残留（用项目名称在 bid.txt 中 Grep 变体名，如题注/附件/清单中出现与本项目名不同的产品别名）。
3. **C 评分**：从招标文件「评标办法前附表」提取各评分项与扣分规则（如“非*号条款每 1 项不满足扣 5 分”“偏离超 5 项否决”），对照 A/B 检查结果换算成得分风险与优化建议（含可在截标前低成本修复的加分点，如优于要求的承诺显著化）。

### 第 4 步：合并生成 Excel 检查清单

把机器预检 findings 与 AI 检查结论合并为统一的 JSON（去重、按严重等级与章节排序），然后：

```bash
"$PY" <skill目录>/scripts/build_xlsx.py findings.json 检查清单.xlsx
```

findings.json 条目 schema：

```json
{
  "category": "A-偏离表|B-方案正文|C-评分优化",
  "severity": "否决风险|扣分风险|一般|建议",
  "location": "偏离表 *13.2 / 正文 16 交付清单",
  "page": "偏离表第10行 / 正文约392页（目录推算）",
  "issue": "问题描述（一句话说清'哪里、什么错、为何有害'）",
  "tender_text": "招标要求摘录（≤80字，无则空）",
  "bid_text": "投标内容摘录（≤80字，无则空）",
  "suggestion": "具体修改建议（可直接执行的改法）"
}
```

### 第 5 步：交付

先给结论先行摘要：否决风险项数、扣分风险项数、总体响应情况、最紧迫的 3~5 项修复动作；再交付 Excel。摘要中必须点名所有“否决风险”项。

## Excel 输出格式（build_xlsx.py 已实现）

- Sheet1「检查清单」：序号 | 类别 | 严重等级 | 位置(章节) | 页码 | 问题描述 | 招标要求摘录 | 投标内容摘录 | 修改建议。严重等级着色（红=否决风险、橙=扣分风险、黄=一般、灰=建议），首行冻结、自动筛选、自动换行。
- Sheet2「汇总统计」：按类别×严重等级计数 + 评分对照摘要。
- Sheet3「检查说明」：检查范围、方法、页码口径、未覆盖事项声明。

## 约束

- 只输出检查结论与修改建议，不直接改投标文件原文；用户确认后另行协助修改。
- 摘录招标/投标原文时保持逐字（含错字），便于用户定位。
- 对无法从文本判定的项（如图片内容、盖章签字、电子版一致性），在 Sheet3「未覆盖事项」中如实声明。

