pcb-new
CommandStart a new PCB project from a text description. Sources parts, generates a wired .kicad_pcb, and hands off to EasyEDA for…
Start a PCB project from an existing LCSC BOM file (CSV with C-numbers) and a design-intent description.
> /plugin marketplace add BeckhamLabsLLC/kicad-jlcpcb> /plugin install kicad-jlcpcb@beckhamlabs
name: pcb-from-bom description: Start a PCB project from an existing LCSC BOM file (CSV with C-numbers) and a design-intent description. argument-hint: "[path to BOM CSV] [optional: design intent notes]" allowed-tools: # Each MCP tool is listed twice on purpose. A server from a project # .mcp.json is exposed as mcp__<server>__<tool>, but the same server # provided by an installed plugin is mcp__plugin_<plugin>_<server>__<tool>. # Listing only the short form meant this command ran with no MCP tools at # all for anyone who installed from the marketplace, and answered in prose. - Read - Write - Glob - Grep - mcp__kicad-jlcpcb__detect_kicad - mcp__plugin_kicad-jlcpcb_kicad-jlcpcb__detect_kicad - mcp__kicad-jlcpcb__create_project - mcp__plugin_kicad-jlcpcb_kicad-jlcpcb__create_project - mcp__kicad-jlcpcb__load_project - mcp__plugin_kicad-jlcpcb_kicad-jlcpcb__load_project - mcp__kicad-jlcpcb__session_resume - mcp__plugin_kicad-jlcpcb_kicad-jlcpcb__session_resume - mcp__kicad-jlcpcb__session_confirm_bom - mcp__plugin_kicad-jlcpcb_kicad-jlcpcb__session_confirm_bom - mcp__kicad-jlcpcb__lcsc_resolve_bom - mcp__plugin_kicad-jlcpcb_kicad-jlcpcb__lcsc_resolve_bom - mcp__kicad-jlcpcb__part_pin_map - mcp__plugin_kicad-jlcpcb_kicad-jlcpcb__part_pin_map - mcp__kicad-jlcpcb__pcb_generate - mcp__plugin_kicad-jlcpcb_kicad-jlcpcb__pcb_generate - mcp__kicad-jlcpcb__fetch_part_library - mcp__plugin_kicad-jlcpcb_kicad-jlcpcb__fetch_part_library - mcp__kicad-jlcpcb__sch_generate - mcp__plugin_kicad-jlcpcb_kicad-jlcpcb__sch_generate - mcp__kicad-jlcpcb__sch_run_erc - mcp__plugin_kicad-jlcpcb_kicad-jlcpcb__sch_run_erc - mcp__kicad-jlcpcb__package_for_jlcpcb - mcp__plugin_kicad-jlcpcb_kicad-jlcpcb__package_for_jlcpcb - mcp__kicad-jlcpcb__easyeda_handoff - mcp__plugin_kicad-jlcpcb_kicad-jlcpcb__easyeda_handoff
Start a KiCad project from an existing BOM CSV. Skips part sourcing and goes straight to pin-map fetch + wired `.kicad_pcb` + EasyEDA handoff.
Call `detect_kicad`. If the target project directory already exists, call `load_project` on it and check the returned `session` summary — if `resume_available` is true, offer the user a resume-or-restart choice (same pattern as `/pcb-new` step 2). Otherwise call `create_project`.
Use `Read` to load the CSV. Auto-detect the column layout — common forms:
Convert each row into a `{lcsc, qty}` dict.
Call `lcsc_resolve_bom` with the rows. Validates every C-number against the live catalog and catches any out-of-stock or discontinued parts.
Same as `/pcb-new` step 5. Show the user resolved/unresolved/cost and get confirmation.
If the BOM file has a design-intent section (GPIO table, functional descriptions, schematic notes) or the user provided notes alongside the BOM:
a. **Read it carefully.** The design intent tells you how parts connect.
b. **Map every IC to a reasonable footprint.** KiCad stdlib names are listed in `/pcb-new` step 6. For ICs not in KiCad stdlib, pick the closest package-family footprint (SOT-23-6, QFN-24, SOIC-8, etc.) — the user can swap it in EasyEDA later.
c. **Call `part_pin_map`** for each IC whose pinout you're unsure about. It returns `{pin_name: pad_num}` so you know what the nets need to reference.
d. **Build the nets dict.** Map power rails, buses (I2C, SPI, UART, USB), and signal lines based on the design intent. Reference pins by name, not number — the plugin resolves them.
If the BOM has no design intent and the user provided no notes: warn them that you'll generate a components-only spec (no nets), and they'll have to wire things up manually in KiCad or EasyEDA.
Call `pcb_generate` with the spec, then `easyeda_handoff` on the result. Relay the handoff instructions to the user verbatim.
From "I want a board that does X" to a wired .kicad_pcb EasyEDA can auto-route and JLCPCB can build — in a single Claude Code conversation. kicad-jlcpcb is a Claude Code plugin + MCP server that automates the tedious half of going from idea to fab.
Start a new PCB project from a text description. Sources parts, generates a wired .kicad_pcb, and hands off to EasyEDA for…
One-time setup after installing ARIS as a Claude Code plugin — registers the Codex reviewer MCP server from the plugin directory…
Autonomous iteration loop: modify, verify, keep/discard against any metric
name: sc:agent description: SC Agent — session controller that orchestrates investigation, implementation, and review category:…