/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.
$ npx -y skills add telagod/code-abyss --skill operating-kicad-eda --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/operating-kicad-eda
Context preview
The summary Claude sees to decide when to auto-load this skill.
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.
SKILL.md
operating-kicad-eda.SKILL.mdname: operating-kicad-eda
description: "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."
user-invocable: true
argument-hint: "<operation: schematic|pcb|route|drc|export|full-pipeline>"
allowed-tools: Read, Bash
# Read: inspect KiCad files and MCP tool schemas
# Bash: run kicad-cli for ERC/DRC, Python scripts for footprint injection
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
| 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
1. **NEVER hand-route** — `pcb(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 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](references/kicad9-quirks.md) | | DRC fix strategies | [drc-strategies.md](references/drc-strategies.md) | | Footprint injection | [footprint-injection.md](references/footprint-injection.md) |
Exit criteria
- [ ] ERC: 0 errors (warnings acceptable)
- [ ] DRC: 0 violations
- [ ] All nets routed (no unconnected)
- [ ] Gerber zip exportable
Read more
name: operating-kicad-eda description: "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." user-invocable: true argument-hint: "<operation: schematic|pcb|route|drc|export|full-pipeline>" allowed-tools: Read, Bash # Read: inspect KiCad files and MCP tool schemas # Bash: run kicad-cli for ERC/DRC, Python scripts for footprint injection
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
| 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
1. **NEVER hand-route** — `pcb(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 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](references/kicad9-quirks.md) | | DRC fix strategies | [drc-strategies.md](references/drc-strategies.md) | | Footprint injection | [footprint-injection.md](references/footprint-injection.md) |
Exit criteria
- [ ] ERC: 0 errors (warnings acceptable)
- [ ] DRC: 0 violations
- [ ] All nets routed (no unconnected)
- [ ] Gerber zip exportable
Give your AI coding agent a personality. Composable persona + style + skills for Claude Code, Codex, Gemini CLI & OpenClaw. Ships Tech Persona Card v1.0 spec.
Repo: telagod/code-abyss
Other skills on code-abyss.
- /analyzing-changes
Analyzes code changes, detects documentation drift, and evaluates change impact scope. Use when reviewing diffs, checking doc sync, or running pre-commit analysis. Automatically triggered after design-level changes or refactoring.
Open skill - /analyzing-security
Scans code for security vulnerabilities, detects dangerous patterns, and ensures security decisions are documented. Use when running security scans, auditing code, or checking for OWASP issues, injection risks, or sensitive data leaks. Automatically triggered on new modules,
Open skill - /analyzing-spreadsheets
Processes Excel spreadsheet files (.xlsx, .xlsm, .csv). Creates workbooks, builds formulas, preserves formatting, analyzes tabular data, and validates financial models with zero-formula-error delivery. Use when working with spreadsheet files or tabular data analysis. Do NOT use
Open skill - /applying-ui-design-system
Frontend UI design system selector and implementation guide covering Glassmorphism, Liquid Glass (Apple-style), Neubrutalism, and Claymorphism. Use when building UI components, choosing a visual aesthetic, implementing design tokens, or auditing accessibility/contrast on themed
Open skill - /architecting-security
安全架构与治理:威胁建模 (STRIDE/PASTA/LINDDUN)、零信任身份架构、IAM/SSO/MFA/PAM、合规框架 (SOC2/PCI/HIPAA/GDPR)、DLP、隐私工程、安全控制设计。Use when designing security architecture, threat modeling new systems, implementing zero-trust identity, designing IAM/SSO/PAM, building compliance evidence chains, or planning
Open skill - /automating-devops
DevOps knowledge reference covering Git workflows, testing strategies, DevSecOps, release pipeline orchestration (release.yml, multi-arch images, cosign integration), CI/CD pipelines, database management, observability, and performance optimization. Use when working with Git,
Open skill

