Kicad component
Agent skills + headless Python engine giving an AI coding agent full control of KiCad — edit, verify, review & fabricate schematics and PCBs, no GUI.
npx -y skills add AvatarSD/KiSkill --skill kicad-componentAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Find, fetch, and register KiCad components: search local/official symbol and footprint libraries, download missing parts from the internet (easyeda2kicad by LCSC id, SnapEDA/UltraLibrarian zips), and register them in project lib tables. Use when a schematic needs a part that is not already in the project.
SKILL.md
2.2 KB, as published. Nobody here has run it
Component sourcing & indexing
Local search order
- Project libs (sym-lib-table next to .kicad_pro,
${KIPRJMOD}URIs). - Official flatpak libs:
~/.local/share/flatpak/runtime/org.kicad.KiCad.Library.Symbols/x86_64/stable/active/files/symbols/*.kicad_sym(footprints idem,.../Library.Footprints/.../footprints/*.pretty). Grep symbol names:grep -l '(symbol "NAME' *.kicad_symthen extract the balanced block withkicad_lib.sexp. - Index (implemented):
kx find dual comparator→ ranked lib_id hits with description/keywords/pins. First runkx index [PROJECT_LIB_DIR](22k official symbols ≈ 20 s once; mtime-incremental ≈ 0.1 s after). DB: ~/.cache/kx_scratch/symbols.sqlite;extendschildren inherit base description/keywords so families are searchable.
Internet fetch
- LCSC/JLC part known (implemented, preferred):
kx fetch C25804 /path/to/project→ symbol + footprint + 3D (wrl+step) in PROJECT/libs/ AND both lib tables registered (${KIPRJMOD} URIs), idempotent. Binary lives in the repo .venv (PEP 668 box); fetch needs real network (sandbox blocks DNS — run unsandboxed). v1.0.1 quirk handled: --project-relative resolves against CWD, so kx runs it from the project dir. - SnapEDA/UltraLibrarian zip (implemented; user downloads, no open
API):
kx import-zip part.zip /path/to/project→ libs/<name>.kicad_sym + .pretty + tables; legacy .lib auto-upgraded via kicad-cli sym upgrade. - Always sanity-check fetched footprints visually: render via
kicad-cli pcb export svgon a scratch board, compare against the datasheet land pattern. Internet footprints are guilty until proven.
Registration
Append to project sym-lib-table: (lib (name "x")(type "KiCad") (uri "${KIPRJMOD}/x.kicad_sym")(options "")(descr "")) — same shape for
fp-lib-table with a .pretty dir URI. Missing tables: create them.