CtrlK
BlogDocsLog inGet started
Tessl Logo

replicator-parts

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

Quality

94%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Low

Low-risk findings worth noting

SKILL.md
Quality
Evals
Security

Parts Selection & BOM Stage

Every purchasable part needs REAL supplier evidence. Never write stock, price, or LCSC codes from memory.

Tools (run with the plugin venv python)

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 --full

Output 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.json

Exit code 0 = pass. Non-zero prints diagnostics; fix every one before setting bom_ready: true.

Workflow

  1. Read 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.
  2. From the PRD, list required component ROLES (MCU, power, sensors, connectors, passives...).
  3. For each role, search the catalog, compare 2-3 real candidates on stock/price/package, and pick one. Record rejected alternatives in alternatives.
  4. Write product/component-selection.json first (working file), then product/bom.json.
  5. Prefer JLC basic-library parts for passives (cheaper SMT assembly). Record jlc_smt_library when known.
  6. If a design-critical choice is user-owned (e.g. battery size vs. runtime, connector type), resolve ONLY that item with AskQuestion and write the answer back. Never ask for whole-BOM approval.
  7. Run 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.
Repository
JimmyPang02/open-replicator
Last updated
First committed

Is this your skill?

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.