Component research and procurement. Search JLC for components, analyze datasheets, compare options, and document selections with rationale.
Source and select components for electronics projects.
This skill activates when:
design-constraints.json but missing component selectionsRequires:
docs/design-constraints.json (or prompt user for requirements)docs/project-spec.md (optional, for context)Produces:
docs/component-selections.md - Human-readable selection logdocs/bom-draft.json - Machine-readable BOMdatasheets/*.pdf - Downloaded datasheets for selected componentsRead existing project constraints:
@docs/design-constraints.json
@docs/project-spec.md
@docs/component-selections.md (if exists)
If constraints missing, ask user for minimum requirements:
For the target component role, identify:
Before searching, review design-constraints.json for:
thermal.hotComponents)For power components, see reference/REGULATOR-SELECTION.md for selection criteria.
For passives, see reference/PASSIVE-SELECTION.md and reference/DECOUPLING-STRATEGY.md.
Use web search to understand:
Use mcp__jlc__component_search to find candidates:
For top 3-5 options:
Before presenting options, verify each candidate:
Thermal validation:
P_dissipation = (calculated from datasheet)
Thermal budget = (from design-constraints.json)
✓ P_dissipation < Thermal budget
Assembly compatibility:
Architecture compliance:
Flag any candidates that fail validation with specific concerns.
Create a comparison table:
| Part | MPN | Key Specs | Price | Stock | Pros | Cons |
|---|---|---|---|---|---|---|
| ... | ... | ... | ... | ... | ... | ... |
Include recommendation with rationale.
When fetching online components with mcp__jlc__library_fetch, analyze the returned validation_data:
Quick checks:
| Check | Expected | Action if Failed |
|---|---|---|
pin_pad_count_match | true | Check for exposed pads (EP) |
has_power_pins | true (for ICs) | Review pin types |
has_ground_pins | true (for ICs) | Review pin names |
Common issues:
Fixing with library_fix:
Use mcp__jlc__library_fix to regenerate symbol with corrections:
mcp__jlc__library_fix lcsc_id="C#####" corrections='{
"pins": [
{ "action": "add", "number": "EP", "name": "GND", "type": "passive" },
{ "action": "modify", "number": "1", "set_type": "power_in" }
]
}'
Correction actions:
add - Add missing pin (number, name, type required)modify - Rename and/or change electrical typeswap - Swap positions of two pinsremove - Remove incorrect pin### [Role]: [Part Name] ([LCSC Number])
**Selected:** [Date]
**MPN:** [Manufacturer Part Number]
**Manufacturer:** [Name]
**Price:** $X.XX @ [quantity]
**Specifications:**
- Key spec 1: value
- Key spec 2: value
**Rationale:**
[Why this part was chosen over alternatives]
**Alternatives Considered:**
- [Part 2] - rejected because [reason]
- [Part 3] - rejected because [reason]
**Design Notes:**
- [Any layout or application notes from datasheet]
**Datasheet:** `datasheets/[filename].pdf`
{
"role": "regulator-3v3",
"lcsc": "C6186",
"mpn": "AMS1117-3.3",
"manufacturer": "AMS",
"description": "3.3V 1A LDO Regulator",
"value": "3.3V",
"footprint": "SOT-223",
"quantity": 1,
"unitPrice": 0.04,
"extendedPrice": 0.04,
"category": "power",
"basic": true
}
See reference/COMPONENT-CATEGORIES.md for detailed role definitions.
Common roles:
mcu - Main microcontrollerregulator-Xv - Voltage regulatorscrystal - Oscillators/crystalsconnector-* - Various connectorsesd-* - ESD protectiondecoupling-* - Bypass/bulk capacitorsled-* - Indicator LEDssensor-* - Various sensorsreference/COMPONENT-ALTERNATIVES.md)| Document | Use For |
|---|---|
REGULATOR-SELECTION.md | LDO vs Buck selection criteria |
DECOUPLING-STRATEGY.md | Capacitor values for ICs |
PASSIVE-SELECTION.md | Resistor/capacitor fundamentals |
COMPONENT-ALTERNATIVES.md | Finding equivalent parts |
DATASHEET-ANALYSIS.md | Extracting key specs |
COMPONENT-CATEGORIES.md | Role naming conventions |
JLC-SEARCH-TIPS.md | Search strategies |
After component selection is complete:
/eda-source for remaining components/eda-schematicdesign-constraints.json stage to "schematic"