operating-kicad-eda logo

operating-kicad-eda

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

telagod/code-abyss0installs224stars

SKILL.md

Full skill instructions

Operating KiCad EDA

判断先于执行:决定「是否做 / 选什么 / 如何取舍」(栈、方案、架构、权衡)前,先读领域判断内核 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

ScenarioUseApproach
Create schematic from design docYesschematic() operations
Generate PCB from schematicYesbuild_pcb_from_schematic
Route a PCBYesautoroute(operation="run") only
Fix DRC violationsYesdrc(operation="autofix")
Export manufacturing filesYesexport() Gerber/BOM/render
Hand-place a single traceNOLLM traces violate clearances

Iron rules

  1. NEVER hand-routepcb(add_trace/add_via) produces DRC-failing garbage. Use autoroute(operation="run").
  2. NEVER guess names — footprint and symbol names change between KiCad versions. Always library(operation="search") first.
  3. SERIALIZE PCB ops — MCP PCB tools do load/modify/save. Parallel calls corrupt the .kicad_pcb file.
  4. VERIFY after changesdrc(operation="run") + audit(operation="all") before declaring done.

MCP tool routing table

TaskMCP ToolOperation
Search partslibrarysearch
Create/edit schematicschematiccreate_symbol, add_wire, add_label
Build PCB from schematicbuild_pcb_from_schematic— (standalone)
Place footprintspcbplace_footprint
Set board outlinepcbset_board_outline
Add zones (copper pour)pcbadd_zone
Auto-routeautorouterun
Run DRCdrcrun
Auto-fix DRCdrcautofix
Export Gerberexportgerber
Export BOMexportbom
3D renderexportrender
Estimate board sizeestimate_board_size— (standalone)
Suggest placementsuggest_placement— (standalone)
Full auditauditall

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

TopicFile
KiCad 9 parse quirkskicad9-quirks.md
DRC fix strategiesdrc-strategies.md
Footprint injectionfootprint-injection.md

Exit criteria

  • ERC: 0 errors (warnings acceptable)
  • DRC: 0 violations
  • All nets routed (no unconnected)
  • Gerber zip exportable