KiCad PCB

Automate PCB design with KiCad. Create schematics, design boards, export Gerbers, order from PCBWay. Full design-to-manufacturing pipeline.

MIT-0 · Free to use, modify, and redistribute. No attribution required.
2 · 1.8k · 2 current installs · 2 all-time installs
MIT-0
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
medium confidence
Purpose & Capability
The name/description (KiCad automation, Gerber export, PCBWay ordering) aligns with the files and runtime behavior: the script creates projects, runs kicad-cli, exports Gerbers, packages ZIPs, and includes PCBWay-related commands. skill.json and SKILL.md consistently require kicad-cli and optional Python packages (cairosvg, pillow).
Instruction Scope
The SKILL.md stays on task: it instructs using kicad-cli, the included Python script, and a config file under ~/.kicad-pcb. It promises manual confirmation before ordering and currently requires manual upload to PCBWay. Note: SKILL.md and the script read/write files under the user's home (~/.kicad-pcb and ~/kicad-projects), which is expected for this purpose but worth understanding as the skill will create and modify those files.
Install Mechanism
There is no install spec (instruction-only with a bundled script). That minimizes supply-chain risk compared to remote fetch/install steps. The script relies on local KiCad and Python packages; installation instructions are standard and local.
Credentials
The skill declares no required environment variables or credentials, and the config file (~/.kicad-pcb/config.json) is used to store preferences (including a pcbway/email block). This is reasonable. One minor inconsistency: SKILL.md and commands mention PCBWay actions (pcbway-upload, pcbway-cart that require auth) but skill.json does not declare any credential requirement and SKILL.md does not specify how auth should be stored (env var vs config). Confirm how PCBWay credentials are handled before enabling any automated upload functionality.
Persistence & Privilege
always is false; the skill is user-invocable and may run autonomously per platform defaults. The script only writes its own config and project files in the user's home directory and does not appear to modify other skills or system-wide settings. This level of persistence and privileges is proportional to its purpose.
Assessment
This skill appears to do what it says: it creates KiCad projects, runs kicad-cli, generates Gerbers and ZIPs, and provides commands related to PCBWay. Before installing or running it, consider the following: - Inspect the full scripts: I reviewed a large portion but the provided source was truncated; review the complete scripts for any network calls, hidden endpoints, or credential-handling logic (look for requests, urllib, httpx, sockets, or subprocess calls that run curl/wget). - Understand where credentials go: PCBWay integration is mentioned. Currently SKILL.md says manual upload is required, but some commands indicate future/optional automated upload/cart placement. Confirm whether PCBWay authentication is stored in ~/.kicad-pcb/config.json (file on disk) or expected as environment variables, and prefer a manual flow or use temporary credentials if you are concerned. - Expect local file writes: the skill will create ~/.kicad-pcb/ and ~/kicad-projects/ and write project files and reports. Back up any important files and verify file locations if you have storage/permission concerns. - Run in a controlled environment first: if you are unsure about provenance (owner is unknown and repository/homepage are external), consider running the tool in a VM or isolated environment until you are comfortable. - Verify kicad-cli and dependencies are from trusted sources: install KiCad from the official site or your OS package manager. The Python dependencies are standard (pillow, cairosvg). If you want, I can further inspect the remaining (truncated) parts of scripts/kicad_pcb.py for any network or credential-handling code and re-evaluate the confidence level.

Like a lobster shell, security has layers — review code before you run it.

Current versionv1.0.0
Download zip
latestvk97ff24wc3w3fgs1x7jnqgdmcx80dmdk

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

SKILL.md

🔧 KiCad PCB Automation

Design → Prototype → Manufacture

Automate PCB design workflows using KiCad. From natural language circuit descriptions to manufacturing-ready Gerber files.

What This Skill Does

  1. Design — Create schematics from circuit descriptions
  2. Layout — Design PCB layouts with component placement
  3. Verify — Run DRC checks, generate previews for review
  4. Export — Generate manufacturing files (Gerbers, drill files, BOM)
  5. Order — Prepare and place orders on PCBWay

Requirements

KiCad Installation

# Ubuntu/Debian
sudo add-apt-repository ppa:kicad/kicad-8.0-releases
sudo apt update
sudo apt install kicad

# Verify CLI
kicad-cli --version

Python Dependencies

pip install pillow cairosvg

Quick Start

# 1. Create a new project
python3 scripts/kicad_pcb.py new "LED Blinker" --description "555 timer LED blinker circuit"

# 2. Add components to schematic
python3 scripts/kicad_pcb.py add-component NE555 U1
python3 scripts/kicad_pcb.py add-component LED D1
python3 scripts/kicad_pcb.py add-component "R 1K" R1 R2

# 3. Generate schematic preview (for review)
python3 scripts/kicad_pcb.py preview-schematic

