Select electronic components and build a procurement-ready BOM with real LCSC/JLC supplier evidence (stock, price, datasheet). Use after the PRD stage and before PCB design. Provides parts_search.py (jlcsearch API) and bom_validate.py (schema gate).
76
94%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Low
Low-risk findings worth noting
Every purchasable part needs REAL supplier evidence. Never write stock, price, or LCSC codes from memory.
Search the JLC/LCSC catalog (free public index, no API key):
<repo>/.venv/bin/python <skill_dir>/scripts/parts_search.py "ESP32-S3-WROOM-1" --limit 5
<repo>/.venv/bin/python <skill_dir>/scripts/parts_search.py "100nF 0402" --limit 5 --fullOutput is JSON rows with lcsc (C-number), mfr, package, stock, price, description. --full adds datasheet URL and detailed attributes when available.
Validate the BOM against the schema gate:
<repo>/.venv/bin/python <skill_dir>/scripts/bom_validate.py <project>/product/bom.jsonExit code 0 = pass. Non-zero prints diagnostics; fix every one before setting bom_ready: true.
references/hardware-bom-schema.md for the row contract. For the complete original contracts (sourcing evidence rules, physical_interface requirements for FPC/MEMS parts, JLC basic-vs-extended policy, part-identity-change invalidation), read the vendored originals at <repo>/reference/replicator-original/ee/bom-finalizer/references/ and <repo>/reference/replicator-original/ee/component-selection/SKILL.md.alternatives.product/component-selection.json first (working file), then product/bom.json.jlc_smt_library when known.bom_validate.py. Set bom_ready: true only when it passes and no design-critical item is unresolved. Unresolved rows stay listed under unresolved_items with procurement_status — never hidden.18436cc
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.