# Tech Report Skill

> 基于专利Excel数据生成技术研发简报HTML。输入包含专利清单的Excel文件路径、技术主题、时间范围，自动完成关键词标引、数据分析、HTML简报生成全流程。

- Skill: `patsnap/tech-report-skill` (Agent Skill, multi-file: 17 files)
- Install (CLI): `npx skillmds@latest add patsnap/tech-report-skill`
- Raw SKILL.md: https://api.skillmd.com/api/skills/patsnap/tech-report-skill/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Web & Frontend
- Author: patsnap (https://skillmd.com/u/patsnap)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/patsnap/tech-report-skill

---


# 技术研发简报生成 Skill

## 用途

基于专利Excel数据，自动生成美观的技术研发简报HTML文件，包含：
- 行业动态
- 重点公司技术动向
- 技术分类与专利解读
- 专利详情（含摘要附图）

## 工作流程

1. **关键词配置**：根据技术主题定义包含/排除关键词
2. **专利标引**：自动标记高相关专利
3. **数据分析**：提取公司、技术分类、行业动态
4. **HTML生成**：生成响应式、可交互的简报页面

## 使用方法

### 快速开始

```bash
cd ~/.claude/skills/tech-report-skill
bash scripts/run.sh "<Excel文件路径>" "<技术主题>" "<开始日期>" "<结束日期>"
```

**参数说明：**

- `<Excel文件路径>`：包含专利清单的Excel文件（必填）
- `<技术主题>`：技术领域名称，如"BIPV"、"固态电池"（必填）
- `<开始日期>`：报告起始日期，格式YYYYMMDD（必填）
- `<结束日期>`：报告结束日期，格式YYYYMMDD（必填）

**示例：**

```bash
bash scripts/run.sh "/path/to/BIPV专利清单202604.XLSX" "BIPV" "20260201" "20260430"

bash scripts/run.sh "/path/to/固态电池专利.xlsx" "固态电池" "20260101" "20260331"
```

## 输入文件要求

Excel文件需包含以下列（列名可能略有不同）：

**必需列：**
- `公开(公告)号`：专利号
- `标题`：专利标题
- `[标]当前申请(专利权)人`：申请人/公司名称
- `简单法律状态`：有效/审中/失效等

**可选列（用于关键词匹配）：**
- `Patsnap专利标题`
- `技术问题`
- `技术手段`
- `技术功效`

**可选列（用于展示）：**
- `申请日`
- `公开日`
- `技术分类`
- `技术相关性`

## 输出文件

生成的文件保存在与输入Excel相同的目录：

1. **标引文件**：`{技术主题}专利清单_{日期范围}_标引.xlsx`
   - 新增"相关性标引"列，高相关专利高亮显示

2. **HTML简报**：`{技术主题}_report_{日期范围}.html`
   - 响应式设计，支持移动端
   - 导航菜单，快速跳转
   - 专利详情含摘要附图
   - 可点击专利号跳转Patsnap

## 配置文件

### 1. 关键词配置文件

创建 `~/.claude/skills/tech-report-skill/config/{技术主题}_keywords.py`

```python
# 示例：BIPV_keywords.py

# 包含关键词（命中任意一个即为高相关）
INCLUDE_KEYWORDS = [
    "曲面光伏", "光伏瓦", "户用BIPV", "光储一体",
    "curved solar tile", "solar roof tile", "BIPV energy storage",
]

# 排除关键词（命中则降级）
EXCLUDE_KEYWORDS = [
    "光伏幕墙", "光伏外立面", "平屋顶光伏",
    "solar facade", "PV curtain wall", "flat roof PV",
]

# 公司简称映射
COMPANY_SHORT = {
    '特斯拉公司(美国)': '特斯拉',
    '隆基绿能科技股份有限公司': '隆基绿能',
}
```

### 2. 内容配置文件

创建 `~/.claude/skills/tech-report-skill/config/{技术主题}_content.py`

```python
# 示例：BIPV_content.py

# 行业动态（标题、来源、日期、摘要、链接）
NEWS = [
    ('标题1', '来源1', '2026-04-13', '摘要1', 'https://...'),
    ('标题2', '来源2', '2026-04-16', '摘要2', 'https://...'),
]

# 重点公司（公司名、国家/地区、技术总结、专利号列表）
COMPANY_DATA = [
    ('特斯拉公司', '美国', '技术总结...', ['US12598838B2', 'US12580517B2']),
    ('隆基绿能科技股份有限公司', '中国', '技术总结...', ['CN223978599U']),
]

# 技术分类（分类名、专利数、技术总结、代表专利列表）
TECH_CATS = [
    ('安装与连接系统', 21, '技术总结...', ['CN223957486U', 'CN224119821U']),
    ('光伏瓦本体技术', 12, '技术总结...', ['CN224161307U', 'CN117558786B']),
]
```

## 触发条件

- 用户明确要求"生成技术简报"、"生成研发简报"
- 用户提供Excel文件路径和技术主题
- 用户说"用XX技术主题生成简报"

## AI 执行规则

当用户触发本skill时，按以下步骤执行：

### 第一步：收集参数

询问用户以下信息（如果未提供）：

1. Excel文件路径
2. 技术主题（如"BIPV"、"固态电池"）
3. 报告时间范围（开始日期、结束日期）

### 第二步：检查配置文件

检查是否存在配置文件：
- `config/{技术主题}_keywords.py`
- `config/{技术主题}_content.py`

**如果不存在：**

1. 询问用户是否需要创建配置文件
2. 引导用户提供：
   - 包含关键词列表
   - 排除关键词列表
   - 重点公司列表
   - 行业动态（可选）

3. 自动生成配置文件模板

**如果存在：**

直接使用现有配置

### 第三步：执行生成流程

```bash
cd ~/.claude/skills/tech-report-skill
bash scripts/run.sh "<Excel路径>" "<技术主题>" "<开始日期>" "<结束日期>"
```

### 第四步：展示结果

1. 告知用户生成的文件路径
2. 展示简报统计信息：
   - 总专利数
   - 高相关专利数
   - 重点公司数
   - 技术分类数
3. 询问是否需要在浏览器中打开HTML简报

## 文件结构

```
tech-report-skill/
├── SKILL.md                    # 本文件
├── scripts/
│   ├── run.sh                  # 主执行脚本
│   ├── tag_relevant.py         # 专利标引脚本
│   └── generate_report.py     # HTML生成脚本
├── config/                     # 配置文件目录
│   ├── BIPV_keywords.py
│   ├── BIPV_content.py
│   └── ...                     # 其他技术主题配置
└── templates/                  # HTML模板（可选）
```

## 环境要求

- Python 3.8+
- 依赖包：pandas, openpyxl

## 依赖安装

脚本会自动检测并安装依赖，无需手动操作。

## 高级功能

### 自定义样式

修改 `scripts/generate_report.py` 中的 CSS 变量：

```python
CSS_VARS = {
    '--orange': '#FF6B35',      # 主题色
    '--dark': '#1A1A2E',        # 深色背景
    '--radius': '12px',         # 圆角半径
}
```

### 添加新技术主题

1. 创建关键词配置：`config/{主题}_keywords.py`
2. 创建内容配置：`config/{主题}_content.py`
3. 运行生成命令

### 批量生成

```bash
# 为多个技术主题生成简报
for topic in BIPV 固态电池 钙钛矿; do
    bash scripts/run.sh "/path/to/${topic}专利.xlsx" "$topic" "20260101" "20260331"
done
```

## 常见问题

**Q: Excel文件中没有"技术相关性"列怎么办？**

A: 脚本会自动运行标引流程，基于关键词匹配生成"相关性标引"列。

**Q: 如何修改关键词？**

A: 编辑 `config/{技术主题}_keywords.py` 文件，修改 `INCLUDE_KEYWORDS` 和 `EXCLUDE_KEYWORDS` 列表。

**Q: 生成的HTML没有摘要附图？**

A: 确保Excel文件的B列（公开公告号列）包含图片，或者Excel文件中有图片嵌入。

**Q: 如何自定义公司技术总结？**

A: 编辑 `config/{技术主题}_content.py` 文件中的 `COMPANY_DATA` 列表。

## 示例：完整工作流

```bash
# 1. 准备Excel文件
# 文件路径：/Users/xxx/BIPV专利清单202604.XLSX

# 2. 创建配置文件（首次使用）
# 由AI引导用户创建 config/BIPV_keywords.py 和 config/BIPV_content.py

# 3. 生成简报
cd ~/.claude/skills/tech-report-skill
bash scripts/run.sh "/Users/xxx/BIPV专利清单202604.XLSX" "BIPV" "20260201" "20260430"

# 4. 输出文件
# - /Users/xxx/BIPV专利清单202604_标引.xlsx
# - /Users/xxx/BIPV_report_202602to202604.html

# 5. 在浏览器中打开HTML查看
open /Users/xxx/BIPV_report_202602to202604.html
```

## 核心特性

### 1. 数据完整性保障
- ✅ **保留Excel超链接**：专利公开号可直接点击跳转到Patsnap原文
- ✅ **保留专利附图**：自动提取Excel内嵌图片并转为Base64嵌入HTML
- ✅ **完全自包含**：所有图片、样式内联，可离线查看或邮件发送

### 2. 智能专利分类
- ✅ **关键词匹配算法**：基于关键词相关度自动为每个技术分类挑选Top-20专利
- ✅ **相关度评分**：统计匹配关键词数量，优先展示最相关专利
- ✅ **动态分类**：无需手动配置所有专利号，系统自动分类

### 3. 美观的视觉设计
- ✅ **装饰性背景图**：Hero区域自动下载技术主题相关图片作为背景
- ✅ **响应式布局**：支持桌面端和移动端，卡片式设计清晰美观
- ✅ **交互导航**：固定导航栏，支持快速跳转到任意章节

### 4. 可点击的内容链接
- ✅ **新闻链接**：每条新闻都有"查看原文"按钮跳转到新闻网页
- ✅ **专利链接**：所有专利号都可点击跳转到Patsnap专利详情页

## 常见问题

**Q: 为什么专利链接和图片能保留？**

A: 脚本使用 `openpyxl` 直接操作Excel文件，在原文件上添加标引列，完整保留所有超链接和内嵌图片。详见 [IMPROVEMENTS.md](./IMPROVEMENTS.md)。

**Q: 如何确保每个技术分类有足够的专利？**

A: 系统会根据关键词匹配度自动为每个技术分类选取Top-20专利。你只需在 `_keywords.py` 中定义技术分类的关键词列表即可。

**Q: 简报中的背景图片会丢失吗？**

A: 不会。背景图片在生成时下载并转为Base64编码嵌入HTML，简报发送或复制后图片依然存在。

**Q: 如何让新闻标题可以跳转？**

A: 在 `{技术主题}_content.py` 的 NEWS 配置中，每条新闻的第5个参数填写新闻链接URL。生成的简报会自动添加"查看原文"按钮。

## 技术改进文档

查看详细的技术改进说明和最佳实践：[IMPROVEMENTS.md](./IMPROVEMENTS.md)

## 更新日志

- v1.1 (2026-06-06): 
  - 修复专利链接和图片丢失问题（使用openpyxl保留元数据）
  - 实现基于关键词匹配的智能专利分类（Top-20算法）
  - 添加装饰性背景图片（Base64嵌入）
  - 新闻和专利号支持点击跳转
  - 创建 IMPROVEMENTS.md 详细记录所有改进
- v1.0 (2026-05-28): 初始版本，支持BIPV技术简报生成

## 使用前配置
本 Skill 依赖智慧芽开放平台 MCP 服务：
- 完成安装、初次使用时需进行自检，参见 README.md
- 用户需完成账号授权，并确保 Agent 环境已启用对应 MCP 工具
- 若未完成配置，本 Skill 只能提供分析框架，无法检索实时数据或生成基于数据库的结论
- 缺少MCP配置时，引导用户参照 README.md 在 [[open.zhihuiya.com](https://open.zhihuiya.com/)](https://open.zhihuiya.com/) 获取MCP。

