| 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
Use Expo DOM components to run web code in a webview on native and as-is on web. Migrate web code to native incrementally.
Frontend development guidelines for React/TypeScript applications. Modern patterns including Suspense, lazy loading, useSuspenseQuery, file organization with features directory, MUI v7 styling, TanStack Router, performance optimization, and TypeScript best practices. Use when creating components, pages, features, fetching data, styling, routing, or working with frontend code.
Next.js 16 Cache Components - PPR, use cache directive, cacheLife, cacheTag, updateTag
| Build Shopify apps, extensions, themes using GraphQL Admin API, Shopify CLI, Polaris UI, and Liquid. "shopify theme", "liquid template", "polaris", "shopify graphql", "shopify webhook", "shopify billing", "app subscription", "metafields", "shopify functions"
Build Gradio web UIs and demos in Python. Use when creating or editing Gradio apps, components, event listeners, layouts, or chatbots.
MANDATORY prerequisite — load this skill BEFORE every `generate_diagram` tool call. NEVER call `generate_diagram` directly without loading this skill first. Trigger whenever the user asks to create, generate, draw, render, sketch, or build a diagram — flowchart, architecture diagram, sequence diagram, ERD or entity-relationship diagram, state diagram or state machine, gantt chart, or timeline. Also trigger when the user mentions Mermaid syntax or wants a system architecture, decision tree, dependency graph, API call flow, auth handshake, schema, or pipeline visualized in FigJam. Routes to type-specific guidance, sets universal Mermaid constraints, and tells you when to use a different diagram type or skip the tool entirely (mindmaps, pie charts, class diagrams, etc.).
Analyzes web performance using Chrome DevTools MCP. Measures Core Web Vitals (LCP, INP, CLS) and supplementary metrics (FCP, TBT, Speed Index), identifies render-blocking resources, network dependency chains, layout shifts, caching issues, and accessibility gaps. Use when asked to audit, profile, debug, or optimize page load performance, Lighthouse scores, or site speed. Biases towards retrieval from current documentation over pre-trained knowledge.
Algorithmic philosophies are computational aesthetic movements that are then expressed through code. Output .md files (philosophy), .html files (interactive viewer), and .js files (generative algorithms).
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.