kicad-schematic

Installation
SKILL.md

KiCad Schematic Agent

Generate ERC-clean KiCad 8/9 schematics by writing Python scripts that use computed pin positions — never guess coordinates. Also fix ERC errors on existing schematics and handle KiCad 8→9 migration.

Critical Principle

The #1 cause of broken schematics is guessed pin positions. When connecting labels to IC pins, you MUST compute exact coordinates using the symbol definition's pin positions and the coordinate transform formula. The helper library in scripts/kicad_sch_helpers.py does this automatically.

The Y-axis Trap (Most Common Bug)

Symbol libraries (.kicad_sym) use Y-up (math convention). Schematics (.kicad_sch) use Y-down (screen convention). This means you MUST negate the Y coordinate when transforming from library to schematic space. Forgetting this will place labels 10-50mm away from their pins, causing massive pin_not_connected and label_dangling errors.

Transform formula — pin at library (px, py), symbol placed at schematic (sx, sy) with rotation R:

  • Rotation 0: schematic position = (sx + px, sy - py)
  • Rotation 90: schematic position = (sx + py, sy + px)
  • Rotation 180: schematic position = (sx - px, sy + py)
  • Rotation 270: schematic position = (sx - py, sy - px)

Always use pin_abs() from the helper library — never compute these by hand.

Installs
128
First Seen
Feb 21, 2026