kicad-componentlisted
Install: claude install-skill AvatarSD/KiSkill
# Component sourcing & indexing
## Local search order
1. Project libs (sym-lib-table next to .kicad_pro, `${KIPRJMOD}` URIs).
2. 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_sym` then extract
the balanced block with `kicad_lib.sexp`.
3. **Index (implemented):** `kx find dual comparator` → ranked lib_id hits
with description/keywords/pins. First run `kx index [PROJECT_LIB_DIR]`
(22k official symbols ≈ 20 s once; mtime-incremental ≈ 0.1 s after).
DB: ~/.cache/kx_scratch/symbols.sqlite; `extends` children 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 fet