| name | identify-components |
| description | Use when you have a photo of a circuit board or hardware module and need to catalog all visible components with part numbers and bounding boxes. |
Identify Components
Visually inspect a hardware photo and extract a structured inventory of components. Claude reads the image directly, catalogs each IC, capacitor, resistor, connector, and other identifiable part, records its visible markings and bounding location, and saves the list as JSON for downstream annotation and cross-checking.
Data is cached at:
${CLAUDE_USER_DATA:-${XDG_DATA_HOME:-$HOME/.local/share}/claude-plugins}/hardware-id-annotation/
When to use
- You have a photo of a circuit board, motherboard, dev board, or electronics module
- You need a complete parts list before ordering replacements or analyzing function
- You want to cross-check visual IDs against manufacturer datasheets
Inputs to gather
- Image file — photograph of the hardware (JPG, PNG; any orientation)
- Board slug — short identifier for storage (e.g.,
stm32f4-discovery, raspberry-pi-5b)
- Optional pre-processing — if the photo is skewed, low-light, or cropped awkwardly, ask the user to supply a pre-processed version or run
prep-photo first
Procedure
-
Load and orient the image. Inspect EXIF metadata if available; rotate to landscape or a sensible angle for reading silkscreen.
-
Scan systematically. Start from top-left and move right and down. For each component:
- Record its position (estimate bounding box as {x, y, w, h} in pixels or normalized 0–1)
- Read the silkscreen label or printed marking (part number, reference designator)
- Classify its type:
IC, capacitor, resistor, inductor, transistor, diode, oscillator, connector, header, crystal, screw, heatsink, module, jumper, switch, fuse, led, or other
- Assess confidence:
high (clean, clear marking), med (partially obscured or small), low (unreadable or ambiguous)
- Note any manufacturing details: package type (QFN48, BGA, 0805, etc.), color, orientation cues
-
Zoom and re-inspect illegible markings. If a part number is faint or at an angle, mentally crop that region and re-read. Call out unreadable or ambiguous labels explicitly — do not guess.
-
Compose JSON output with structure:
{
"board_slug": "string",
"image_source": "filename",
"captured_at": "ISO8601 timestamp or null",
"components": [
{
"id": "C1",
"type": "capacitor",
"part_number_visible": "0805 100nF",
"part_number_standardized": null,
"bounding_box": {"x": 0.15, "y": 0.22, "w": 0.02, "h": 0.01},
"confidence": "high"
...
-
Save to disk:
${CLAUDE_USER_DATA:-${XDG_DATA_HOME:-$HOME/.local/share}/claude-plugins}/hardware-id-annotation/data/<board-slug>/components.json
Create parent directories if missing.
Output / side effects
- JSON file written to
data/<board-slug>/components.json
- Stdout: summary line (total components, confidence breakdown, any unreadable warnings)
- Subsequent skills (
annotate-board, cross-check-specs) consume this JSON
Safety / constraints
- Do not fabricate part numbers. If a marking is illegible, set
part_number_visible to null and explain in notes.
- Bounding boxes must be rough but reasonable. Use proportional coordinates (0–1) or pixel offsets; be consistent.
- High-confidence only for clear, in-focus markings. Assess medium or low if the photo is blurry, glare-ridden, or the component is at an angle.