mixelpixx/kicad-library
| Library management workflow for KiCAD — creating symbols, footprints, and managing libraries "register library", "find a part", "pin numbering", "new symbol", "new footprint", "add to library", "library path", "pad layout".
npx skills add https://github.com/mixelpixx/Konnect --skill kicad-library
This skill guides Claude through creating and managing KiCAD symbols, footprints, and libraries
using Konnect MCP tools. ALL modifications go through MCP tools — never edit
.kicad_sym or .kicad_mod files directly.
load_toolset('library') # search_symbols, search_footprints, create_symbol, create_footprint,
# register_symbol_library, register_footprint_library, get_symbol_info
Always call get_active_toolsets() first to see what is already loaded.
Always search existing libraries before creating custom components.
search_symbols(query) # Search all symbol libraries
search_footprints(query) # Search all footprint libraries
KiCAD ships with extensive libraries. Common parts almost always exist:
Device libraryConnector_Generic, Connector_USB, Connector_HDMI, etc.Transistor_FET, Transistor_BJTOnly create a custom symbol/footprint when:
| Component Type | Convention |
|--------------------|------------------------------------------------------|
| IC (DIP/SOIC/QFP) | Counter-clockwise from pin 1 (standard IC convention)|
| Passives (R, C, L) | Pin 1 and Pin 2 |
| Diodes | Pin 1 = Anode (A), Pin 2 = Cathode (K) |
| Transistors (BJT) | 1=Base, 2=Collector, 3=Emitter (BCE) |
| MOSFETs | 1=Gate, 2=Drain, 3=Source (GDS) |
| Connectors | Sequential from 1 |
| Crystal | Pin 1, Pin 2 (+ case ground if 4-pin) |
| Type | Use For |
|-----------------|------------------------------------------------------|
| input | Logic/analog inputs, gate inputs |
| output | Logic/analog outputs, push-pull drivers |
| bidirectional | Data bus lines, I2C SDA, GPIO |
| tri_state | Outputs with high-impedance state |
| passive | Resistor/capacitor/inductor pins, crystal pins |
| power_in | VCC, VDD, GND pins (power consumer) |
| power_out | Regulator output, power source pins |
| open_collector| Open-drain/open-collector outputs |
| open_emitter | Open-emitter outputs |
| unspecified | Pins with no clear electrical type |
| no_connect | Pins that must not be connected |
Every symbol must have these fields:
| Property | Description | Example |
|-------------|--------------------------------------|------------------------------|
| Reference | Designator prefix | U, R, C, J, D, Q, L |
| Value | Part name or value | STM32F103C8, 10k, 100nF |
| Footprint | Default footprint assignment | Package_SO:SOIC-8_3.9x4.9mm |
| Datasheet | URL to datasheet | https://... |
Optional but recommended:
LCSC — LCSC/JLCPCB part number for assemblyMPN — Manufacturer part numberDescription — Short text description| Type | Use For |
|-----------------|------------------------------------------------------|
| smd | Surface-mount pads (no drill hole) |
| thru_hole | Through-hole pads (plated drill) |
| np_thru_hole | Non-plated through hole (mounting holes, slots) |
| Package | Pad Size (mm) | Pitch (mm) | Notes |
|-----------|-----------------|------------|------------------------------|
| 0402 | 0.5 x 0.5 | — | 2 pads, 0.5mm gap |
| 0603 | 0.8 x 0.8 | — | 2 pads, 0.8mm gap |
| 0805 | 1.0 x 1.0 | — | 2 pads, 1.0mm gap |
| 1206 | 1.5 x 1.2 | — | 2 pads, 1.6mm gap |
| SOT-23 | 0.9 x 0.7 | 0.95 | 3 pads |
| SOT-23-5 | 0.9 x 0.7 | 0.95 | 5 pads |
| SOIC-8 | 1.5 x 0.6 | 1.27 | 8 pads, 5.4mm row spacing |
| SOIC-16 | 1.5 x 0.6 | 1.27 | 16 pads, 5.4mm row spacing |
| TSSOP-16 | 1.4 x 0.4 | 0.65 | 16 pads, 4.4mm row spacing |
| QFP-32 | 1.5 x 0.3 | 0.8 | 32 pads, quad-flat |
| QFP-48 | 1.5 x 0.3 | 0.5 | 48 pads, quad-flat |
| QFN-32 | 0.7 x 0.25 | 0.5 | 32 pads + exposed pad |
| QFN-48 | 0.7 x 0.25 | 0.5 | 48 pads + exposed pad |
F.CrtYd layer, 0.05mm line width| Layer | Purpose |
|------------|-------------------------------------------------------|
| F.Cu | Front copper (pads) |
| B.Cu | Back copper (pads for bottom-side components) |
| F.Mask | Front solder mask opening (auto-generated from pads) |
| F.Paste | Front solder paste (stencil openings) |
| F.SilkS | Front silkscreen (component outline, pin 1 marker) |
| F.CrtYd | Front courtyard (assembly spacing) |
| F.Fab | Front fabrication (true component dimensions) |
%R) on F.SilkS, readable at 1.0mm text heightregister_symbol_library(name, path, scope)
register_footprint_library(name, path, scope)
| Scope | Location | Visible To |
|-------------|----------------------------------|----------------------|
| global | User-level sym-lib-table | All projects |
| project | Project-level sym-lib-table | This project only |
Recommendation: Use project scope for project-specific custom parts.
Use global scope only for reusable personal libraries used across multiple projects.
*.kicad_sym files*.kicad_mod filessym-lib-table and fp-lib-table in project directoryStandard footprint naming follows IPC-7351:
[Type]_[Dimensions]_[Pitch]_[Suffix]
Examples:
R_0402_1005Metric — 0402 resistor (1.0x0.5mm metric)C_0805_2012Metric — 0805 capacitor (2.0x1.2mm metric)SOIC-8_3.9x4.9mm_P1.27mm — SOIC-8 with 1.27mm pitchQFN-32-1EP_5x5mm_P0.5mm — QFN-32 with exposed pad, 5x5mm bodySOT-23 — SOT-23 3-pinTSSOP-16_4.4x5mm_P0.65mm — TSSOP-16 with 0.65mm pitchDimension format: LxW in mm (body dimensions, not pad-to-pad).
search_symbols(part_name) — confirm it does not existsearch_footprints(package_name) — check if footprint exists (often it does)sch_analysis toolset.kicad_sym file for symbolsproject scope10. Load toolsets first — check get_active_toolsets() and load library before starting
Take mixelpixx/kicad-library from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.