← ClaudeAtlas

kicad-reviewlisted

Review KiCad schematic/PCB changes with agent-readable evidence: visual pixel diff between revisions, semantic tree diff, ERC/DRC set-diff vs baseline, and the forum-distilled rule canon. Use before committing any schematic/PCB change, when asked to review a design, or to compare revisions.
AvatarSD/KiSkill · ★ 0 · Code & Development · score 72
Install: claude install-skill AvatarSD/KiSkill
# Design review: triple diff + rule canon ## Triple diff (vs git baseline) **Implemented:** `cd $(kx root) && python3 -m kicad_lib.cli diff REV /abs/path/FILE.kicad_sch` → JSON with `semantic` (symbols added/removed/moved/changed, labels, count deltas), `pixel` (changed_px + bbox_mm + composite path), `erc_new`/`erc_gone`. Artifacts land in `~/.cache/kx_scratch/` (never /tmp — flatpak kicad-cli can't see host /tmp): `diff.png` composite (grey = unchanged, red = removed, green = added). Crop the bbox_mm region and Read it as evidence. Python API: `probe()` lives in `kicad_lib.cli` (NOT .source); `diff.semantic_diff(probe_a, probe_b)` takes its dicts. `kx diff` needs the FILE inside a git repo (baseline = revision); for two loose files call `diff.render_png`/`pixel_diff`/`semantic_diff` directly. Crop formula: px = mm * render_width_px / paper_width_mm (A4=297, A3=420; render default 2400 px wide). Gotchas baked into kicad_lib/diff.py — keep them if reimplementing: - kicad-cli `--no-background-color` SVGs rasterize to TRANSPARENT PNGs; flatten onto white before grayscale or `convert("L")` maps the whole background to black and the diff goes blind. - ERC report lines normalize to `type @(x mm, y mm)`; set-diff both ways. ## Reading common ERC codes (fix, don't just silence) - `power_pin_not_driven` — a power INPUT pin has no driver on its rail. NOT a wiring bug: add `power:PWR_FLAG` at the rail's passive source (connector/battery/regulator INPUT), one per rail. PWR