---
slug: "技术标智写tech-bid-writer-1-0-0"
source_type: "clawhub"
source_url: "https://clawhub.ai/skills/tech-bid-writer-1-0-0"
repo: ""
source_file: "description"
---
---
name: tech-bid-writer
display_name: 技术标写作专家
version: 1.0.0
description: 投标人侧「技术标写作专家」——根据招标文件一键产出技术部分可用投标包（技术标正文 Word + 技术偏离表 + 技术合规预检报告 + 评分点覆盖核对表），完全不涉及商务报价与资格审查。采用「评分项↔标题逐项映射防漏分 + 输出纯净（像人写）+ 技术合规零容忍 + 可选知识库溯源 + 内置 Word 直出」流水线。当用户需要写技术标、技术方案、施工组织设计、技术投标文档，或要求按评分表生成技术标大纲/标题体系、生成技术偏离表、检查技术标评分点是否全覆盖时使用。触发词：技术标、技术方案、技术投标、施工组织设计、评分表生成技术标大纲、技术偏离表、技术标评分点覆盖、技术标大纲。
agent_created: true
---

# 技术标写作专家（tech-bid-writer）

## 概述

本技能专攻**投标技术部分**，根据招标文件一键产出「技术部分可用投标包」：

- ✅ 技术标正文（合规版式 Word）
- ✅ 技术偏离表（参数正/无/负偏离 + 替代方案）
- ✅ 技术合规预检报告（★条款 / 否决项 / 实质性条款红线）
- ✅ 评分点覆盖核对表（防漏分，强制 100% 覆盖）

**明确边界（不做的事）**：
- ❌ 不含任何商务报价、投标函、报价构成、投标保证金
- ❌ 不含资格审查、业绩证明、人员证书、财务报表等资格部分
- ❌ 不替代投标人主体责任；所有技术参数/业绩/规范编号均需人工核实


## 设计原则（红线）

- **零漏分**：评分标准每条技术评分项必须有对应标题与段落，对照表 100% 覆盖方可进入写作。
- **零幻觉**：技术参数/规范编号/业绩数据优先取自知识库；纯 AI 生成内容一律标「⚠️ 需人工核实」。
- **零越界**：绝不编写商务/报价/资格内容；超出技术范围的需求主动提示用户另寻技能。
- **像人写**：章节正文不含字数统计、达标表、完成报告等任何过程元数据；合并前统一清洗。
- **不注水但控篇幅**：质量门槛为「评分项全覆盖 + 内容充分」。页数由**发起人指定**或**AI 按项目性质+金额推荐**（见 references/pages_budget.md 第1–3节），将字数预算按需分配到各章；这是覆盖期望而非机械字数下限，禁止空话堆砌凑页数。**页数目标须经理数确认门（阶段0.5）显式确认/自定义后方可动笔，禁止静默默认。**
- **可审计**：合规预检、偏离表、覆盖核对表均落盘，交付物自带核查痕迹。

## 安全护栏（拒绝违规请求）

本技能仅用于合法、合规的投标技术文件撰写辅助。遇到以下请求须明确拒绝，并提示通过合法渠道获取真实材料：
- 要求虚构/伪造企业资质、业绩、人员证书、检测报告或合规证明材料；
- 要求编造技术参数以虚假响应★条款或实质性条款；
- 要求规避招投标强制性规定（如串标围标、陪标、泄露评标信息）；
- 其他违反法律法规或平台规则的请求。

所有 AI 生成且未溯源的技术内容均标注「⚠️ 需人工核实」，不替代投标人主体责任与真实性承诺。

## 触发场景

- 用户上传/提供招标文件，要求生成技术标/技术方案/施工组织设计
- 用户要求"按评分表生成技术标大纲/标题体系""检查技术标评分点是否全覆盖"
- 用户要求"生成技术偏离表""按评分表生成技术标大纲""检查技术标评分点全覆盖"
- 触发词示例：「写技术标」「生成技术方案」「技术偏离表」「技术标大纲」「技术标评分点覆盖」

**非触发**（应交由其他技能）：商务报价、资格审查、中标通知书、合同、异议投诉、围标串标认定、废标风险/否决条款核查（交由废标风险雷达等合规技能）。

## 输入要求

