Kicad Manufacture logo

Kicad Manufacture

Community
mixelpixx
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", "fab house".

Overview

Publishermixelpixx
RepositoryKonnect
Skill namekicad-manufacture
Stars
944
Forks
127
Bundled files
2
LicenseAGPL-3.0
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 2 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by mixelpixx on GitHub. Read the source before you install it.

Installation

Install the Kicad Manufacture AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/mixelpixx/Konnect/tree/main/crates/konnect/assets/skills/kicad-manufacture
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/mixelpixx/Konnect.git /tmp/Konnect
mkdir -p .claude/skills
cp -r /tmp/Konnect/crates/konnect/assets/skills/kicad-manufacture .claude/skills/kicad-manufacture
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Kicad Manufacture in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Kicad Manufacture on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Kicad Manufacture is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

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 JLCPCB assembly, open the exact target board with IPC enabled before export. The package uses a stable live board snapshot and native pad-box midpoints; placement_orientation.geometry records the observed source. Saved project settings and schematic BOM remain separate inputs. Review legacy position offsets that compensated for anchors before retaining them. Read docs/JLCPCB_CPL_CORRECTIONS.md for coordinates, refusals, and migration details.

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.

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Kicad Manufacture AI skill do?

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".

Why use Kicad Manufacture on TypingMind?

Because you install it once and use it with any model. Kicad Manufacture is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Kicad Manufacture in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/mixelpixx/Konnect/tree/main/crates/konnect/assets/skills/kicad-manufacture. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Kicad Manufacture?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Kicad Manufacture?

As many as you like. As long as a model supports skills, you can use Kicad Manufacture with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Kicad Manufacture AI skill free?

Yes. It is published on GitHub by mixelpixx under the AGPL-3.0 license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