# 4. Run design rule check
python3 scripts/kicad_pcb.py drc

# 5. Export manufacturing files
python3 scripts/kicad_pcb.py export-gerbers

# 6. Prepare PCBWay order
python3 scripts/kicad_pcb.py pcbway-quote --quantity 5

Commands

Project Management

CommandDescription
new <name>Create new KiCad project
open <path>Open existing project
infoShow current project info
list-projectsList recent projects

Schematic Design

CommandDescription
add-component <type> <ref>Add component to schematic
connect <ref1.pin> <ref2.pin>Wire components together
add-net <name> <refs...>Create named net
preview-schematicGenerate schematic image
ercRun electrical rules check

PCB Layout

CommandDescription
import-netlistImport schematic to PCB
auto-placeAuto-place components
auto-routeAuto-route traces
set-board-size <W>x<H>Set board dimensions (mm)
preview-pcbGenerate PCB preview images
drcRun design rules check

Manufacturing Export

CommandDescription
export-gerbersExport Gerber files
export-drillExport drill files
export-bomExport bill of materials
export-posExport pick-and-place file
export-3dExport 3D model (STEP/GLB)
package-for-fabCreate ZIP with all files

PCBWay Integration

CommandDescription
pcbway-quoteGet instant quote
pcbway-uploadUpload Gerbers to PCBWay
pcbway-cartAdd to cart (requires auth)

Workflow: Natural Language to PCB

Step 1: Describe Your Circuit

Tell me what you want to build:

"I need a simple 555 timer circuit that blinks an LED at about 1Hz. Should run on 9V battery, through-hole components for easy soldering."

Step 2: I'll Generate the Design

# Create project
kicad_pcb.py new "LED_Blinker_555"

# Add components based on description
kicad_pcb.py from-description "555 timer LED blinker, 1Hz, 9V battery"

Step 3: Review & Confirm

I'll show you:

  • Schematic preview image
  • Component list (BOM)
  • Calculated values (resistors for timing, etc.)

You confirm or request changes.

Step 4: PCB Layout

# Import to PCB
kicad_pcb.py import-netlist

# Auto-layout (or manual guidance)
kicad_pcb.py auto-place --strategy compact
kicad_pcb.py set-board-size 50x30

# Preview
kicad_pcb.py preview-pcb --layers F.Cu,B.Cu,F.Silkscreen

Step 5: Manufacturing

# Run final checks
kicad_pcb.py drc --strict

# Export everything
kicad_pcb.py package-for-fab --output LED_Blinker_fab.zip

# Get quote
kicad_pcb.py pcbway-quote --quantity 10 --layers 2 --thickness 1.6

Common Circuit Templates

templates/555_astable.kicad_sch

Classic 555 timer in astable mode. Parameters:

  • R1, R2: Timing resistors
  • C1: Timing capacitor
  • Freq ≈ 1.44 / ((R1 + 2*R2) * C1)

templates/arduino_shield.kicad_pcb

Arduino Uno shield template with:

  • Header footprints
  • Mounting holes
  • Power rails

templates/usb_c_power.kicad_sch

USB-C power delivery (5V):

  • USB-C connector
  • CC resistors
  • ESD protection

Configuration

Create ~/.kicad-pcb/config.json:

{
  "default_fab": "pcbway",
  "pcbway": {
    "email": "your@email.com",
    "default_options": {
      "layers": 2,
      "thickness": 1.6,
      "color": "green",
      "surface_finish": "hasl"
    }
  },
  "kicad_path": "/usr/bin/kicad-cli",
  "projects_dir": "~/kicad-projects",
  "auto_backup": true
}

Design Review Protocol

Before ordering, I'll always:

  1. Show schematic — Visual confirmation of circuit
  2. Show PCB renders — Top, bottom, 3D view
  3. List BOM — All components with values
  4. Report DRC — Any warnings or errors
  5. Show quote — Cost breakdown before ordering

I will NOT auto-order without explicit confirmation.

PCBWay Order Flow (Current)

  1. Export Gerbers + drill files
  2. Create ZIP package
  3. Manual step: You upload to pcbway.com
  4. Future: Automated upload + cart placement

Cost Reference

PCBWay typical pricing (2-layer, 100x100mm, qty 5):

  • Standard (5-7 days): ~$5
  • Express (3-4 days): ~$15
  • Shipping: ~$15-30 DHL

Safety Notes

⚠️ High Voltage Warning: This skill does not validate electrical safety. For mains-connected circuits, consult a qualified engineer.

⚠️ No Auto-Order (Yet): Cart placement requires your explicit confirmation.

Changelog

v1.0.0

  • Initial release
  • KiCad CLI integration
  • Schematic/PCB preview generation
  • Gerber export
  • PCBWay quote integration
  • Template system

Built by PaxSwarm

Files

3 total
Select a file
Select a file to preview.

Comments

Loading comments…