一个为硬件工程师设计的 IC 数据手册与电路原理图智能阅读技能(Skill),能够解析 PDF 格式的数据手册和原理图,精准回答电气特性、时序参数、引脚定义、寄存器映射、固件接口等技术问题。
概览
一个为 Claude Code 设计的 IC 数据手册与电路原理图智能阅读技能(Skill),能够解析 PDF 格式的数据手册和原理图,精准回答电气特性、时序参数、引脚定义、寄存器映射、固件接口等技术问题。 - — 自动识别问题涉及的文档,跨多份 PDF 协同查找答案 - — 解析目录结构,精准定位相关章节,避免全文扫描 - — 对时序图、框图、引脚图等图形内容导出为图片并使用视觉能力解读 - — 结构化提取电气参数表、寄存器位域表 - — 每条信息标注来源 PDF、章节、页码,确保可追溯 - — 首次解析后生成 _context.md 缓存文件,后续查询秒级响应 - — 支持 JSON 格式输出,可被其他 Agent 或工作流调用 - Python 3.8+ - PyMuPDF (fitz) >= 1.24.0 - Claude Code(用于执行技能工作流和多模态分析) 本项目中的技能代码和脚本为MIT。 示例 PDF 数据手册版权归原厂商(STMicroelectronics、OpenCores)所有,仅供学习和测试使用。
README
Datasheet Reader Skill
一个为 Claude Code 设计的 IC 数据手册与电路原理图智能阅读技能(Skill),能够解析 PDF 格式的数据手册和原理图,精准回答电气特性、时序参数、引脚定义、寄存器映射、固件接口等技术问题。
功能特性
- 智能文档路由 — 自动识别问题涉及的文档,跨多份 PDF 协同查找答案
- TOC 导航 — 解析目录结构,精准定位相关章节,避免全文扫描
- 多模态分析 — 对时序图、框图、引脚图等图形内容导出为图片并使用视觉能力解读
- 表格提取 — 结构化提取电气参数表、寄存器位域表
- 引用溯源 — 每条信息标注来源 PDF、章节、页码,确保可追溯
- 上下文缓存 — 首次解析后生成
_context.md缓存文件,后续查询秒级响应 - 工具链接口 — 支持 JSON 格式输出,可被其他 Agent 或工作流调用
项目结构
datasheet_skill_design/
├── skills/datasheet_reader/
│ ├── SKILL.md # 技能定义文件(触发条件、工作流、输出规范)
│ ├── references/
│ │ └── workflow_guide.md # 内部工作流详细参考
│ └── scripts/ # Python 脚本工具集
│ ├── setup_env.py # 环境初始化(创建 venv,安装 PyMuPDF)
│ ├── generate_context.py # 生成上下文缓存(TOC + 首页摘要)
│ ├── parse_toc.py # 解析 PDF 书签/目录
│ ├── extract_pages.py # 提取指定页码范围的文本
│ ├── extract_tables.py # 提取表格为 Markdown
│ └── export_page_images.py# 导出页面为 PNG 图片
├── datasheet/ # 示例数据手册
│ ├── rm0433-...pdf # STM32H750 参考手册(3019页)
│ ├── ST-STM32H750VB_2.pdf # STM32H750 数据手册(337页)
│ ├── um2217-...pdf # STM32H7 HAL 驱动手册(4020页)
│ ├── pm0253-...pdf # Cortex-M7 编程手册(254页)
│ ├── UART_spec.pdf # UART16550 IP 规格书(20页)
│ ├── datasheet_index.md # 文档导航索引
│ └── *_context.md # 各 PDF 的上下文缓存
├── Schdoc/ # 示例原理图
│ └── STM32H7xx SchDoc V11.pdf
├── test/ # 测试用例集(A-M 组)
└── .gitignore
快速开始
环境准备
python skills/datasheet_reader/scripts/setup_env.py
此命令会在项目根目录创建 .venv/ 并安装 PyMuPDF。
初始化文档
将 PDF 放入 datasheet/ 目录后,执行初始化生成上下文缓存:
@datasheet_reader(action:"init", pdf:"datasheet/your_chip.pdf")
或批量初始化:
@datasheet_reader(action:"init_all")
查询示例
@datasheet_reader(action:"query", pdf:"datasheet/ST-STM32H750VB_2.pdf", question:"ADC最大采样率")
测试用例
项目包含 13 组测试,覆盖技能的各个维度:
| 组别 | 测试内容 | 说明 |
|---|---|---|
| A | 引用标注准确性 | 验证来源页码、章节、表格行号的正确性 |
| B | 跨文档路由 | 验证多文档协同查找(如 RM + HAL 手册联合回答) |
| C | 原理图模式 | 验证电路图的多模态视觉解读能力 |
| D | 边界情况 | 无 TOC、扫描件、超大表格等异常场景 |
| E | 工具链模式 | 验证 JSON 格式输出的结构正确性 |
| F | 深度定位 | 复杂问题的精确章节定位(SDMMC DMA、I2C 时序、HAL TIM PWM) |
| G | 多模态图表 | 电源域框图、时钟树、HRTIM 框图的视觉解读 |
| H | 对比分析 | 多个参数/方案的横向对比 |
| I | 接口契约 | 验证 Skill 接口规范的完整性 |
| J | 代码生成 | 基于数据手册生成 C 代码和 Verilog HDL |
| K | 总结模式 | 章节/外设的结构化总结输出 |
| L | 复杂格式 | 复杂表格、嵌套列表等格式的正确渲染 |
| M | 多源综合 | 需要综合多份文档信息才能回答的问题 |
技术依赖
- Python 3.8+
- PyMuPDF (fitz) >= 1.24.0
- Claude Code(用于执行技能工作流和多模态分析)
许可证
本项目中的技能代码和脚本为MIT。 示例 PDF 数据手册版权归原厂商(STMicroelectronics、OpenCores)所有,仅供学习和测试使用。
推荐工具
换一个关键词,或者移除筛选条件。
安装
npx skillfish add 1lethe/datasheet_reader_skill