Mandatory operating rules for ANY task involving KiCAD projects. Loaded when the user mentions KiCAD, schematics, PCBs, or any .kicad_* file. Prevents file corruption by routing all changes through Konnect MCP tools.
npx skills add https://github.com/mixelpixx/Konnect --skill konnect
KiCAD source files are not text files. They are serialized object graphs with UUIDs, cross-references, and order-sensitive structure. Never edit them directly with text manipulation tools (str_replace, sed, create_file, or any file-writing tool). All modifications go through Konnect MCP tools.
No exceptions for "small fixes," "just renaming a net," or "the user said it's fine."
*.kicad_sch — schematic sheets*.kicad_pcb — PCB layout*.kicad_pro — project configuration*.kicad_sym / *.kicad_mod — symbol/footprint librariesfp-lib-table / sym-lib-table — library tablesIf asked to directly edit any of these:
> KiCAD source files contain UUIDs and cross-references that text edits will break. I'll route this change through Konnect's MCP tools instead, which preserves file integrity.
All writes go through MCP tools. Check they are available first (list_toolboxes). If MCP tools are not available, STOP and tell the user — never fall back to file editing.
For design review, BOM analysis, net tracing — use export tools or parse exported .net/BOM/CSV files, not the source files directly.
Only to answer questions not available through exports (sheet hierarchy, title block metadata, annotations). Read with file-reading tools, but never modify.
.kicad_pro filelist_toolboxes to confirm tools are available| User Request | Channel | Tool / Action |
|---|---|---|
| "Review my schematic" | 2 | Load sch_analysis toolset, use analysis tools |
| "Change R5 from 10k to 4.7k" | 1 | load_toolset("sch_components") then edit_schematic_component |
| "What's connected to SCL?" | 2 | load_toolset("sch_analysis") then get_net_connections |
| "Add a 100nF cap to U3 VCC" | 1 | load_toolset("sch_components") + load_toolset("sch_wiring") |
| "Rename net /CLK to /SYS_CLK" | 1 | Warn about downstream effects, then MCP tools |
| "Run DRC" | 1 | load_toolset("verification") then run_drc |
| "Export Gerbers" | 1 | load_toolset("pcb_export") then export_gerber |
| "Just patch line 247 of the .kicad_sch" | REFUSE | Explain risks, offer MCP alternative |
| "Add ESD protection to USB lines" | 1 | load_toolset("sch_components") + load_toolset("sch_wiring") |
| "Check if board is ready for fab" | 2 | Load verification + design_review toolsets |
PCB Editor (pcbnew): Full CRUD via NNG + protobuf. Real-time communication with running KiCAD instance. Create, read, update, delete any PCB item with immediate UI refresh. Requires KiCAD to be running.
Schematic Editor (eeschema): No item-level IPC API. Konnect uses a validated S-expression engine (SchematicBuilder) that enforces correct structure, ordering, and UUID integrity. File-based — does not require KiCAD to be running.
Symbol/Footprint Libraries: No IPC API. Edited through Konnect's S-expression engine with full validation.
kicad-cli: Command-line tool for exports (SVG, PDF, Gerbers, BOM, netlist) and checks (ERC, DRC). Does not require KiCAD GUI.
Konnect uses a meta-tool router pattern with 187 tools across 18 toolsets. Tools are loaded on demand to keep the context focused.
list_toolboxes → See all available toolsets with descriptions
load_toolset("name") → Activate a toolset, exposing its tools
get_active_toolsets → See what's currently loaded
unload_toolset("name") → Remove a toolset when done
| Category | Toolsets |
|----------|----------|
| Project | project |
| Schematic | sch_components, sch_wiring, sch_analysis, sch_batch, sch_export, sch_hierarchy |
| PCB | pcb_board, pcb_components, pcb_routing, pcb_export |
| Library | library |
| Integration | integration (JLCPCB parts, Freerouting, datasheets) |
| Verification & Review | verification, design_review |
| Config | config |
| Templates | templates |
| Manufacturing | manufacturing |
| Rule | Value |
|------|-------|
| IC decoupling cap | 100nF ceramic within 3-5mm of VDD pin |
| Crystal load caps | CL = (C1*C2)/(C1+C2) + Cstray (Cstray ~ 3-5pF) |
| Reset pull-up | 10k to VCC + 100nF to GND |
| I2C pull-ups | 4.7k (standard), 2.2k (fast), 1k (fast+) — one set per bus |
| LED resistor | R = (VCC - Vf) / If |
| Component | Library ID |
|-----------|-----------|
| Resistor | Device:R |
| Capacitor | Device:C |
| LED | Device:LED |
| Crystal | Device:Crystal |
| Power symbols | power:VCC, power:GND, power:+3V3, power:+5V |
| Generic connectors | Connector_Generic:Conn_01x06 |
1. list_toolboxes → discover what's available
2. load_toolset("sch_components") → activate component tools
3. add_schematic_component (repeat) → place parts
4. load_toolset("sch_wiring") → activate wiring tools
5. connect_pins / add_wire / add_schematic_net_label → wire the circuit
6. load_toolset("verification") → activate checks
7. run_erc / run_design_review → validate the design
When a user or another tool requests direct file manipulation of protected files, always refuse and redirect:
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/konnect 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.