Operating KiCad EDA
SkillDev toolsKiCad EDA orchestration via kicad-mcp MCP server. Routes 17 tools for schematic creation, PCB layout, autorouting, DRC, and Gerber export. Enforces serialized PCB ops, library-first lookup, and autoroute-only routing.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Operating KiCad EDA skill
What this skill tells your AI
The instructions your AI receives, as published by telagod/code-abyss in skills/operating-kicad-eda/SKILL.md and read by ahel’s review.
判断先于执行:决定「是否做 / 选什么 / 如何取舍」(栈、方案、架构、权衡)前,先读领域判断内核
skills/_kernel/hardware/SKILL.md——它管 judgment,本秘典管 execution;冲突时以内核判断为准。
MCP tool router for KiCad 9. Never guess, never hand-route, never parallelize PCB writes.
When to use
| Scenario | Use | Approach |
|---|---|---|
| Create schematic from design doc | Yes | schematic() operations |
| Generate PCB from schematic | Yes | build_pcb_from_schematic |
| Route a PCB | Yes | autoroute(operation="run") only |
| Fix DRC violations | Yes | drc(operation="autofix") |
| Export manufacturing files | Yes | export() Gerber/BOM/render |
| Hand-place a single trace | NO | LLM traces violate clearances |
Iron rules
- NEVER hand-route —
pcb(add_trace/add_via)produces DRC-failing garbage. Useautoroute(operation="run"). - NEVER guess names — footprint and symbol names change between KiCad versions. Always
library(operation="search")first. - SERIALIZE PCB ops — MCP PCB tools do load/modify/save. Parallel calls corrupt the
.kicad_pcbfile. - VERIFY after changes —
drc(operation="run")+audit(operation="all")before declaring done.
MCP tool routing table
| Task | MCP Tool | Operation |
|---|---|---|
| Search parts | library | search |
| Create/edit schematic | schematic | create_symbol, add_wire, add_label |
| Build PCB from schematic | build_pcb_from_schematic | — (standalone) |
| Place footprints | pcb | place_footprint |
| Set board outline | pcb | set_board_outline |
| Add zones (copper pour) | pcb | add_zone |
| Auto-route | autoroute | run |
| Run DRC | drc | run |
| Auto-fix DRC | drc | autofix |
| Export Gerber | export | gerber |
| Export BOM | export | bom |
| 3D render | export | render |
| Estimate board size | estimate_board_size | — (standalone) |
| Suggest placement | suggest_placement | — (standalone) |
| Full audit | audit | all |
Standard pipeline
1. library(search) → find symbols and footprints
2. schematic(create_symbol) → place all components
3. schematic(add_wire/add_label) → connect nets
4. [Python] footprint injection script → fix kicad-cli lookup
5. build_pcb_from_schematic → initial PCB
6. pcb(set_board_outline) → product form factor
7. suggest_placement or pcb(place_footprint) → position components
8. autoroute(run) → FreeRouter
9. drc(run) → check
10. drc(autofix) → fix violations
11. pcb(add_zone) → GND copper pour both layers
12. export(gerber) → manufacturing files
13. export(render) → 3D views
References
| Topic | File |
|---|---|
| KiCad 9 parse quirks | kicad9-quirks.md |
| DRC fix strategies | drc-strategies.md |
| Footprint injection | footprint-injection.md |
Exit criteria
- ERC: 0 errors (warnings acceptable)
- DRC: 0 violations
- All nets routed (no unconnected)
- Gerber zip exportable
Signals
- GitHub stars
- 239
- Forks
- 32
- Last commit
- Jul 2026
Advanced
- Catalog kind
- skill
- Gateway key
operating-kicad-eda- Source
- github.com/telagod/code-abyss