Source profileQuality 90/100

mixelpixx/Konnect/crates/konnect/assets/skills/kicad-library/SKILL.md

kicad-library

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

Source repository stars
333
Declared platforms
0
Static risk flags
1
Last source update
2026-08-26
Source checked
2026-08-26

Decision brief

What it does: where it fits

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 .kicadsym or .kicadmod files directly.

Best for

    Not for

    • Tasks that require unconfirmed production actions or broad system permissions.
    • Environments where the pinned source and install steps cannot be inspected.

    Compatibility matrix

    Platform support, with evidence labels

    PlatformStatusEvidenceWhat to check
    CodexNot declaredNo explicit evidencePortability before use
    Claude CodeNot declaredNo explicit evidencePortability before use
    CursorNot declaredNo explicit evidencePortability before use
    Gemini CLINot declaredNo explicit evidencePortability before use
    Open the compatibility checker

    Installation

    Inspect first. Install second.

    The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.

    Source-detected install commandSource
    npx skills add https://github.com/mixelpixx/Konnect --skill "crates/konnect/assets/skills/kicad-library"
    Safe inspection promptEditorial

    Inspect the Agent Skill "kicad-library" from https://github.com/mixelpixx/Konnect/blob/35f01c43291ecea612e147e0f454a0208948f704/crates/konnect/assets/skills/kicad-library/SKILL.md at commit 35f01c43291ecea612e147e0f454a0208948f704. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.

    Workflow

    What the source asks the agent to do

    1. 01

      Toolset Loading

      Always call getactivetoolsets() first to see what is already loaded.

      Always call getactivetoolsets() first to see what is already loaded.
    2. 02

      Refresh Placed Footprints

      Editing a .kicadmod library file does not change copies already embedded on a board. After a library edit, call updatefootprintsfromlibrary; it is Konnect's MCP equivalent of KiCad Tools → Update Footprints from Library.

      Use dryrun=true and review status, coverage, changes, andApply with dryrun=false and the exact returned expectedplanrevision.Keep the requested board open in live KiCad; there is no closed-board file
    3. 03

      Search First Principle

      Always search existing libraries before creating custom components.

      Standard passives (R, C, L) → Device libraryConnectors → ConnectorGeneric, ConnectorUSB, ConnectorHDMI, etc.Common ICs (STM32, ATmega, LM7805, NE555) → manufacturer-specific libraries
    4. 04

      Symbol Creation

      Every symbol must have these fields:

      LCSC — LCSC/JLCPCB part number for assemblyMPN — Manufacturer part numberDescription — Short text description
    5. 05

      Pin Numbering Conventions

      Review the “Pin Numbering Conventions” section in the pinned source before continuing.

      Review and apply the “Pin Numbering Conventions” source section.

    Permission review

    Static risk signals and limitations

    Writes files

    medium · line 229

    The documentation asks the agent to create, modify, or delete local files.

    primitives in an existing `.kicad_mod`. Never patch the file directly.

    Writes files

    medium · line 377

    The documentation asks the agent to create, modify, or delete local files.

    Create new `.kicad_sym` file for symbols

    Evidence record

    Why each signal appears

    EvidenceSourceComputedTestedEditorial
    SignalValueEvidence typeMeaning
    Quality score90/100ComputedDocumentation, specificity, maintenance, and trust rules
    Repository stars333SourceRepository attention, not individual Skill quality
    Compatibility0 platformsSourceDeclared in the catalog source record
    Usage guideautomated source guideEditorialGenerated or reviewed according to the visible evidence level

    Pinned source

    Provenance and original SKILL.md

    Repository
    mixelpixx/Konnect
    Skill path
    crates/konnect/assets/skills/kicad-library/SKILL.md
    Commit
    35f01c43291ecea612e147e0f454a0208948f704
    License
    AGPL-3.0
    Collected
    2026-08-26
    Default branch
    main
    View the original SKILL.md

    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,
                               # edit_footprint_pad, set_footprint_graphics, set_footprint_metadata,
                               # set_footprint_models, get_footprint_info, register_symbol_library,
                               # register_footprint_library, get_symbol_info
    load_toolset('pcb_components') # update_footprints_from_library for placed instances
    

    Always call get_active_toolsets() first to see what is already loaded.


    Refresh Placed Footprints

    Editing a .kicad_mod library file does not change copies already embedded on a board. After a library edit, call update_footprints_from_library; it is Konnect's MCP equivalent of KiCad Tools → Update Footprints from Library.

    This operation is not update_pcb_from_schematic. Schematic sync updates schematic-owned fields while preserving artwork. Library refresh replaces supported library-owned pads, graphics, attributes, metadata, and 3D models while preserving the placed footprint's reference, value, position, rotation, board side, locked state, KIID, symbol metadata, instance overrides, and pad nets by logical pad number.

    Always dry-run first:

    update_footprints_from_library(
      board,
      references?,
      library_ids?,
      dry_run,
      expected_plan_revision?
    )
    
    • Use dry_run=true and review status, coverage, changes, and diagnostics.
    • Apply with dry_run=false and the exact returned expected_plan_revision.
    • Keep the requested board open in live KiCad; there is no closed-board file fallback.
    • One successful apply is one KiCad undo entry.
    • A stale plan, unresolved library, removed connected pad, or unsupported library content returns a non-mutating conflict for the whole selection.

    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) → Device library
    • 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 TypeConvention
    IC (DIP/SOIC/QFP)Counter-clockwise from pin 1 (standard IC convention)
    Passives (R, C, L)Pin 1 and Pin 2
    DiodesPin 1 = Anode (A), Pin 2 = Cathode (K)
    Transistors (BJT)1=Base, 2=Collector, 3=Emitter (BCE)
    MOSFETs1=Gate, 2=Drain, 3=Source (GDS)
    ConnectorsSequential from 1
    CrystalPin 1, Pin 2 (+ case ground if 4-pin)

    Pin Types

    TypeUse For
    inputLogic/analog inputs, gate inputs
    outputLogic/analog outputs, push-pull drivers
    bidirectionalData bus lines, I2C SDA, GPIO
    tri_stateOutputs with high-impedance state
    passiveResistor/capacitor/inductor pins, crystal pins
    power_inVCC, VDD, GND pins (power consumer)
    power_outRegulator output, power source pins
    open_collectorOpen-drain/open-collector outputs
    open_emitterOpen-emitter outputs
    unspecifiedPins with no clear electrical type
    no_connectPins that must not be connected

    Required Symbol Properties

    Every symbol must have these fields:

    PropertyDescriptionExample
    ReferenceDesignator prefixU, R, C, J, D, Q, L
    ValuePart name or valueSTM32F103C8, 10k, 100nF
    FootprintDefault footprint assignmentPackage_SO:SOIC-8_3.9x4.9mm
    DatasheetURL to datasheethttps://...

    Optional but recommended:

    • LCSC — LCSC/JLCPCB part number for assembly
    • MPN — Manufacturer part number
    • Description — 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

    TypeUse For
    smdSurface-mount pads (no drill hole)
    thru_holeThrough-hole pads (plated drill)
    np_thru_holeNon-plated through hole (mounting holes, slots)

    Pad Side and Shape Details

    create_footprint defaults SMD pads to the front-side layer set ["F.Cu", "F.Paste", "F.Mask"]. For bottom-side SMD pads, set layers=["B.Cu", "B.Paste", "B.Mask"] explicitly. Through-hole pads default to ["*.Cu", "*.Mask"].

    Each pad may also set:

    • rotation in degrees; omit it for 0.
    • roundrect_rratio from 0 through 0.5 when shape="roundrect".
    • layers using only canonical pad layers: F.Cu, B.Cu, F.Paste, B.Paste, F.Mask, B.Mask, *.Cu, and *.Mask.
    create_footprint(
      ...,
      pads=[{
        number: "1",
        type: "smd",
        shape: "roundrect",
        x: -8.075,
        y: 4.7,
        width: 2.5,
        height: 2.55,
        layers: ["B.Cu", "B.Paste", "B.Mask"],
        rotation: 180,
        roundrect_rratio: 0.2
      }]
    )
    

    Standard Pad Sizes Reference

    PackagePad Size (mm)Pitch (mm)Notes
    04020.5 x 0.52 pads, 0.5mm gap
    06030.8 x 0.82 pads, 0.8mm gap
    08051.0 x 1.02 pads, 1.0mm gap
    12061.5 x 1.22 pads, 1.6mm gap
    SOT-230.9 x 0.70.953 pads
    SOT-23-50.9 x 0.70.955 pads
    SOIC-81.5 x 0.61.278 pads, 5.4mm row spacing
    SOIC-161.5 x 0.61.2716 pads, 5.4mm row spacing
    TSSOP-161.4 x 0.40.6516 pads, 4.4mm row spacing
    QFP-321.5 x 0.30.832 pads, quad-flat
    QFP-481.5 x 0.30.548 pads, quad-flat
    QFN-320.7 x 0.250.532 pads + exposed pad
    QFN-480.7 x 0.250.548 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.CrtYd layer, 0.05mm line width

    Footprint Layers

    LayerPurpose
    F.CuFront copper (pads)
    B.CuBack copper (pads for bottom-side components)
    F.MaskFront solder mask opening (auto-generated from pads)
    B.MaskBack solder mask opening
    F.PasteFront solder paste (stencil openings)
    B.PasteBack solder paste (stencil openings)
    F.SilkSFront silkscreen (component outline, pin 1 marker)
    F.CrtYdFront courtyard (assembly spacing)
    F.FabFront 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

    Existing Footprint Graphics

    Use set_footprint_graphics to add or change line, arc, rectangle, circle, or polygon primitives in an existing .kicad_mod. Never patch the file directly.

    set_footprint_graphics(
      footprint path,
      selector={layer: "B.CrtYd"},
      mode="replace",
      graphics=[...]
    )
    
    • append preserves existing supported graphics on the selected layer.
    • replace replaces all supported graphics on the selected layer in one atomic write.
    • delete removes all supported graphics on the selected layer.
    • Text, pads, properties, models, groups, and graphics on other layers are preserved.
    • Replacement/deletion stops with a conflict if a selected graphic belongs to a group; do not work around this by editing the file.
    • Polygons close automatically. Supply at least three distinct points; repeating the first point at the end is optional.
    • Use get_footprint_info with graphics inclusion enabled and a layer filter to verify the resulting type, geometry, stroke width, fill, and item ID.

    Existing Footprint Metadata

    Use set_footprint_metadata to replace a footprint description, search tags, or KiCad footprint attributes without changing pads, graphics, properties, groups, or 3D models.

    set_footprint_metadata(
      footprint_path=".../Part.kicad_mod",
      description="Optional replacement",
      tags=["keyboard", "hot_swap"],
      attributes=["exclude_from_pos_files"]
    )
    
    • Supply at least one metadata field.
    • Only supplied fields change.
    • Empty tags or attributes removes the corresponding block.
    • exclude_from_pos_files omits the footprint from pick-and-place output without implicitly adding exclude_from_bom.
    • Use edit_footprint_pad with new_number and optional match_all=true to renumber one or every matching direct-child pad atomically.

    Existing Footprint 3D Models

    Use set_footprint_models to append, replace, or delete top-level 3D model associations without changing any non-model footprint content.

    set_footprint_models(
      footprint_path=".../Part.kicad_mod",
      mode="replace",
      models=[{
        path: "../models/Part.step",
        offset: {x: 0, y: 0, z: 0},
        scale: {x: 1, y: 1, z: 1},
        rotate: {x: 0, y: 0, z: 90}
      }]
    )
    
    • append and replace require at least one model.
    • delete requires models to be omitted or empty and removes every top-level model.
    • Omitted transforms default to offset 0/0/0, scale 1/1/1, and rotation 0/0/0.
    • Multiple model blocks are written in payload order in one atomic operation.

    Library Registration

    Register a Symbol Library

    register_symbol_library(nickname, library_path, scope?, project?, replace_existing?)
    

    Register a Footprint Library

    register_footprint_library(nickname, library_path, scope?, project?, replace_existing?)
    
    • Registration is idempotent by default: an existing nickname is left unchanged.
    • Set replace_existing=true to update a stale URI for that nickname in place.
    • Project-local and same-repository sibling libraries are written as portable ${KIPRJMOD} URIs; existing options, descriptions, and unrelated entries are preserved.

    Scope

    ScopeLocationVisible To
    globalUser-level sym-lib-tableAll projects
    projectProject-level sym-lib-tableThis 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_sym files
    • Footprint libraries: directories containing *.kicad_mod files
    • Project-level tables: sym-lib-table and fp-lib-table in 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 pitch
    • QFN-32-1EP_5x5mm_P0.5mm — QFN-32 with exposed pad, 5x5mm body
    • SOT-23 — SOT-23 3-pin
    • TSSOP-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

    1. search_symbols(query) — pass the part name; confirm it does not exist
    2. search_footprints(query) — pass the package name; check if the footprint exists (often it does)
    3. Create symbol with correct pin count, names, numbers, and types
    4. Assign existing footprint OR create custom footprint from datasheet
    5. Register library if new
    6. Set Footprint property on symbol to link them

    Add LCSC Number to Existing Components

    1. Load sch_analysis toolset
    2. Find components missing LCSC field
    3. Search JLCPCB parts for matching part numbers
    4. Update component fields with LCSC numbers

    Create Project-Specific Library

    1. Create new .kicad_sym file for symbols
    2. Create new directory for footprints
    3. Register both with project scope
    4. Add custom components as needed

    Rules

    1. Always search before creating — most parts already exist in KiCAD libraries
    2. Never edit .kicad_sym or .kicad_mod directly — use MCP tools only
    3. Follow pin numbering conventions — IC pins counter-clockwise from pin 1
    4. Set pin types correctly — ERC depends on accurate pin types
    5. Include all required properties — Reference, Value, Footprint, Datasheet
    6. Use 0.25mm courtyard margin — standard clearance for assembly
    7. Mark pin 1 clearly — both on symbol and footprint silkscreen
    8. Use project scope by default — avoid polluting global libraries
    9. Name footprints per IPC — consistent naming helps future reuse
    10. Load toolsets first — check get_active_toolsets() and load library before starting
    11. Use layer-scoped graphic edits deliberatelyreplace and delete affect every supported primitive on the selected layer

    Frequently asked questions

    What to verify before installation and use

    What does the kicad-library source document cover?

    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 .kicadsym or .kicadmod files directly.

    How do I install kicad-library?

    The source record exposes this install command: npx skills add https://github.com/mixelpixx/Konnect --skill "crates/konnect/assets/skills/kicad-library". Inspect the command and pinned source before running it.

    Which permission-related actions were detected?

    Static rules flagged write-files in the source; the page lists the matching lines and excerpts.

    Alternatives

    Compare before choosing

    Computed 10029,095

    garrytan/gbrain

    bulk-ingestion

    End-to-end discipline for turning any large data source (audio libraries, email takeouts, document corpora, chat exports, API dumps) into brain pages at scale. The lifecycle spine: SCHEMA → ACCESS → TRIAL → EVALUATE → IMPROVE → CODIFY → TEST → SKILLIFY → BULK → MONITOR. State is tracked in a durable JSON manifest (see MANIFEST-PATTERN.md) so any crash, session boundary, or subagent fan-out resumes from ground truth instead of memory.

    Computed 10024,975

    alirezarezvani/claude-skills

    app-store-optimization

    App Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store. Use when the user asks about ASO, app store rankings, app metadata, app titles and descriptions, app store listings, app visibility, or mobile app marketing on iOS or Android. Supports keyword research and scoring, competitor keyword analysis, metadata optimization, A/B test planning, launch checklist

    Computed 10015,246

    wanshuiyin/Auto-claude-code-research-in-sleep

    citation-audit

    Use it for operations and research tasks; the detail page covers purpose, installation, and practical steps.

    Computed 10014,678

    prowler-cloud/prowler

    postgresql-indexing

    PostgreSQL indexing best practices for Prowler: index design, partial indexes, partitioned table indexing, EXPLAIN ANALYZE validation, concurrent operations, monitoring, and maintenance. Trigger: When creating or modifying PostgreSQL indexes, analyzing query performance with EXPLAIN, debugging slow queries, reviewing index usage statistics, reindexing, dropping indexes, or working with partitioned table indexes. Also trigger when discussing index strategies, partial indexes, or index maintenance