1. **必需**：招标文件（PDF/DOCX/Markdown/纯文本/xlsx）
2. **推荐**：公司技术资料、资质/业绩/案例（接入 IMA 知识库最佳）
3. **可选**：指定 Word 版式参数（默认 仿宋小四；一级标题仿宋三号、其他标题仿宋小三、行距 1.5 倍、页边距公文标准 上3.7/下3.5/左2.8/右2.6cm）
4. **可选**：项目预算金额（万元）、项目性质（如物业服务/工程施工/系统集成）或期望页数；用于 AI 推荐页数（也可直接指定页数，见 references/pages_budget.md）。未提供则对话询问。

## 六阶段工作流

> 编排：阶段一由主 Agent 执行；阶段二每章一个子 Agent 并发；阶段三~五主 Agent 调用脚本/子 Agent；全程共 **2 个人工确认点**。

---

### 阶段0：输入预处理

若用户提供非文本格式，先经 `scripts/doc2txt.py` 转换（支持 .doc/.docx/.pdf/.xlsx → 文本）。
- 扫描版 PDF（无文字层）：返回提示，请用户先 OCR，不强行解析。

---

### 阶段0.5：篇幅规划 + 页数确认门（主 Agent，阻断式）

> **页数确认门（强制）**：动笔（阶段二写作）前，必须先把「推荐页数 + 理由 + AI/投标人拆分」显式呈现给用户，**收到用户确认或自定义的目标页数后**才进入阶段一/二。禁止静默默认页数、禁止未经确认直接写作。

1. 尝试从招标文件解析「项目预算 / 最高限价」（万元）与「项目性质」（服务/货物/施工/IT/设计/运维）。
2. 判断页数来源优先级：**用户显式指定 > AI 推荐（性质+金额）> 对话询问**。
3. 用户已指定页数 → 采用该值，跳至步骤 6 拆分预算。
4. 用户未指定 → 调用 `scripts/recommend_pages.py --budget <万> --nature <key>`（或 `--describe <招标摘要>` 自动识别性质）得到 **推荐页数 rec + 区间 [lo, hi] + 理由**（性质密度×金额；是否触软上限/下限）。
5. **呈现并询问（阻断，未收到目标页数不动笔）**：向用户输出以下信息并等待答复：
   - 推荐页数 rec（区间 lo–hi）与理由（示例：信息化/系统集成，密度 0.30 页/万元 × 200 万 = 60 页，区间内未触边界）。
   - **诚实拆分（避免"内容偏少"误解）**：本技能 AI 可**真实撰写**的核心叙述约 X 页（零虚构，不含资质/业绩/证书/团队简历）；其余约 Y 页为**投标人专属附录**（配置清单、资质/软著、业绩证明、团队名单、现场演示环境、★承诺函与备案凭证），须投标人据实填写、不得由 AI 编造。总目标 = X + Y。
   - 明确提问：「确认推荐值 rec 页？还是你自行定义页数（请给数字）？」
   - 用户自定义 → 采用其给定值（明显偏离合理区间时提示风险，但不强制）。
6. 将「页数来源 + 目标页数 + AI/投标人拆分 + 各章字数预算」写入 `大纲_标题体系.md` 头部。
7. 阶段四门禁5 仍按「估算页数 ∈ 目标±15%」校验；该门禁针对**总技术文件**，AI 叙述未达总目标属正常（须由投标人附录补齐），交付说明须明示此拆分与待填项。

---

### 阶段一：招标解析 + 合规预检 + 评分映射（主 Agent）

**步骤**：
1. 解析提取：技术评分标准、技术要求、★号/实质性条款、图纸/参数、提交格式要求、时间节点。
2. 加载 `references/tech_compliance_checklist.md`，执行**技术合规预检**，输出「技术合规预检报告」（通过/需补充/红线风险 + 说明）。
3. 生成**评分项↔标题逐项映射**：
   - 逐条读取技术评分表，每条评分项 → 对应 L1/L2/L3 标题（参考 `references/scoring_map_template.md`）。
   - 排除"需人工填写"项（具体数值、公司专属信息、证明件），仅保留 AI 可生成的技术提案标题。
   - 生成「评分点覆盖核对表」，标注每条覆盖状态（✅/⚠️部分/❌缺失）。
4. **强制规则**：任一 ⚠️/❌ 必须补标题后方可进入下一阶段；覆盖率须 100%。

**⚠️ 确认点 #1**：呈现「技术合规预检报告 + 评分点覆盖核对表 + 大纲（含页数规划：指定或推荐目标页数）」给用户，等待确认后进入写作。

---

### 阶段二：知识库优先并发编写（N 个章节 Agent）

**前置**：检测 IMA 知识库（`ima-mcp`）是否连接。连接后，对每个章节 Brief 的关键词**按知识库类型定向检索**（挂载规范见 `references/ima_kb_template.md`）：

