Skip to content
Back to skills

Kicad Component

ASecurity

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.

  • 5 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added October 18, 2026
ai-agentssqlapi

Works with

  • cli
  • api

Security analysis

A100/100

Scanned October 18, 2026

npx -y skills add AvatarSD/KiSkill --skill kicad-component --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Kicad Component?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Kicad Component
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/avatarsd-kicad-component/badge)](https://www.skillsdirectory.com/skills/avatarsd-kicad-component)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: kicad-component
description: >
  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.
---

# 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 fetched footprints visually: render via
  `kicad-cli pcb export svg` on 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.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.