# Tender Analysis

> 分析投标文件（PDF、Word等格式），提取项目要求、技术规格、时间节点等关键信息，梳理疑问细项用于答疑会议，并生成结构化的投标设计方案。当用户提到投标文件、招标文件、投标方案、标书分析、疑问梳理、答疑问题时使用此技能。

- Skill: `amalia6767/tender-analysis` (Agent Skill, multi-file: 13 files)
- Install (CLI): `npx skillmds@latest add amalia6767/tender-analysis`
- Raw SKILL.md: https://api.skillmd.com/api/skills/amalia6767/tender-analysis/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Docs & Writing
- Author: Amalia6767 (https://skillmd.com/u/amalia6767)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/amalia6767/tender-analysis

---


# 投标文件分析与方案设计

## 工作流程

### 阶段一：投标文件分析

1. **识别文件类型并提取内容**
   - PDF文件：使用 `pdfplumber` 提取文本和表格（推荐脚本：`scripts/extract_pdf.py`）
   - Word文件（.docx）：使用 `python-docx` 提取文本和表格（推荐脚本：`scripts/extract_docx.py`）
   - Word文件（.doc）：使用 `docx2txt` 或系统工具提取（推荐脚本：`scripts/extract_doc.py`）
   - Excel文件（.xls/.xlsx）：使用 `openpyxl` 或 `xlrd` 提取数据
   - 图片文件：使用 OCR（如 `pytesseract`）提取文字

2. **提取关键信息**
   按照以下结构提取信息：

   ```markdown
   ## 项目基本信息
   - 项目名称：
   - 招标编号：
   - 招标单位：
   - 项目预算：
   - 投标截止时间：
   - 开标时间：

   ## 技术要求
   - 技术规格：
   - 性能指标：
   - 质量标准：
   - 认证要求：

   ## 商务要求
   - 付款方式：
   - 交付周期：
   - 质保要求：
   - 其他商务条款：

   ## 评分标准
   - 技术分占比：
   - 商务分占比：
   - 价格分占比：
   - 加分项：

   ## 关键时间节点
   - 答疑截止：
   - 投标截止：
   - 开标时间：
   - 合同签订：
   ```

3. **识别重点和难点**
   - 标注必须满足的硬性要求（★ 必须满足）
   - 标注加分项（+ 加分项）
   - 标注潜在风险点（⚠ 风险点）

### 阶段二：疑问梳理（答疑会议前）

在收到投标文件后、答疑会议前，必须梳理所有疑问细项。这是保护乙方权益、明确项目要求的关键步骤。

1. **梳理疑问的原则**
   - 识别模糊不清的条款
   - 识别可能不利于乙方权益的条款
   - 识别技术规格不明确的地方
   - 识别商务条款有歧义的地方
   - 识别评分标准不清晰的地方

2. **疑问分类**
   - **🔴 关键疑问**：影响投标决策或方案设计，必须澄清
   - **🟡 重要疑问**：影响报价或实施计划，建议澄清
   - **🟢 一般疑问**：有助于优化方案，可选澄清

3. **疑问清单格式**
   使用 [question-template.md](question-template.md) 模板生成结构化疑问清单

4. **疑问表述要求**
   - 明确引用招标文件的具体章节和条款
   - 说明疑问的具体内容
   - 说明疑问可能造成的影响
   - 提出建议的解决方案（如适用）

5. **答疑会议后处理**
   - 整理甲方回复，更新到分析文档中
   - 根据回复调整方案设计方向
   - 识别甲方回复中的新信息或要求

### 阶段三：方案设计生成（答疑会议后）

基于提取的信息和答疑回复，生成投标设计方案：

基于提取的信息，生成投标设计方案：

```markdown
# [项目名称] 投标设计方案

## 一、项目理解

### 1.1 项目背景
[基于招标文件描述的项目背景]

### 1.2 项目目标
[明确项目要实现的目标]

### 1.3 核心需求分析
- 需求1：[对应技术要求]
- 需求2：[对应技术要求]
- 需求3：[对应技术要求]

## 二、技术方案

### 2.1 总体架构
[技术架构图和说明]

### 2.2 核心技术选型
| 技术项 | 选型 | 理由 |
|--------|------|------|
| 技术1 | 方案A | 满足XX要求 |
| 技术2 | 方案B | 满足XX要求 |

### 2.3 关键技术实现
[详细说明关键技术如何实现，确保满足所有技术要求]

### 2.4 创新点与优势
- 创新点1：[说明]
- 创新点2：[说明]

## 三、实施方案

### 3.1 项目组织架构
[项目团队结构]

### 3.2 实施计划
| 阶段 | 时间 | 主要工作 | 交付物 |
|------|------|----------|--------|
| 阶段1 | X天 | 工作内容 | 交付物1 |
| 阶段2 | X天 | 工作内容 | 交付物2 |

### 3.3 质量保证措施
- 措施1：[说明]
- 措施2：[说明]

### 3.4 风险控制
| 风险 | 应对措施 | 责任人 |
|------|----------|--------|
| 风险1 | 措施1 | 责任人1 |
| 风险2 | 措施2 | 责任人2 |

## 四、商务方案

### 4.1 报价说明
[报价结构和说明]

### 4.2 付款方式
[符合招标要求的付款方式]

### 4.3 售后服务
[质保和售后服务方案]

## 五、优势总结

### 5.1 技术优势
- 优势1
- 优势2

### 5.2 服务优势
- 优势1
- 优势2

### 5.3 成功案例
[相关成功案例]

## 六、承诺与保证

[对招标要求的响应和承诺]
```

## 关键检查点

### 疑问梳理检查点

- [ ] 所有模糊条款都已识别
- [ ] 所有不利于乙方的条款都已标注
- [ ] 疑问已按重要性分类（关键/重要/一般）
- [ ] 疑问已按类别分类（项目信息、技术要求、商务要求等）
- [ ] 疑问已按职能分类（项目负责人、空间设计师、策展人、平面设计师）
- [ ] 疑问表述清晰，有具体引用
- [ ] 疑问清单已准备好，可在答疑会议使用

### 方案设计检查点

在生成方案前，确保：

- [ ] 所有★必须满足的要求都已响应
- [ ] 所有+加分项都已体现
- [ ] 时间节点符合招标要求
- [ ] 技术方案满足所有技术规格
- [ ] 商务条款符合招标要求
- [ ] 方案结构完整、逻辑清晰
- [ ] 已根据答疑回复调整方案

## 使用示例

### 示例1：完整流程

**输入：**
```
请分析这个投标文件：招标文件.pdf
并生成投标设计方案
```

**处理流程：**
1. 读取并分析 PDF 文件
2. 提取关键信息到结构化格式
3. **梳理疑问细项，生成疑问清单**（答疑会议前）
4. 根据答疑回复更新分析文档
5. 基于提取的信息和答疑回复生成完整方案
6. 检查是否满足所有要求

### 示例2：疑问梳理

**输入：**
```
请帮我梳理这个投标文件中的疑问细项，准备答疑会议
```

**处理流程：**
1. 分析投标文件，识别模糊、不清晰或有歧义的条款
2. 按重要性分类（关键疑问/重要疑问/一般疑问）
3. 生成结构化的疑问清单，包含：
   - 文件位置引用
   - 疑问具体内容
   - 可能造成的影响
   - 建议的解决方案（如适用）
4. 输出疑问清单，便于在答疑会议中使用

### 示例3：基于答疑回复更新方案

**输入：**
```
答疑会议已结束，甲方回复如下：[回复内容]
请根据回复更新分析文档并调整方案设计
```

**处理流程：**
1. 整理答疑回复，更新到疑问清单
2. 根据回复更新投标文件分析文档
3. 识别回复中的新要求或新信息
4. 调整方案设计方向，确保符合澄清后的要求

## 注意事项

1. **准确性优先**：确保提取的信息准确，特别是时间节点和关键要求
2. **完整性检查**：方案必须覆盖招标文件中的所有评分项
3. **针对性**：方案要针对具体项目，避免模板化
4. **合规性**：确保所有承诺符合招标文件要求

## 工具推荐

### Python 环境管理

脚本运行需要 Python 虚拟环境，推荐使用 UV 管理（比 pip 快 10-100 倍，自动锁定依赖）。

```bash
uv venv .venv && source .venv/bin/activate
uv pip install python-docx pdfplumber docx2txt openpyxl xlrd
# 或使用项目模式：复制 pyproject.toml.example 为 pyproject.toml 后执行 uv sync
```

完整的安装步骤、可选依赖（OCR、PDF 表格）与常用命令见 [SETUP.md](SETUP.md)。

### 文件处理工具

- **PDF处理**：`pdfplumber`（推荐，支持文本和表格提取）
- **Word处理（.docx）**：`python-docx`（推荐）
- **Word处理（.doc）**：`docx2txt`（支持老版本格式）或系统工具（如 macOS 的 `textutil`）
- **Excel处理**：`openpyxl`（.xlsx）或 `xlrd`（.xls）
- **OCR识别**：`pytesseract` + `pdf2image`（可选，用于图片文字识别）
- **表格提取**：`tabula-py`（PDF表格，可选）

### 文件格式支持

| 格式 | 推荐工具 | 脚本 | 说明 |
|------|---------|------|------|
| .docx | python-docx | extract_docx.py | 新版本 Word 格式 |
| .doc | docx2txt / textutil | extract_doc.py | 老版本 Word 格式 |
| .pdf | pdfplumber | extract_pdf.py | PDF 文档（支持表格） |
| .xlsx | openpyxl | - | Excel 新格式 |
| .xls | xlrd | - | Excel 老格式 |

**注意**：如果遇到无法提取的文件，可以：
1. 尝试将文件转换为其他格式（如 .doc 转 .docx）
2. 使用系统工具（如 macOS 的 `textutil`）
3. 手动复制内容

## 参考资源

### 模板文件

- **分析模板**：[analysis-template.md](analysis-template.md) - 投标文件分析的结构化模板
- **疑问梳理模板**：[question-template.md](question-template.md) - 按类别分类的疑问梳理模板
- **完整疑问清单模板**：[templates/complete-question-list-template.md](templates/complete-question-list-template.md) - 包含类别和职能双重分类的完整疑问清单模板
- **按职能分类疑问模板**：[templates/question-list-by-role.md](templates/question-list-by-role.md) - 从不同职能角色角度梳理疑问的模板

### 示例文件

- **方案设计示例**：[proposal-example.md](proposal-example.md) - 完整的投标设计方案示例

### 工具脚本

- **Word文档提取（.docx）**：[scripts/extract_docx.py](scripts/extract_docx.py) - 提取 .docx 文档内容
- **Word文档提取（.doc/.docx）**：[scripts/extract_doc.py](scripts/extract_doc.py) - 提取 .doc 和 .docx 文档内容（支持老版本格式）
- **PDF文档提取**：[scripts/extract_pdf.py](scripts/extract_pdf.py) - 提取 PDF 文档内容和表格
- **Excel文档提取**：[scripts/extract_excel.py](scripts/extract_excel.py) - 提取 .xls 和 .xlsx 文档内容

**使用示例**：
```bash
# 提取 .docx 文件
python scripts/extract_docx.py 文件.docx > content.txt

# 提取 .doc 文件（老版本格式）
python scripts/extract_doc.py 文件.doc > content.txt

# 提取 PDF 文件
python scripts/extract_pdf.py 文件.pdf > content.txt

# 提取 Excel 文件
python scripts/extract_excel.py 文件.xls > content.txt
python scripts/extract_excel.py 文件.xlsx > content.txt
```

### 使用说明

1. **首次使用**：
   - 复制 `templates/complete-question-list-template.md` 作为疑问清单起点
   - 复制 `analysis-template.md` 作为分析报告起点
   - 使用 `scripts/extract_docx.py` 提取投标文件内容

2. **疑问梳理**：
   - 先按类别梳理（参考 `question-template.md`）
   - 再按职能梳理（参考 `templates/question-list-by-role.md`）
   - 合并到完整疑问清单中

3. **方案设计**：
   - 参考 `proposal-example.md` 的结构和格式
   - 根据答疑回复调整方案内容

