kicad-manufacture
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
Install
npx skills add https://github.com/mixelpixx/Konnect/tree/main/crates/konnect/assets/skills/kicad-manufacture
claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install mixelpixx-konnect@llmmart
git clone https://github.com/mixelpixx/Konnect.git
The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole mixelpixx/konnect collection as a plugin from our marketplace. Git is the plain clone.
Skill manifest
KiCAD Manufacturing & Fabrication Workflow
Prepare manufacturing outputs through Konnect MCP tools. Treat each tool result
as evidence with a named scope: a successful request is not by itself proof of a
complete, current, upload-ready package. A required check or artifact that cannot
be established makes the manufacturing verdict INCOMPLETE.
Toolset loading
Load the required toolsets:
load_toolset('pcb_export') # Gerber, drill, BOM, position, 3D, and direct DRC evidence
load_toolset('manufacturing') # Package export, manufacturing preflight, and rough cost estimate
Load additional toolsets only for the branch that needs them:
load_toolset('sch_analysis') # schematic inventory and footprint assignment
load_toolset('integration') # local JLCPCB catalogue and alternatives
Call get_active_toolsets() before loading more.
References by manufacturing branch
- Read
references/gerber-layers.mdwhen selecting plot layers or accepting a generated artifact inventory. - Read
references/jlcpcb-rules.mdonly when JLCPCB is the selected fabricator or assembler. It defines how to capture the current order contract without caching volatile limits, prices, categories, or field names in this skill.
1. Capture the order contract
Before checking or exporting, record the selected fabricator, service tier, stackup, copper weight, finish, assembly sides, stencil requirement, quantity, and any controlled-impedance service. Record the source and retrieval date for every vendor-controlled requirement. Project rules and output acceptance are judged against that record.
Completion criterion: every applicable fabrication and assembly constraint has one current authority, and no decision rests on an undated table in this skill.
2. Establish direct design evidence
Run direct KiCad DRC against the saved target board and resolve every error or record a deliberate, reviewable waiver. Then run:
validate_for_manufacturing(board, fab_house?)
The current handler checks only:
- presence of at least one
Edge.Cutsitem; - presence of footprints;
- the configured minimum trace width against its built-in fab profile;
- the coarse case where several nets exist but no routed tracks exist; and
- direct
kicad-cliDRC evidence, which must be available and complete for aREADYverdict.
Read verdict, issues, and drc together. A null or incomplete drc, a
NOT READY verdict, or an unadjudicated issue blocks release.
This preflight does not prove outline closure, copper on every pad, drill-size acceptance, silkscreen clearance, stackup compatibility, or assembly readiness. Establish those separately with direct DRC, the selected fabricator's current contract, Gerber/drill inspection, BOM/CPL review, and the order preview.
Completion criterion: direct DRC is complete, every reported issue is resolved or waived, and every check outside the handler's stated scope has named evidence.
3. Export into a fresh destination
Prefer a new, empty output directory for each invocation. This makes stale files structurally unable to impersonate output from the current invocation.
For a package attempt:
export_manufacturing_package(board, output_dir, fab_house?, schematic?, jlcpcb_cpl_corrections_path?)
Pass schematic when assembly output requires a BOM. The tool attempts Gerber,
drill, position, and BOM exports according to the request; individual failures
can still leave a partial directory.
For fab_house="jlcpcb", use millimetres (the default) and provide the BOM
fields, labels, and grouping required by the current order contract. The tool
emits BOM-<project>.csv plus CPL-<project>.csv; the CPL uses JLCPCB's
Designator,Mid X,Mid Y,Layer,Rotation schema, and KiCad is instructed to
enumerate grouped BOM references instead of compressing them into ranges. DNP
parts are excluded from both native exports; any remaining population mismatch
caused by board/schematic exclusion flags makes the package incomplete. This
conversion applies Konnect's independently verified built-in CPL correction
policy. Pass a checked-in project policy through
jlcpcb_cpl_corrections_path when an unmatched footprint or one exact
designator needs a correction. The precedence and JSON format are documented in
docs/JLCPCB_CPL_CORRECTIONS.md.
Inspect placement_orientation.applied_corrections and placement_orientation.unmatched_footprints. complete: true proves the package is structurally complete; it does not prove physical placement orientation. Require placement_orientation.status == "PREVIEW_REQUIRED" to be discharged by inspecting every component in JLCPCB Component Placements before an order is approved. Never describe the CPL as physically validated from the automated result alone.
Artifact acceptance gate
- Inspect
warningsandfiles_generated. Any warning or missing requested artifact type keeps the resultINCOMPLETE. - Reconcile the requested copper, mask, silkscreen, paste, and
Edge.Cutslayers against the actual files in the fresh output directory. - Confirm every required artifact is a regular, non-empty file produced by the current invocation. A directory entry, reported path, or zero exit status is not enough.
- Confirm the required plated and non-plated drill outputs for the actual board hole inventory. Absence is acceptable only when the design proves that output is inapplicable.
- Open the Gerbers and drills in a viewer. Inspect layer registration, outline, apertures, holes/slots, mask, paste, and silkscreen.
- For assembly, inspect BOM contents, DNP handling, designator coverage, CPL side/units/origin/rotation, and the fabricator's export preview.
The files field is derived from regular, non-empty artifacts verified at the
export boundary; files_generated describes each successful export. That
evidence does not establish vendor acceptance, correct component rotations, or
that unrelated stale files elsewhere in a reused directory are safe to upload.
Preserve the viewer and order-preview checks.
Completion criterion: an accepted manifest accounts for every required output, every accepted path is fresh and non-empty, and visual/order previews agree with the saved design.
4. Use manual exports when control is required
Use the individual tools when a package needs explicit layer, BOM, side, unit, or filename choices:
export_gerber(board, output_dir, layers?, drill_file?)
export_bom(schematic, output, format?, fields?, group_by?, labels?, exclude_dnp?)
export_position_file(board, output, format?, side?, units?)
Apply the same fresh-destination and artifact acceptance gate. A manual sequence does not lower the evidence requirement.
5. Treat cost output as a heuristic
estimate_cost(board, quantity?, layers?, fab_house?)
estimate_cost is an indicative heuristic built from fixed assumptions and
rough average component costs. Use it only for coarse comparisons. It is not a
vendor quote and does not know the selected finish, service, complete BOM,
shipping, taxes, coupons, or current pricing. Budget and purchasing decisions
require a current quote from the selected fabricator.
6. Record manufacturing acceptance
The final report must include:
- saved design revision or hash;
- direct DRC status and any explicit waivers;
validate_for_manufacturingverdict, issues, and DRC coverage;- selected fabricator/order contract with source and retrieval date;
- accepted artifact manifest with file type, path, and non-empty evidence;
- Gerber/drill viewer result;
- BOM/CPL and order-preview result when assembly is in scope;
- 3D/enclosure inspection status when mechanically relevant; and
- final
READY,NOT READY, orINCOMPLETEverdict.
Only READY permits upload. Preserve the accepted manifest rather than telling
the user to upload every entry found in a reused directory.
Files (konnect)
-
references
-
gerber-layers.md 2.4 KB
# Gerber Layer Mapping ## Common Gerber File Extensions Filenames and extensions vary with KiCad and exporter options. Accept files by their plotted layer and content, not by suffix alone. | KiCAD Layer | Gerber Extension | Purpose | |-------------|-----------------|---------| | `F.Cu` | `.gtl` or `-F_Cu.gbr` | Front copper | | `B.Cu` | `.gbl` or `-B_Cu.gbr` | Back copper | | `In1.Cu` | `.g2` or `-In1_Cu.gbr` | Inner layer 1 | | `In2.Cu` | `.g3` or `-In2_Cu.gbr` | Inner layer 2 | | `F.Mask` | `.gts` or `-F_Mask.gbr` | Front solder mask | | `B.Mask` | `.gbs` or `-B_Mask.gbr` | Back solder mask | | `F.SilkS` | `.gto` or `-F_Silkscreen.gbr` | Front silkscreen | | `B.SilkS` | `.gbo` or `-B_Silkscreen.gbr` | Back silkscreen | | `F.Paste` | `.gtp` or `-F_Paste.gbr` | Front paste (stencil) | | `B.Paste` | `.gbp` or `-B_Paste.gbr` | Back paste (stencil) | | `Edge.Cuts` | `.gm1` or `-Edge_Cuts.gbr` | Board outline | ## Drill Files | File | Extension | Purpose | |------|-----------|---------| | Plated through-holes | `.drl` or `-PTH.drl` | Component holes + vias | | Non-plated holes | `-NPTH.drl` | Mounting holes, slots | | Drill map | `.drl.map` | Visual drill reference | ## What `export_gerber` Attempts With no explicit layer list, `export_gerber` selects enabled copper layers, front/back mask and silkscreen, and `Edge.Cuts`. Paste is not in that default selection. With `drill_file` enabled, drill export is a separate best-effort step. The returned directory listing may contain older entries and does not prove that the current invocation created a complete, non-empty set. Choose layers from the saved board and the selected fabricator's current order contract. Use a fresh output directory and apply the manufacturing skill's artifact acceptance gate. ## Verification Checklist Before uploading Gerbers: 1. Re-run direct DRC against the saved board and adjudicate every result. 2. Confirm each requested artifact is a regular, non-empty file from the fresh invocation. 3. Reconcile every expected copper, mask, silkscreen, paste, and outline layer with the accepted manifest. 4. Open Gerbers and drills in a viewer and inspect registration, outline, apertures, mask, paste, silkscreen, holes, and slots. 5. Compare the viewer and upload preview with the selected fabricator's current order contract. Any missing, stale, empty, or unexplained artifact makes the package `INCOMPLETE`. -
jlcpcb-rules.md 3.5 KB
# JLCPCB Order-Contract Verification Use this reference only for a JLCPCB fabrication or assembly branch. JLCPCB controls its capabilities, prices, part categories, templates, and portal validation. The current order contract is authoritative; this file deliberately does not cache those volatile values. ## 1. Pin the selected service Record the exact selected service before configuring the board: - fabrication versus fabrication plus assembly; - economic/standard or other service tier shown by the current portal; - layer count, stackup, copper weight, thickness, finish, colour, and quantity; - assembly side(s), stencil choice, panelization, and special processes; and - controlled-impedance, via, slot, castellated, edge-plating, or other options. For every copied limit or template requirement, record the source and retrieval date. A generic capability page does not override the selected service's order-page constraints. Completion criterion: the order record names one selected service and contains the current limits for every feature the design uses. ## 2. Verify parts against the live assembly branch Use `search_jlcpcb_parts` and `suggest_jlcpcb_alternatives` to produce candidates, then verify each candidate in the current assembly order: - exact manufacturer part number and package; - current category, availability, and quantity; - feeder/setup or special-handling effects; and - lifecycle or substitution constraints. The downloaded catalogue is useful discovery evidence, not a live stock or price guarantee. Record the catalogue date and recheck the order before payment. ## 3. Bind BOM and CPL to current templates Generate BOM and position data through Konnect, then compare the exported headers, units, side names, origin, delimiter, and designator grouping with the templates offered by the selected service. Map the project supplier field deliberately; do not assume one historical column spelling remains mandatory. In the export preview, account for every placed designator and every intentional DNP. Inspect pin 1, polarity, side, rotation, and footprint/package agreement for each orientation-sensitive part. The preview, datasheet, footprint, and physical pin-map evidence must agree. Completion criterion: the portal accepts both files and the export preview has no unexplained missing, extra, rotated, mirrored, or substituted component. ## 4. Apply current fabrication constraints Copy trace/space, annular-ring, drill, slot, copper-to-edge, mask, silkscreen, stackup, and impedance constraints from the selected service into project rules and netclasses. Use the stricter applicable value when the component datasheet, electrical calculation, or enclosure imposes a stronger requirement. Re-run KiCad DRC after applying the contract and after every routing or placement change. Inspect the Gerber and drill outputs in a viewer; a rule table alone does not prove the exported geometry. ## 5. Accept the package Create a fresh export destination and apply the manufacturing skill's artifact acceptance gate. Upload only the accepted manifest. In the order portal: - confirm every copper, mask, silkscreen, paste, and outline layer; - confirm plated/non-plated holes, slots, cutouts, dimensions, and layer count; - review warnings and the rendered board preview; - verify assembly mapping and rotations when assembly is selected; and - save the final quote and order configuration as the purchasing record. Any unexplained difference between the saved design, artifact manifest, and export preview makes the result `INCOMPLETE`.
-
-
SKILL.md 8.2 KB
--- 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 Prepare manufacturing outputs through Konnect MCP tools. Treat each tool result as evidence with a named scope: a successful request is not by itself proof of a complete, current, upload-ready package. A required check or artifact that cannot be established makes the manufacturing verdict `INCOMPLETE`. ## Toolset loading Load the required toolsets: ``` load_toolset('pcb_export') # Gerber, drill, BOM, position, 3D, and direct DRC evidence load_toolset('manufacturing') # Package export, manufacturing preflight, and rough cost estimate ``` Load additional toolsets only for the branch that needs them: ``` load_toolset('sch_analysis') # schematic inventory and footprint assignment load_toolset('integration') # local JLCPCB catalogue and alternatives ``` Call `get_active_toolsets()` before loading more. ### References by manufacturing branch - Read [`references/gerber-layers.md`](references/gerber-layers.md) when selecting plot layers or accepting a generated artifact inventory. - Read [`references/jlcpcb-rules.md`](references/jlcpcb-rules.md) only when JLCPCB is the selected fabricator or assembler. It defines how to capture the current order contract without caching volatile limits, prices, categories, or field names in this skill. ## 1. Capture the order contract Before checking or exporting, record the selected fabricator, service tier, stackup, copper weight, finish, assembly sides, stencil requirement, quantity, and any controlled-impedance service. Record the source and retrieval date for every vendor-controlled requirement. Project rules and output acceptance are judged against that record. Completion criterion: every applicable fabrication and assembly constraint has one current authority, and no decision rests on an undated table in this skill. ## 2. Establish direct design evidence Run direct KiCad DRC against the saved target board and resolve every error or record a deliberate, reviewable waiver. Then run: ``` validate_for_manufacturing(board, fab_house?) ``` The current handler checks only: - presence of at least one `Edge.Cuts` item; - presence of footprints; - the configured minimum trace width against its built-in fab profile; - the coarse case where several nets exist but no routed tracks exist; and - direct `kicad-cli` DRC evidence, which must be available and complete for a `READY` verdict. Read `verdict`, `issues`, and `drc` together. A null or incomplete `drc`, a `NOT READY` verdict, or an unadjudicated issue blocks release. This preflight does not prove outline closure, copper on every pad, drill-size acceptance, silkscreen clearance, stackup compatibility, or assembly readiness. Establish those separately with direct DRC, the selected fabricator's current contract, Gerber/drill inspection, BOM/CPL review, and the order preview. Completion criterion: direct DRC is complete, every reported issue is resolved or waived, and every check outside the handler's stated scope has named evidence. ## 3. Export into a fresh destination Prefer a new, empty output directory for each invocation. This makes stale files structurally unable to impersonate output from the current invocation. For a package attempt: ``` export_manufacturing_package(board, output_dir, fab_house?, schematic?, jlcpcb_cpl_corrections_path?) ``` Pass `schematic` when assembly output requires a BOM. The tool attempts Gerber, drill, position, and BOM exports according to the request; individual failures can still leave a partial directory. For `fab_house="jlcpcb"`, use millimetres (the default) and provide the BOM fields, labels, and grouping required by the current order contract. The tool emits `BOM-<project>.csv` plus `CPL-<project>.csv`; the CPL uses JLCPCB's `Designator,Mid X,Mid Y,Layer,Rotation` schema, and KiCad is instructed to enumerate grouped BOM references instead of compressing them into ranges. DNP parts are excluded from both native exports; any remaining population mismatch caused by board/schematic exclusion flags makes the package incomplete. This conversion applies Konnect's independently verified built-in CPL correction policy. Pass a checked-in project policy through `jlcpcb_cpl_corrections_path` when an unmatched footprint or one exact designator needs a correction. The precedence and JSON format are documented in `docs/JLCPCB_CPL_CORRECTIONS.md`. Inspect **placement_orientation.applied_corrections** and **placement_orientation.unmatched_footprints**. **complete: true** proves the package is structurally complete; it does **not** prove physical placement orientation. Require **placement_orientation.status == "PREVIEW_REQUIRED"** to be discharged by inspecting every component in JLCPCB Component Placements before an order is approved. Never describe the CPL as physically validated from the automated result alone. ### Artifact acceptance gate 1. Inspect `warnings` and `files_generated`. Any warning or missing requested artifact type keeps the result `INCOMPLETE`. 2. Reconcile the requested copper, mask, silkscreen, paste, and `Edge.Cuts` layers against the actual files in the fresh output directory. 3. Confirm every required artifact is a regular, non-empty file produced by the current invocation. A directory entry, reported path, or zero exit status is not enough. 4. Confirm the required plated and non-plated drill outputs for the actual board hole inventory. Absence is acceptable only when the design proves that output is inapplicable. 5. Open the Gerbers and drills in a viewer. Inspect layer registration, outline, apertures, holes/slots, mask, paste, and silkscreen. 6. For assembly, inspect BOM contents, DNP handling, designator coverage, CPL side/units/origin/rotation, and the fabricator's export preview. The `files` field is derived from regular, non-empty artifacts verified at the export boundary; `files_generated` describes each successful export. That evidence does not establish vendor acceptance, correct component rotations, or that unrelated stale files elsewhere in a reused directory are safe to upload. Preserve the viewer and order-preview checks. Completion criterion: an accepted manifest accounts for every required output, every accepted path is fresh and non-empty, and visual/order previews agree with the saved design. ## 4. Use manual exports when control is required Use the individual tools when a package needs explicit layer, BOM, side, unit, or filename choices: ``` export_gerber(board, output_dir, layers?, drill_file?) export_bom(schematic, output, format?, fields?, group_by?, labels?, exclude_dnp?) export_position_file(board, output, format?, side?, units?) ``` Apply the same fresh-destination and artifact acceptance gate. A manual sequence does not lower the evidence requirement. ## 5. Treat cost output as a heuristic ``` estimate_cost(board, quantity?, layers?, fab_house?) ``` `estimate_cost` is an indicative heuristic built from fixed assumptions and rough average component costs. Use it only for coarse comparisons. It is not a vendor quote and does not know the selected finish, service, complete BOM, shipping, taxes, coupons, or current pricing. Budget and purchasing decisions require a current quote from the selected fabricator. ## 6. Record manufacturing acceptance The final report must include: - saved design revision or hash; - direct DRC status and any explicit waivers; - `validate_for_manufacturing` verdict, issues, and DRC coverage; - selected fabricator/order contract with source and retrieval date; - accepted artifact manifest with file type, path, and non-empty evidence; - Gerber/drill viewer result; - BOM/CPL and order-preview result when assembly is in scope; - 3D/enclosure inspection status when mechanically relevant; and - final `READY`, `NOT READY`, or `INCOMPLETE` verdict. Only `READY` permits upload. Preserve the accepted manifest rather than telling the user to upload every entry found in a reused directory.
Comments (0)
Sign in to join the conversation.
Reviews (0)
No reviews yet.
No comments yet.