| name | cross-check-specs |
| description | Use when you have identified part numbers and want to fetch manufacturer datasheets, verify specs, and flag mismatches with the visual identification. |
Cross-Check Specs
Look up manufacturer datasheets and technical specifications for identified components. Given a list of part numbers (from components.json or user input), resolve each part's manufacturer, fetch datasheet URLs and cached text, extract key electrical specs, and produce a markdown summary with confidence scoring. Flag any discrepancies between visual identification and official specs.
Data storage root:
${CLAUDE_USER_DATA:-${XDG_DATA_HOME:-$HOME/.local/share}/claude-plugins}/hardware-id-annotation/
Datasheets cached under: cache/datasheets/<part>.{pdf,txt,json}
When to use
- You want to confirm that a visually identified IC is actually what the board design intends
- You need to cross-reference pinout, voltage, or package details before redesign or repair
- You're building documentation and want canonical specs from the manufacturer
- You suspect a visual mismatch (e.g., label says STM32F4, but board footprint looks wrong)
Inputs to gather
- Part numbers — comma-separated list or path to components.json
- Optional: components.json path — if provided, extract all part numbers with
high or med confidence
- Board context — what the board is supposed to be (e.g., "Raspberry Pi 5B", "STM32F4 Discovery") to flag unexpected parts
Procedure
-
Parse part numbers. Extract from user input or load data/<board-slug>/components.json. Include only entries with part_number_visible or part_number_standardized set.
-
Resolve manufacturer. Use prefix matching (case-insensitive):
STM32 → STMicroelectronics
ATmega, ATSAMD → Microchip (formerly Atmel)
ESP32, ESP8266 → Espressif
BCM, ARM → Broadcom
LM, TL, NE, LT → TI (Texas Instruments)
NXP → NXP
AD, OPA → Analog Devices
- Other — web search for " manufacturer" if prefix not recognized.
-
Fetch datasheets via web search. Use Claude's web lookup capability:
- Search for
<part> datasheet PDF site:manufacturer.com or <part> datasheet PDF
- Cache the URL and download/extract text if possible (pdfplumber if available)
- If datasheet unavailable, note
no_datasheet_found
-
Extract key specs. For each part, produce a JSON summary:
{
"part": "STM32F407VG",
"manufacturer": "STMicroelectronics",
"package": "LQFP100",
"datasheet_url": "https://...",
"cached_at": "ISO8601",
"specs": {
"core": "ARM Cortex-M4",
"frequency_max_mhz": 168,
"ram_kb": 192,
"flash_kb": 1024,
"supply_voltage_v": "1.8–3.6"
},
"pinout_summary": "VDD (pins 3, 21, 47, 72, ...); VSS/GND (pins 7, 22, 48, 73, ...); ...)",
"typical_use": "Real-time control, industrial, motor driving",
"visual_match_confidence"
-
Compare visual ID to datasheet. Check that:
- Silkscreen label matches official part number
- Visible package (QFN, BGA, LQFP, etc.) matches datasheet
- Pin count and layout align with board routing (if visible)
- Flag as
visual_match_confidence: medium or low if discrepancies emerge
-
Produce markdown output (one per part):
## STM32F407VG
**Manufacturer:** STMicroelectronics
**Package:** LQFP100
**Datasheet:** [link](https://...)
### Specs
- Core: ARM Cortex-M4 @ 168 MHz
- Memory: 1024 KB flash, 192 KB SRAM
- Supply: 1.8–3.6 V
### Pinout
[Brief pin summary or link]
### Visual Match
✓ High confidence — silkscreen and package match datasheet
-
Cache results:
${CLAUDE_USER_DATA:-${XDG_DATA_HOME:-$HOME/.local/share}/claude-plugins}/hardware-id-annotation/cache/datasheets/<part>.json
${CLAUDE_USER_DATA:-${XDG_DATA_HOME:-$HOME/.local/share}/claude-plugins}/hardware-id-annotation/cache/datasheets/<part>.pdf (if downloaded)
-
Save summary to:
${CLAUDE_USER_DATA:-${XDG_DATA_HOME:-$HOME/.local/share}/claude-plugins}/hardware-id-annotation/data/<board-slug>/specs-summary.md
Output / side effects
- Markdown file with per-part specs and cross-check results
- JSON cache of datasheet URLs and key specs
- Optional: downloaded PDFs or extracted text in cache/datasheets/
- Console: warnings if parts are not found or mismatches detected
Safety / constraints
- Web lookups can be slow — cache aggressively and reuse cached datasheets if the user runs cross-check-specs multiple times.
- PDF extraction is optional; if pdfplumber is unavailable, just store the URL and a snippet.
- No datasheet guarantee — older, discontinued, or obscure parts may not have public datasheets. Note and continue.
- Mismatch warnings — if a part's datasheet package doesn't match the silkscreen or footprint, flag clearly so the user can investigate (potential board error, rework, or misidentification).