KiCAD Library Manager
Create and manage KiCAD symbols, footprints, and component libraries.
Installation
- Make sure Claude is on your device and in your terminal.
Skills load from
~/.claude/skills/when Claude Code starts up β so you need it on your machine first. If you don't have it yet, install it once with the command below, then runclaudein any terminal to verify.One-time setupnpm i -g @anthropic-ai/claude-codeAlready have it? Skip ahead.
- Paste into Claude Code or into your terminal.
This copies the whole skill folder into
~/.claude/skills/kicad-library-mixelpixx/β the SKILL.md plus any scripts, reference docs, or templates the skill ships with. Safe default: works for every skill.Faster alternative (instruction-only skills)
Skips the clone and grabs only the SKILL.md file. Don't use this if the skill ships Python scripts, reference markdowns, or asset templates β they won't be downloaded and the skill will fail when it tries to load them.
Quick install (SKILL.md only)Sign up to copy - Restart Claude Code.
Quit and reopen Claude Code (or any other agent that loads from
~/.claude/skills/). New skills are picked up on startup. - Just ask Claude.
Skills auto-activate when your request matches the skill's description β no slash command needed. Trigger phrases live in the skill's own frontmatter; you can read them in the βWhat this skill doesβ section above.
Prefer to read the source first? Open on GitHub.
When Claude uses it
Library management workflow for KiCAD β creating symbols, footprints, and managing libraries via MCP tools. Triggers on: "create a symbol", "make a footprint", "custom component", "register library", "find a part", "pin numbering", "new symbol", "new footprint", "add to library", "library path", "pad layout".
What this skill does
KiCAD Library Management Workflow
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.
Toolset Loading
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.
Search First Principle
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:
- Standard passives (R, C, L) β
Devicelibrary - Connectors β
Connector_Generic,Connector_USB,Connector_HDMI, etc. - Common ICs (STM32, ATmega, LM7805, NE555) β manufacturer-specific libraries
- Transistors/MOSFETs β
Transistor_FET,Transistor_BJT
Only create a custom symbol/footprint when:
- The part does not exist in any library
- The existing symbol has wrong pin count/arrangement
- You need a proprietary/unusual package
Symbol Creation
Pin Numbering Conventions
| 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) |
Pin Types
| 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 |
Required Symbol Properties
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
Symbol Layout Guidelines
- Pin 1 indicator (dot or bar) on the symbol body
- Inputs on the left side, outputs on the right side
- Power pins on top (VCC) and bottom (GND)
- Pin spacing: 2.54mm (100mil) standard grid
- Symbol body: rectangle for ICs, standard shapes for passives/discretes
Footprint Creation
Pad Types
| 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) |
Standard Pad Sizes Reference
| 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 |
Courtyard
- Extend courtyard 0.25mm beyond the outermost pad edges on all sides
- This ensures minimum spacing between components during assembly
- Use
F.CrtYdlayer, 0.05mm line width
Footprint Layers
| 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) |
Footprint Layout Guidelines
- Pin 1 marker on silkscreen (dot, bar, or chamfered corner)
- Component outline on F.Fab layer with true dimensions
- Silkscreen outline 0.1mm outside F.Fab outline
- Reference (
%R) on F.SilkS, readable at 1.0mm text height - Value on F.Fab layer
Library Registration
Register a Symbol Library
register_symbol_library(name, path, scope)
Register a Footprint Library
register_footprint_library(name, path, scope)
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.
Library File Locations
- Symbol libraries:
*.kicad_symfiles - Footprint libraries: directories containing
*.kicad_modfiles - Project-level tables:
sym-lib-tableandfp-lib-tablein project directory
IPC Naming Conventions (Brief Reference)
Standard 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 pitch
Dimension format: LxW in mm (body dimensions, not pad-to-pad).
Common Workflows
Create a New IC Symbol + Footprint
search_symbols(part_name)β confirm it does not existsearch_footprints(package_name)β check if footprint exists (often it does)- Create symbol with correct pin count, names, numbers, and types
- Assign existing footprint OR create custom footprint from datasheet
- Register library if new
- Set Footprint property on symbol to link them
Add LCSC Number to Existing Components
- Load
sch_analysistoolset - Find components missing LCSC field
- Search JLCPCB parts for matching part numbers
- Update component fields with LCSC numbers
Create Project-Specific Library
- Create new
.kicad_symfile for symbols - Create new directory for footprints
- Register both with
projectscope - Add custom components as needed
Rules
- Always search before creating β most parts already exist in KiCAD libraries
- Never edit .kicad_sym or .kicad_mod directly β use MCP tools only
- Follow pin numbering conventions β IC pins counter-clockwise from pin 1
- Set pin types correctly β ERC depends on accurate pin types
- Include all required properties β Reference, Value, Footprint, Datasheet
- Use 0.25mm courtyard margin β standard clearance for assembly
- Mark pin 1 clearly β both on symbol and footprint silkscreen
- Use project scope by default β avoid polluting global libraries
- Name footprints per IPC β consistent naming helps future reuse
- Load toolsets first β check
get_active_toolsets()and loadlibrarybefore starting
Related skills
Word Document Editor
anthropics
Create, edit, and format Word documents with tables, images, and tracked changes.
Ask Questions If Underspecified
trailofbits
Ask clarifying questions before starting work on ambiguous requests.
CLAUDE.md Optimizer
daymade
Optimize your CLAUDE.md file for clarity, efficiency, and maintainability.
Claude Skills Troubleshooter
daymade
Diagnose and fix plugin installation, enablement, and activation problems.