kicad-manufacture · git:20260823.d7e6aad · 2026-08-23 · sha256 eaec9af5c1dea768
kicad-manufacture git:20260823.d7e6aadA
Immutable. This exact content is served forever at /api/v1/blob/eaec9af5c1dea768.
---
name: kicad-manufacture
description: |
Manufacturing and fabrication workflow for KiCAD projects via MCP tools. Triggers on: "send to fab",
"order boards", "gerbers", "JLCPCB", "manufacturing", "export for production", "pick and place",
"assembly files", "generate fabrication outputs", "BOM for fab", "production files", "fab house".
argument-hint: "[fab house or export task]"
---
# KiCAD Manufacturing & Fabrication Workflow
This skill guides Claude through preparing a KiCAD design for manufacturing using Konnect MCP tools.
ALL modifications go through MCP tools — never edit project files directly.
---
## Toolset Loading
Before any manufacturing work, load the required toolsets:
```
load_toolset('pcb_export') # export_gerber, export_bom, export_position_file, get_drc_violations
load_toolset('manufacturing') # export_manufacturing_package, validate_for_manufacturing, estimate_cost
```
Load additional toolsets as needed:
```
load_toolset('sch_analysis') # inspect nets, verify footprints assigned
load_toolset('integration') # search_jlcpcb_parts, suggest_jlcpcb_alternatives
load_toolset('pcb_export') # export_3d for visual verification
```
Always call `get_active_toolsets()` first to see what is already loaded.
---
## Pre-Flight Checklist
Run these checks BEFORE generating any manufacturing outputs. Stop and fix issues at each stage.
### 1. DRC — Zero Errors Required
```
get_drc_violations()
```
- All errors must be resolved. Warnings should be reviewed but may be waived.
- Common blockers: unrouted nets, clearance violations, minimum width violations.
- Do NOT proceed to export if any DRC errors remain.
### 2. Manufacturing Validation
```
validate_for_manufacturing()
```
- Checks board outline is closed
- Checks all pads have copper
- Checks drill sizes are within fabrication limits
- Checks silkscreen does not overlap pads
### 3. Verify Footprints Assigned
Every schematic symbol must have a footprint assigned. Check for:
- Missing footprint assignments (shows as empty Footprint field)
- Mismatched footprints (wrong pad count for the symbol)
- Non-existent footprint references (library not found)
---
## Export Workflow
### One-Shot Export (Recommended)
```
export_manufacturing_package(board, output_dir, fab_house?, schematic?)
```
`fab_house` selects the house profile (there is no `format` argument). Pass
`schematic` when you want the BOM generated as part of the package.
Generates all manufacturing files in one call:
- Gerbers (all copper layers + mask + silkscreen + edge cuts)
- Drill files (Excellon format)
- BOM (CSV)
- Pick-and-place / component position file (CPL)
- Job file (optional, fab-house specific)
### Manual Export (When You Need Control)
Use individual tools when you need specific settings per file:
#### Step 1: Gerbers
```
export_gerber(board, output_dir, layers?, drill_file?)
```
Standard layers to export:
- F.Cu, B.Cu (and inner layers if present)
- F.Mask, B.Mask
- F.SilkS, B.SilkS
- F.Paste, B.Paste (for stencils)
- Edge.Cuts (board outline)
#### Step 2: Bill of Materials
```
export_bom(schematic, output, format?, fields?, group_by?, labels?, exclude_dnp?)
```
Include fields: Reference, Value, Footprint, LCSC (if targeting JLCPCB).
#### Step 3: Component Position File
```
export_position_file(board, output, format?, side?, units?)
```
Required for SMT assembly. Contains X/Y/Rotation for each component.
Export separately for top and bottom if double-sided assembly.
---
## JLCPCB-Specific Guidance
### Part Sourcing
```
search_jlcpcb_parts(query) # Find LCSC part numbers
suggest_jlcpcb_alternatives(value, footprint) # Find alternatives for OOS parts
```
### Part Categories
| Category | Description | Extra Cost |
|--------------------|------------------------------------------|------------------------|
| **Basic** | ~700 common parts, pre-loaded on machine | None |
| **Preferred Ext.** | Popular extended parts | No feeder loading fee |
| **Extended** | 300k+ parts, loaded on demand | $3 per unique part |
**Strategy**: Use basic parts wherever possible. Every extended part adds $3 to assembly cost.
Search with `search_jlcpcb_parts` and filter by `basic: true` when looking for alternatives.
### Minimum Design Rules (JLCPCB Standard Process)
| Parameter | Minimum Value |
|------------------------|---------------|
| Trace width | 0.127mm (5mil) |
| Trace spacing | 0.127mm (5mil) |
| Via drill | 0.3mm |
| Via annular ring | 0.15mm (6mil) |
| Min hole size | 0.3mm |
| Pad-to-pad clearance | 0.254mm (10mil) |
| Silkscreen line width | 0.15mm |
| Board thickness | 0.8-2.0mm (1.6 default) |
| Min board size | 10x10mm |
Use `add_design_rule` or `list_design_rules` to configure project rules to match.
### JLCPCB BOM Requirements
- Column headers must be exactly: `Designator`, `Comment`, `Footprint`, `LCSC Part #`
- LCSC Part # format: `Cxxxxxx` (e.g., C14663)
- Group identical parts on one row with comma-separated designators
### JLCPCB CPL (Position File) Requirements
- Columns: `Designator`, `Mid X`, `Mid Y`, `Layer`, `Rotation`
- Coordinates in millimeters
- Rotation in degrees (0-360)
- Layer values: `Top` or `Bottom`
---
## Cost Estimation
```
estimate_cost(board, quantity?, layers?, fab_house?)
```
Factors that increase cost:
- Layer count (2 vs 4 vs 6+)
- Board size
- Number of unique extended parts
- Double-sided assembly
- Special finishes (ENIG vs HASL)
- Tight tolerances below standard minimums
- Expedited turnaround
---
## 3D Verification
Before submitting to fab, always generate a 3D view:
```
export_3d(board, output, format?, include_unspecified?)
```
Visual checks:
- Component clearance (tall parts near board edges)
- Connector accessibility and orientation
- Mounting hole alignment
- Heatsink/thermal pad clearance
- Enclosure fit (if applicable)
---
## Common Mistakes
1. **Exporting with DRC errors** — Always run DRC first. A clearance violation can short traces on the fab board.
2. **Wrong drill file format** — JLCPCB expects Excellon format. PTH and NPTH in separate files.
3. **Missing board outline** — Edge.Cuts layer must be a closed polygon. Open outlines cause fab rejection.
4. **Silkscreen on pads** — Silkscreen ink on exposed copper pads prevents soldering. Remove overlaps.
5. **Wrong position file origin** — CPL origin must match board origin. Use board center or bottom-left corner consistently.
6. **Forgetting paste layer** — If ordering stencils, F.Paste/B.Paste must be exported.
7. **Out-of-stock parts in BOM** — Always verify availability with `search_jlcpcb_parts` before ordering.
8. **Rotation offsets** — JLCPCB may apply rotation corrections. Review their orientation guide for ICs and polarized components.
9. **Panelization not accounted for** — If panelizing, export from the panel file, not the individual board.
10. **Missing fiducials** — SMT assembly with fine-pitch parts requires at least 2 fiducial marks on each assembly side.
---
## Rules
1. **Never export without passing DRC** — zero errors required
2. **Never skip validate_for_manufacturing** — catches issues DRC misses
3. **Always verify part availability** before finalizing BOM for assembly
4. **Export 3D model** before submitting order — visual sanity check
5. **Save project before export** — ensures exported files match current state
6. **Load toolsets first** — check `get_active_toolsets()` and load what you need
7. **Use one-shot export when possible** — `export_manufacturing_package` ensures consistency
8. **Double-check fab house requirements** — each house has slightly different file format expectations