kicad-cli
KiCad command-line interface expertise. Complete reference for schematic/PCB exports, DRC/ERC validation, manufacturing outputs, and automation.
How do I install this agent skill?
npx skills add https://github.com/o2scale/electronics-agent-kit --skill kicad-cliIs this agent skill safe to install?
- Gen Agent Trust Hubpass
The skill provides a comprehensive reference and automation examples for the KiCad 8.x command-line interface. It includes standard workflows for exporting manufacturing files and running validation checks without any detected security risks.
- Socketpass
No alerts
- Snykpass
Risk: LOW · No issues
- Runlayerwarn
1/1 file flagged
What does this agent skill do?
KiCad CLI Reference
Complete command reference for kicad-cli (KiCad 8.x)
1. Command Structure
kicad-cli <application> <command> [options] <input-file>
Applications:
sch- Schematic operationspcb- PCB operationsfp- Footprint operationssym- Symbol operations
2. Schematic Commands
Export Netlist
kicad-cli sch export netlist \
--output project.net \
project.kicad_sch
Export BOM
# Basic BOM
kicad-cli sch export bom \
--output bom.csv \
project.kicad_sch
# With specific fields
kicad-cli sch export bom \
--output bom.csv \
--fields "Reference,Value,Footprint,LCSC,MPN" \
--group-by "Value,Footprint" \
--sort-asc \
project.kicad_sch
Export PDF
kicad-cli sch export pdf \
--output schematic.pdf \
--black-and-white \
project.kicad_sch
Export SVG
kicad-cli sch export svg \
--output ./svg/ \
--black-and-white \
project.kicad_sch
Run ERC (Electrical Rules Check)
kicad-cli sch erc \
--output erc-report.rpt \
--severity-all \
--exit-code-violations \
project.kicad_sch
Options:
--severity-all- Report all severities--severity-error- Only errors--exit-code-violations- Return non-zero on violations
3. PCB Commands
Run DRC (Design Rules Check)
kicad-cli pcb drc \
--output drc-report.rpt \
--severity-all \
--exit-code-violations \
project.kicad_pcb
Export Gerbers
kicad-cli pcb export gerbers \
--output ./gerbers/ \
--layers "F.Cu,B.Cu,F.SilkS,B.SilkS,F.Mask,B.Mask,Edge.Cuts" \
--subtract-soldermask \
project.kicad_pcb
Common layers:
F.Cu,B.Cu- Copper layersIn1.Cu,In2.Cu- Inner copper layersF.SilkS,B.SilkS- SilkscreenF.Mask,B.Mask- Solder maskF.Paste,B.Paste- Solder pasteEdge.Cuts- Board outlineF.Fab,B.Fab- Fabrication layers
Export Drill Files
kicad-cli pcb export drill \
--output ./gerbers/ \
--format excellon \
--excellon-units mm \
--generate-map \
--map-format pdf \
project.kicad_pcb
Options:
--format excellon- Standard drill format--excellon-units mmorin--excellon-zeros-format decimal--generate-map- Create drill map--map-format gerberx2|ps|pdf|svg|dxf
Export Position/Pick-and-Place
kicad-cli pcb export pos \
--output positions.csv \
--format csv \
--units mm \
--side front \
--exclude-dnp \
project.kicad_pcb
Options:
--format csv|ascii--units mm|in--side front|back|both--exclude-dnp- Exclude Do Not Populate
Export 3D Models
# STEP format (for mechanical CAD)
kicad-cli pcb export step \
--output project.step \
--subst-models \
project.kicad_pcb
# VRML format
kicad-cli pcb export vrml \
--output project.wrl \
project.kicad_pcb
Export PDF
kicad-cli pcb export pdf \
--output pcb.pdf \
--layers "F.Cu,B.Cu,Edge.Cuts" \
--black-and-white \
project.kicad_pcb
Export SVG
kicad-cli pcb export svg \
--output pcb.svg \
--layers "F.Cu,Edge.Cuts" \
--black-and-white \
project.kicad_pcb
Export DXF
kicad-cli pcb export dxf \
--output pcb.dxf \
--layers "Edge.Cuts" \
project.kicad_pcb
4. Footprint Commands
Export SVG
kicad-cli fp export svg \
--output footprint.svg \
footprint.kicad_mod
Upgrade Footprint Library
kicad-cli fp upgrade \
--output ./upgraded/ \
./library.pretty/
5. Symbol Commands
Export SVG
kicad-cli sym export svg \
--output ./symbols/ \
library.kicad_sym
Upgrade Symbol Library
kicad-cli sym upgrade \
--output upgraded.kicad_sym \
legacy.lib
6. Common Options
| Option | Description |
|---|---|
--help | Show command help |
--output, -o | Output file/directory |
--define-var | Define text variable |
--force, -f | Overwrite existing files |
7. Automation Examples
CI/CD Build Script
#!/bin/bash
set -euo pipefail
PROJECT="myproject"
# Run ERC
echo "Running ERC..."
kicad-cli sch erc \
--output reports/erc.rpt \
--exit-code-violations \
${PROJECT}.kicad_sch
# Run DRC
echo "Running DRC..."
kicad-cli pcb drc \
--output reports/drc.rpt \
--exit-code-violations \
${PROJECT}.kicad_pcb
# Generate manufacturing files
echo "Generating manufacturing files..."
mkdir -p output/gerbers
kicad-cli pcb export gerbers \
--output output/gerbers/ \
--layers "F.Cu,B.Cu,F.SilkS,B.SilkS,F.Mask,B.Mask,Edge.Cuts" \
${PROJECT}.kicad_pcb
kicad-cli pcb export drill \
--output output/gerbers/ \
--format excellon \
${PROJECT}.kicad_pcb
# Generate BOM
kicad-cli sch export bom \
--output output/bom.csv \
--fields "Reference,Value,Footprint,LCSC,MPN" \
${PROJECT}.kicad_sch
# Generate position file
kicad-cli pcb export pos \
--output output/positions.csv \
--format csv \
--units mm \
${PROJECT}.kicad_pcb
echo "Done!"
JLCPCB Preparation
#!/bin/bash
PROJECT="$1"
OUTPUT="./jlcpcb"
mkdir -p "$OUTPUT"
# Gerbers (zip for upload)
kicad-cli pcb export gerbers \
--output "$OUTPUT/" \
--layers "F.Cu,B.Cu,F.SilkS,B.SilkS,F.Mask,B.Mask,Edge.Cuts" \
"${PROJECT}.kicad_pcb"
kicad-cli pcb export drill \
--output "$OUTPUT/" \
--format excellon \
--excellon-units mm \
"${PROJECT}.kicad_pcb"
cd "$OUTPUT" && zip -r gerbers.zip *.g* *.drl && cd -
# BOM for assembly
kicad-cli sch export bom \
--output "$OUTPUT/bom.csv" \
--fields "Comment,Designator,Footprint,LCSC" \
"${PROJECT}.kicad_sch"
# CPL (Component Placement List)
kicad-cli pcb export pos \
--output "$OUTPUT/cpl.csv" \
--format csv \
--units mm \
--side front \
"${PROJECT}.kicad_pcb"
8. Exit Codes
| Code | Meaning |
|---|---|
| 0 | Success |
| 1 | General error |
| 2 | DRC/ERC violations found (with --exit-code-violations) |
9. Important Notes
What kicad-cli CAN Do
- Export files (Gerber, PDF, SVG, netlist, BOM, 3D)
- Run validation (DRC, ERC)
- Upgrade library formats
- Automation and CI/CD
What kicad-cli CANNOT Do
- Modify designs (add components, routes)
- Edit schematic/PCB content
- Interactive operations
For design modifications, use:
- File manipulation (S-expression format)
- KiCad Python scripting console
- KiCad IPC API (experimental)
Version: This reference is for KiCad 8.x. Commands may differ in older versions.
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/o2scale/electronics-agent-kit/kicad-cli">View kicad-cli on skillZs</a>