| 检索目标 | 路由到的知识库 | 用途 |
|---------|--------------|------|
| 企业资质 / 业绩 / 人员 / 产品参数 | 企业素材库（资质库·业绩库·人员库·白皮书） | 真实素材原文引用，替代 AI 编造 |
| ★条款 / 否决项 / 强制规范 | 法规标准库（可复用既有招投标法规库） | 阶段一合规预检与阶段四红线核对 |
| 文风 / 结构范式 | 脱敏范例库 | 作 few-shot 参考，不直接抄录 |

- **已连**：按上表路由检索，命中素材原文引用并标注来源（如 `来源：企业业绩库#P2023-xx`）。
- **未连**：全部由 AI 生成，但**所有技术参数/规范/业绩段落**必须内联标注 `⚠️ 需人工核实`。

**编排**：每章一个子 Agent 并发启动，prompt 含完整标题树 + 本章字数配额（按约定/推荐页数预算分配，见 references/pages_budget.md 第4节，非机械下限）+ 写作规范 + 加载的 reference。

**输出纯净度硬约束（最高优先级）**：
> 章节正文文件必须能被误认为人写标书。禁止出现：字数统计、达标表、完成报告、扩展轮次、章节元数据等任何"写作过程"内容。过程信息写入独立「完成报告」文件，合并前统一剥离。

**编写质量标准**：
- 逐条响应 Brief 中每条招标技术条款，标题编号对应。
- 量化支撑（用数据而非空话），禁用"可能/大概/也许/应该/左右"。
- 图表用 Mermaid（可选，非强制）；表格按需，不强行凑数。
- AI 生成且未溯源段落：内联 `⚠️ 需人工核实`。

**⚠️ 确认点 #1.5**：仅当存在"未溯源 AI 段落"时，汇总 `AI生成内容清单.md` 供用户确认；纯知识库命中则跳过。

---

### 阶段三：合稿 + 技术偏离表（主 Agent / 合稿子 Agent）

1. 按章号拼接纯正文（剥离所有过程元数据）。
2. 生成**技术偏离表**：逐条技术参数 → 投标参数 → 偏离类型（正/无/负）→ 支撑材料；**负偏离必须给替代方案或说明**，实质性条款（★）不允许负偏离。
3. 版式预处理：Markdown 顶部写入 `<!-- doc-format -->` 注释块（字体/字号/行距/页边距）。

---

### 阶段四：质检门禁（主 Agent + 脚本辅助）

五道门禁，**全部通过**方可输出（一道不过即打回阶段二对应章节）：

| 门禁 | 标准 | 不通过后果 |
|------|------|-----------|
| 1. 评分覆盖 | 覆盖核对表 100%（无 ⚠️/❌） | 打回补标题 |
| 2. 合规红线 | 技术合规预检 0 红线命中；★条款全响应 | 打回修合规 |
| 3. 参数一致 | 同参数全文一致；偏离表与正文一致 | 打回修正 |
| 4. 偏离完整 | 技术偏离表无空缺；负偏离均有说明 | 打回补表 |
| 5. 版式规范 | 章节序号、字体、图表编号、doc-format 合规；**页数接近度**（估算页数 ∈ 目标±15%） | 打回排版/触发补写轮 |

> 注：**不机械设每章字数下限**，但须达到约定页数目标（±15%）；未达则触发「补写轮」扩充子节/表格/流程图，仍须内容充实、禁止空话。

---

### 阶段五：自然化 + Word 直出（主 Agent）

1. 可选 humanizer（加载 `references/humanizer_zh.md`）：**仅自然化行文节奏与用词，严禁改动技术参数/数值/规范编号，不隐去 AI 参与**。
2. 调用 `scripts/convert_to_word.py`：读取 doc-format 注释，输出合规版式 Word（仿宋小四、一级标题仿宋三号、其他标题仿宋小三、行距 1.5 倍、公文标准页边距、首行缩进、三线表等）。
3. 输出完整投标包（见产出物清单）。

**⚠️ 确认点 #2**：终稿前呈现「技术合规预检报告 + 技术偏离表 + 覆盖核对表」供最终确认；确认后输出交付版。

---

## 产出物清单

