librarian — скилл для Claude Code: пакеты компонентов в PCB-реестре
Создаёт и чинит переиспользуемые пакеты компонентов и модулей в реестре печатных плат: символы, посадочные места, схемы включения.
npx skills add diodeinc/pcb --skill librarian -a claude-codeЧто делает librarian
Скилл ведёт работу в текущем реестре: сначала ищет подходящий пакет, потом расширяет его или заводит новый. Для новой единицы сразу определяется итоговая папка и pcb.toml, чтобы содержимое было видно по мере написания. По ходу дела подключаются артефактные скиллы kicad-symbol, kicad-footprint, zener-language и module-layout.
Компонентные пакеты кладутся в components/<Manufacturer>/<NAME>/ — с pcb.toml, точками входа .zen, выверенными символами и посадочными местами, плюс README.md. Каждый .zen рядом с pcb.toml считается публичной точкой входа и описывает одну цельную схему. В README.md идут примеры использования, а проектные обоснования — в docstring .zen: режим применения, семейство, рабочий диапазон, что берёт на себя интегратор.
Даташитные факты и пределы скилл не выдумывает, ссылку на даташит держит в метаданных, а скачанные PDF в пакет не кладёт. Простая деталь вроде разъёма или пассивного элемента остаётся примитивом, если требования или рекомендации производителя не задают схему включения. pcb embed-step переписывает все ссылки на модели в посадочном месте, поэтому сначала стоит зафиксировать один проверенный трансформ модели. Это повод проверить посадочное место до коммита: после встраивания откатить его к прежнему виду уже не выйдет.
Какие задачи решает
- завести пакет компонента с символами и посадочным местом
- починить неверное посадочное место по авторитетному источнику
- сгруппировать семейство деталей с общим цоколёвщиком и топологией
- подобрать развязку по даташиту вместо привычной пары конденсаторов
- описать публичный API модуля и границы ответственности интегратора
Примеры запросов агенту
- создай пакет для этого преобразователя напряжения в текущем реестре
- проверь посадочное место у этого компонента и замени, если оно неверное
- сгруппируй эти MPN в одно семейство с селектором по config()
Как установить librarian
1Через Skills CLI (Vercel)
npx skills add diodeinc/pcb --skill librarian -a claude-code2Вручную: положить файлы
~/.claude/skills/librarian/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/librarian/
1Через Skills CLI (Vercel)
npx skills add diodeinc/pcb --skill librarian -a codex2Вручную: положить файлы
.agents/skills/librarian/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add diodeinc/pcb --skill librarian -a cursor2Вручную: положить файлы
.cursor/skills/librarian/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install diodeinc/pcb librarian2Вручную: положить файлы
.github/skills/librarian/SKILL.md1Через Skills CLI (Vercel)
npx skills add diodeinc/pcb --skill librarian -a gemini-cli2Командой платформы
gemini skills install https://github.com/diodeinc/pcb --path skills/librarianВручную: положить файлы
.devin/skills/librarian/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add diodeinc/pcb --skill librarian -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Из того же набора4
Похожие
Рядом в теме «Настройка агента: память, контекст, субагенты»
Все скиллы по теме «Настройка агента: память, контекст, субагенты» →Вопросы о librarian
Как установить librarian в Claude?
Выполните npx skills add diodeinc/pcb --skill librarian -a claude-code. Скилл появится в ~/.claude/skills/librarian/SKILL.md.
Что делает librarian?
Создаёт и ремонтирует пакеты компонентов и модулей в реестре печатных плат: символы, посадочные места, схемы включения и точки входа .zen, которые потом можно искать и подключать.
Что нужно, чтобы скилл работал?
Работа идёт в текущем реестре, для артефактов привлекаются скиллы kicad-symbol, kicad-footprint, zener-language и module-layout. Ссылка на даташит хранится в метаданных, а не в виде скачанного PDF.
Исходный текст
SKILL.md · MIT
---
name: librarian
description: Create or repair reusable component and module packages in a PCB registry.
---
# Librarian
Create sourceable, evidence-backed packages that board designers can search
and instantiate. Work in the current registry; dispatch another librarian
only when the user asks. Use the artifact skills as needed: `kicad-symbol`,
`kicad-footprint`, `zener-language`, and `module-layout`.
## Package scope
Search the registry before creating a package.
Inspect and extend a suitable existing package, including published results.
Group a family when it shares footprint, pinout, feature set, and fundamental
schematic topology. Use separate packages when those contracts differ. For a
new package, establish its final directory and `pcb.toml` before authoring so
its evolving content is discoverable.
Keep simple parts such as connectors and passives primitive unless user
requirements or manufacturer guidance establish an application circuit. An
unspecified request for a reference design does not justify inventing board
wiring, protection, passive values, or a layout. Include datasheet-required or
strongly recommended support circuitry when warranted by the requested package;
respect a primitive-only request.
Curate the relevant symbols, footprints, and pin maps before building circuitry
on them. Do not invent datasheet facts, limits, or sourcing claims. Focused
repairs need only the relevant curation stages. Keep the datasheet URL in
metadata; do not check downloaded PDFs into the package.
## Curate symbols, footprints, and models
- Functional silicon variants need distinct symbols; ordering-only variants
such as tape/reel, temperature grade, or RoHS suffixes do not.
- An MPN match or resemblance to a reference footprint does not establish
footprint correctness. Requested creation or repair includes replacing an
incorrect candidate or generating one from authoritative evidence; ask only
if required geometry remains unresolved. Review-only work produces findings.
- For an accepted footprint, set `Datasheet` to the authoritative geometry
source and `Description` to its package and evidence basis.
- Embed a verified STEP for the exact package, or make its absence and impact
explicit. A known-wrong model is not an acceptable substitute.
`pcb embed-step` rewrites every model reference in the footprint, so settle
one verified model transform before embedding. Inspect the embedded result and
do not commit the standalone STEP.
## Public API and reference circuits
Component packages belong under `components/<Manufacturer>/<NAME>/` with
`pcb.toml`, `.zen` entrypoints, curated symbol/footprint files, and `README.md`.
Use `modules/` for higher-level functional blocks; do not add to the legacy
`reference/` or `connectors/` trees.
Each top-level `.zen` beside `pcb.toml` is a public entrypoint. Represent one
coherent primitive or application circuit per entrypoint; instantiate
`Component()` and its support circuitry directly instead of adding a thin
primitive-only wrapper. Additional application circuits can use separate
entrypoints. Follow `zener-language` for stable topology and layout declarations.
Expose application-level IO and configs. Keep implementation nodes internal
unless access is necessary. Include only reusable support circuitry: decoupling,
feedback, compensation, bootstrap, bias, reset, straps, or a supported
application topology. Leave board-specific, underspecified, already-provided,
or unverified circuitry to the integrator.
Choose decoupling from the datasheet, effective capacitance, ESL, placement,
inrush, and regulator stability. Prefer one compact low-ESL MLCC per supply
pin when valid; do not add a 100 nF/bulk pair by habit. A larger capacitor in
the same package may suffice, but account for DC bias and resonance.
Put usage examples and concise integration notes in `README.md`. Put design
evidence in the `.zen` docstring: application mode, exact package/family,
operating envelope, IO/config assumptions, included versus integrator-owned
circuitry, physical constraints, and the datasheet equations or tables behind
important choices. If consumers must change code, layout, or assumptions to
adopt an update, document the migration and mark it breaking.
## Families and sourcing
Derive package names from the functional MPN pattern, dropping ordering-only
suffixes and using lowercase `x` for meaningful family differences. Excessive
masking indicates an overbroad family. A selector can use a compact table of
MPNs, symbols, limits, and properties filtered by `config()`.
Use the first match as `part=` and put remaining drop-in equivalents of that
selection in `properties={"alternatives": ...}`. Alternatives must be freely
swappable without changing electrical behavior, footprint, or fit; mutually
exclusive functional or mechanical configurations are not alternatives.
For otherwise equivalent MPNs, prefer automated-assembly packaging: tape/reel
or cut tape, then tray, tube, and bulk. Prefer manufacturer pickup aids for
non-flat parts; flag an unavoidable pickup limitation.
Express requirements through stdlib generic parameters; set `mpn` or
`manufacturer` only when those parameters cannot represent the design. Use
`pcb bom <entrypoint>.zen -f json` when checking changed part selection or
sourceability.
Report verified results, public API or layout effects, sourcing compromises,
and any remaining evidence or model gaps. A focused repair does not require
re-curating an unchanged package.
© diodeinc · MIT · diodeinc/pcb