| "route traces", "PCB", "place footprints", "copper pour", "board outline", "differential pair", "board setup", "track width", "via", "zone", "design rules", "stackup", "silkscreen".
npx skills add https://github.com/mixelpixx/Konnect --skill kicad-pcb
This skill guides Claude to perform PCB layout using Konnect MCP tools.
ALL modifications go through MCP tools — never edit .kicad_pcb files directly.
PCB layout operations require KiCAD to be running with the board file open. The IPC
connection communicates with the running KiCAD instance in real-time.
If connection fails:
Before any PCB work, load the required toolsets:
load_toolset('pcb_board') # board outline, layers, setup, stackup
load_toolset('pcb_components') # place, move, rotate, align footprints
load_toolset('pcb_routing') # traces, vias, differential pairs
Zones (pcb_board: add_zone; pcb_routing: add_copper_pour), component/net queries (pcb_components: find_component, get_component_list; pcb_board: get_board_info), and bulk placement (pcb_components: place_component_array, align_components, duplicate_component) are already covered by the toolsets loaded above.
Load additional toolsets as needed:
load_toolset('config') # design rule storage: add_design_rule, list_design_rules
load_toolset('verification') # run_drc, set_design_rules, get_design_rules, check_clearance
Always call get_active_toolsets() first to see what is already loaded.
Follow this sequence for a clean PCB workflow:
set_board_size or draw Edge.Cuts geometrysave_projectDo NOT add copper pours before routing is complete — they interfere with interactive routing.
| Tool | Use Case |
|---------------------------|---------------------------------------------|
| place_component | Position a single footprint at x,y |
| move_component | Relocate an existing footprint |
| rotate_component | Rotate footprint (0/90/180/270) |
| align_components | Align multiple components (top/bottom/left/right/center) |
| place_component_array | Grid placement for repeated elements |
| Tool | Use Case |
|---------------------------|---------------------------------------------|
| route_pad_to_pad | Direct connection, auto L-bend routing |
| route_trace | Manual segment-by-segment routing |
| route_differential_pair | Matched-length USB/LVDS/Ethernet pairs |
| add_via | Layer transition |
| create_netclass | Define width/clearance rules for net groups |
The primary routing tool. Automatically creates an L-shaped trace between two pads.
route_pad_to_pad(from_reference, from_pad, to_reference, to_pad, width, layer)
For manual control over trace path. Specify waypoints.
route_trace(net_name, points, width, layer)
For high-speed differential signals (USB, HDMI, Ethernet, LVDS).
route_differential_pair(net_positive, net_negative, width, spacing)
Define routing rules for groups of nets:
create_netclass(name, track_width, clearance, via_drill, via_diameter)
Common netclass configurations:
Zone tools live in the pcb_board toolset.
Creates a copper pour area (polygon fill).
add_zone(net_name, layer, outline_points, priority)
Must call refill_zones after any change that affects copper pour:
Zones do not auto-update — stale fills cause DRC errors.
| Layer | Name | Purpose |
|----------|----------|--------------------------------------|
| F.Cu | Front Copper | Top copper traces and pads |
| B.Cu | Back Copper | Bottom copper traces and pads |
| F.SilkS | Front Silk | Top silkscreen (text, outlines)|
| B.SilkS | Back Silk | Bottom silkscreen |
| F.Mask | Front Mask | Top solder mask openings |
| B.Mask | Back Mask | Bottom solder mask openings |
| Edge.Cuts| Board Outline | Physical board boundary |
| F.Fab | Front Fab | Top fabrication drawing |
| B.Fab | Back Fab | Bottom fabrication drawing |
| F.CrtYd | Front Courtyard| Top component clearance area |
| B.CrtYd | Back Courtyard | Bottom component clearance area|
| In1.Cu | Inner 1 | Internal copper layer 1 |
| In2.Cu | Inner 2 | Internal copper layer 2 |
After completing layout:
run_drc()
Common DRC errors and fixes:
refill_zonesrun_drc() and resolve all errorssave_project after major operationsget_active_toolsets() and load what you need10. Copper pour last — add zones only after routing is substantially complete
Integration with protocols.io API for managing scientific protocols. This skill should be used when working with protocols.io to search, create, update, or publish protocols; manage protocol steps and materials; handle discussions and comments; organize workspaces; upload and manage files; or integrate protocols.io functionality into workflows. Applicable for protocol discovery, collaborative protocol development, experiment tracking, lab protocol management, and scientific documentation.
Analyzes job descriptions and generates tailored resumes that highlight relevant experience, skills, and achievements to maximize interview chances
Generate Excalidraw diagrams from natural language descriptions. Use when asked to "create a diagram", "make a flowchart", "visualize a process", "draw a system architecture", "create a mind map", or "generate an Excalidraw file". Supports flowcharts, relationship diagrams, mind maps, and system architecture diagrams. Outputs .excalidraw JSON files that can be opened directly in Excalidraw.
Build and distribute Expo development clients locally or via TestFlight
Use when you have a written implementation plan to execute in a separate session with review checkpoints
Data structure for annotated matrices in single-cell analysis. Use when working with .h5ad files or integrating with the scverse ecosystem. This is the data format skill—for analysis workflows use scanpy; for probabilistic models use scvi-tools; for population-scale queries use cellxgene-census.
Benchling R&D platform integration. Access registry (DNA, proteins), inventory, ELN entries, workflows via API, build Benchling Apps, query Data Warehouse, for lab data management automation.
Comprehensive molecular biology toolkit. Use for sequence manipulation, file parsing (FASTA/GenBank/PDB), phylogenetics, and programmatic NCBI/PubMed access (Bio.Entrez). Best for batch processing, custom bioinformatics pipelines, BLAST automation. For quick lookups use gget; for multi-service integration use bioservices.
Take mixelpixx/kicad-pcb 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.