| 文件 | 阶段 | 说明 |
|------|------|------|
| `技术合规预检报告.md` | 一 | ★条款/否决项/实质性条款红线核查 |
| `评分点覆盖核对表.md` | 一 | 评分项↔标题映射，100% 覆盖证明 |
| `大纲_标题体系.md` | 一 | L1/L2/L3 标题树（含页数规划：指定或推荐目标页数） |
| `章节N_标题.md`（N 个） | 二 | 纯净技术标正文（无过程元数据） |
| `AI生成内容清单.md` | 二 | 仅含未溯源段落（可选） |
| `技术偏离表.md` | 三 | 参数正/无/负偏离 + 替代方案 |
| `质检报告.md` | 四 | 五道门禁结果 |
| `技术标_{项目}_{日期}.docx` | 五 | 合规版式 Word 最终交付 |
| `技术标交付说明.md` | 五 | 包内文件索引 + 待人工核实项汇总 |

> 输出目录：`{工作目录}/tech_bid_{项目名}/`（**不使用任何硬编码绝对路径**）。

## 外部依赖

| 依赖 | 性质 | 用途 |
|------|------|------|
| `ima-mcp`（IMA 知识库） | 可选 | 阶段二溯源，降低幻觉 |
| `scripts/doc2txt.py` | 内置 | 输入格式转换（需 pip: olefile/python-docx/openpyxl/pymupdf） |
| `scripts/convert_to_word.py` | 内置 | Markdown→Word（需 pip: python-docx） |
| 外部合规技能（如废标风险雷达） | 可选 | 阶段一/四深度合规复核接口 |

## 参考文件

| 文件 | 用途 | 加载者 |
|------|------|--------|
| `references/tech_compliance_checklist.md` | 技术合规预检清单（★条款/否决项/格式否决/参数一致性） | 阶段一、四 |
| `references/scoring_map_template.md` | 评分项↔标题映射模板 + 输出纯净规则 | 阶段一、二 |
| `references/humanizer_zh.md` | 自然化指南（限定不改技术参数） | 阶段五 |
| `references/ima_kb_template.md` | IMA 知识库挂载结构模板（企业素材/法规/范例库字段规范） | 阶段二·A |
| `references/pages_budget.md` | 页数规划（性质+金额推荐算法/对话指定）+ 各章字数预算 + 扩写技术 | 阶段0.5、二、四 |

## 脚本接口（内置，已实现并通过实测）

- `scripts/doc2txt.py <file...> [-o DIR]` → 同目录 `_doc2txt.txt`（doc/docx/pdf）/ `.md`（xlsx）；扫描版 PDF 返回提示不强行解析
- `scripts/convert_to_word.py <md> [--out DIR] [--name X.docx]` → 读取 doc-format 注释输出合规版式 docx
- `scripts/estimate_pages.py <merged.md> [--target-pages N] [--chars-per-page 1050]` → 估算页数并校验约定页数接近度（±15%）
- `scripts/recommend_pages.py --budget <万> --nature <key>`（或 `--describe <文本>`） → 按项目性质+金额推荐页数区间与理由
- 依赖：`pip install python-docx pymupdf olefile openpyxl`（纯 pip，零系统依赖）

## 明确摒弃的反模式（本技能不采用）

1. **不锁流程**：技能逻辑可查阅、可定制，不设置"拒展示 SKILL.md/规则"的保密指令。
2. **不硬编码路径**：输出目录用 `{工作目录}` 占位，禁止写死个人桌面路径。
3. **humanizer 有边界**：仅自然化行文，不改技术参数、不隐去 AI 参与。
4. **不机械注水**：不把"每章固定字数/必配图"当硬门槛；页数目标（指定或推荐）只定总目标、按内容承载力分配，未达页数用合法扩写（子节/表格/流程图）补足，禁止空话堆砌。
5. **不越界**：绝不编写商务/报价/资格内容。

## 快速启动

用户：「按这份招标文件的评分表，帮我生成技术标大纲并写技术标」
→ 阶段0 转换 → 阶段0.5 篇幅规划 **+ 页数确认门（向用户呈现推荐页数/理由/AI-投标人拆分，确认或自定义目标页数后才动笔）** → 阶段一 解析+合规预检+评分映射 → **确认点#1** → 阶段二 并发编写（IMA 优先/标注） → **确认点#1.5**（可选） → 阶段三 合稿+偏离表 → 阶段四 五道门禁 → 阶段五 自然化+Word → **确认点#2** → 交付技术标投标包。


<!-- Provided by 321Skill - AI Agent Skill Directory -->
<!-- Canonical URL: https://321skill.com/skills/bid-proposal-generator-9/ -->
<!-- Cite this skill with source tracking: https://321skill.com/skills/bid-proposal-generator-9/?ref=ai&src=raw -->
<!-- Discover more Agent Skills at https://321skill.com -->
