Claude Skill

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

LLM Mart · 0 points · 7 views 0 listing impressions 0 install-command copies
Virus-scanned Reviewed automatically before listing.

Full trust report

Download mixelpixx-Konnect-crates_konnect_assets_skills_kicad-manufacture-10c392a.zip · 6 KB
Part of mixelpixx/konnect — 6 skills

Install

skills CLI npx skills add https://github.com/mixelpixx/Konnect/tree/main/crates/konnect/assets/skills/kicad-manufacture
Claude Code claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install mixelpixx-konnect@llmmart
Git 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.md when selecting plot layers or accepting a generated artifact inventory.
  • Read 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.

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.

No comments yet.

Reviews (0)

No reviews yet.

Related