К основному содержанию
скилл CX Codex

element14 — скилл для Claude Code: поиск деталей и даташитов

Ищет компоненты в Newark, Farnell и element14 по MPN или артикулу, показывает цены и остатки, качает даташиты в папку проекта KiCad.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add aklofas/kicad-happy --skill element14 -a claude-code
Открыть на GitHub

Что делает element14

Скилл работает через один API для трёх витрин: Newark для США, Farnell для Великобритании и Европы, element14 для Азиатско-Тихоокеанского региона. Каталог и даташиты общие, различаются цены и наличие. Поиск идёт по ключевым словам, по manuPartNum:<mpn> или по артикулу дистрибьютора id:<sku>.

Авторизация простая: ключ передаётся параметром запроса, без OAuth. Ключ бесплатный, регистрируется на partner.element14.com, перед запуском скриптов его нужно положить в переменную окружения ELEMENT14_API_KEY. Даташиты лежат на CDN farnell.com и скачиваются напрямую, бот-защиты там нет — это заметно проще, чем у DigiKey и Mouser.

Скилл умеет синхронизировать локальную папку с даташитами для проекта KiCad. Для массовых задач без проекта есть пакетный режим по списку MPN через --mpn-list. Учтите: бесплатный ключ даёт ограниченную квоту обращений, поэтому скрипты советуют выдерживать паузу между вызовами. За таблицами кросс-референсов корпусов и работой с BOM идите в скилл bom.

Какие задачи решает

  • найти деталь по MPN в Newark или Farnell
  • сравнить цену и наличие между регионами
  • скачать даташит без обхода бот-защиты
  • собрать локальную папку даташитов для проекта KiCad
  • прогнать список MPN пакетом без открытия проекта

Примеры запросов агенту

  • найди в Farnell деталь по MPN GRM155R71C104KA88D и покажи цену
  • скачай даташиты для всех компонентов из этой схемы KiCad
  • прогони список MPN из файла и собери таблицу цен по регионам

Как установить element14

1Через Skills CLI (Vercel)

npx skills add aklofas/kicad-happy --skill element14 -a claude-code

2Вручную: положить файлы

~/.claude/skills/element14/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/element14/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Из того же набора12

lcsc Ищет электронные компоненты в каталоге LCSC по коду Cxxxxx или MPN, проверяет остатки, цены и скачивает даташиты. Пригодится при подготовке BOM для монтажа печатных плат на JLCPCB. CX Codex +1 638установок spice Гоняет SPICE-симуляции по подсхемам из анализа KiCad-схемы: фильтры, делители, каскады на ОУ, кварцы. Проверяет расчётные значения против реального прогона. CX Codex +1 624установок emc Проверяет печатные платы KiCad на электромагнитную совместимость до заказа образцов. Находит 44 типа проблем разводки, полигонов и цепей питания. CX Codex +1 612установок datasheets Извлекает характеристики и цоколёвку микросхем из PDF-даташитов в структурированный JSON для анализа схем. CX Codex +1 600установок digikey Ищет электронные компоненты в DigiKey, проверяет цены и наличие, скачивает даташиты. Пригодится для прототипов и синхронизации данных со схемой. CX Codex +1 508установок mouser Ищет электронные компоненты в Mouser, сверяет цену, наличие и параметры. Пригодится для подбора деталей и работы со спецификацией KiCad. CX Codex +1 490установок pcbway Помогает агенту разобраться с заказом плат и сборки на PCBWay: правила проектирования, формат BOM, ход заказа. Пригодится, когда деталей нет на LCSC. CX Codex +1 483установок kicad-happy Разбирает схемы, печатные платы и герберы KiCad, считает номиналы и находит ошибки до заказа плат. ★ 1 504звёзд репо

Похожие

datasheet-and-refmanual-reading mohitmishra786 Учит агента читать даташиты и reference manual микроконтроллеров: где искать карту регистров, биты, дерево тактирования и errata. CX Codex +1 314установок zener-language diodeinc Помогает читать и править Zener HDL для схем, компонентов, пакетов и зависимостей. Нужен при работе с файлами .zen и проектами PCB. CX Codex +1 1 700установок librarian diodeinc Создаёт и чинит переиспользуемые пакеты компонентов и модулей в реестре печатных плат: символы, посадочные места, схемы включения. CX Codex +1 539установок convex-create-component convex Скилл помогает создавать переиспользуемые Convex-компоненты с изолированными таблицами и чётким API. Пригодится, когда нужно выделить backend-логику в отдельный модуль или собрать интеграцию, которая владеет своими данными. CX Codex +1 130 900установок shadcn shadcn-ui Скилл ведёт агента по работе с shadcn/ui: добавляет компоненты, ищет в реестрах, чинит верстку и собирает дизайн-систему по вашему описанию. CX Codex +1 123 300установок resend resend Скилл для работы с Resend Email API: отправка транзакционных писем, приём входящих через вебхуки, шаблоны, домены и логи запросов. CX Codex +1 23 400установок

Рядом в теме «Настройка агента: память, контекст, субагенты»

Все скиллы по теме «Настройка агента: память, контекст, субагенты» →

Вопросы о element14

Как установить element14 в Claude?

Выполните npx skills add aklofas/kicad-happy --skill element14 -a claude-code. После этого файл скилла появится по пути ~/.claude/skills/element14/SKILL.md.

Что делает element14?

Ищет электронные компоненты в Newark, Farnell и element14, проверяет цены и остатки, скачивает даташиты и разбирает параметры деталей. Один API покрывает все три витрины.

Что нужно для работы скилла?

Бесплатный API-ключ с partner.element14.com и переменная окружения ELEMENT14_API_KEY. Ключ выдаётся с ограниченной квотой обращений.

Исходный текст

SKILL.md · MIT
---
name: element14
description: Search Newark, Farnell, and element14 for electronic components — find parts by MPN or distributor part number, check pricing/stock, download datasheets, analyze specifications. One unified API covers all three storefronts (Newark for US, Farnell for UK/EU, element14 for APAC). Free API key, simple query-parameter auth, no OAuth. Datasheets download directly from farnell.com CDN with no bot protection. Sync and maintain a local datasheets directory for a KiCad project, or use batch MPN-list seeding (`--mpn-list`) for bulk workflows without a project. Use this skill when the user mentions Newark, Farnell, element14, needs parts from a non-US distributor, wants to compare pricing across regions, or needs datasheets from a source that doesn't require complex API auth. For package cross-reference tables and BOM workflow, see the `bom` skill.
---

# element14 / Newark / Farnell — Component Search, Datasheets & Ordering

## Related Skills

| Skill | Purpose |
|-------|---------|
| `kicad` | Schematic analysis — extracts MPNs for part lookup |
| `bom` | BOM management — orchestrates sourcing across distributors |
| `spice` | Uses element14 parametric data for behavioral SPICE models |

One API covers three regional storefronts — same catalog, same datasheets, only pricing/stock vary by region:

| Storefront | Region | Store ID |
|------------|--------|----------|
| **Newark** | North America | `www.newark.com` |
| **Farnell** | UK / Europe | `uk.farnell.com` |
| **element14** | Asia-Pacific | `au.element14.com` |

For BOM management and export workflows, see `bom`.

## Key Differences from DigiKey/Mouser

- **Simple auth** — API key as a query parameter, no OAuth flow
- **Free API key** — register at partner.element14.com, courtesy usage allowance
- **Global coverage** — same API covers US (Newark), EU (Farnell), APAC (element14)
- **Unprotected PDFs** — datasheets hosted on farnell.com CDN, download freely with no bot protection
- **Datasheet URL in API response** — `responseGroup=medium` includes `datasheets[].url`

## API Credential Setup

1. **Register** at [partner.element14.com/member/register](https://partner.element14.com/member/register)
   - Free account — just username, email, password. No credit card needed.
   - Provides a "courtesy usage allowance" (2 calls/sec, 1,000 calls/day — sufficient for normal use)
2. **Register an application** — after logging in, go to [My API Keys](https://partner.element14.com/apps/mykeys) and click "Get API Keys"
   - App name: anything (e.g., "kicad-happy")
   - Type: "Desktop application"
   - Users: "1-10"
   - Commercial: No
   - Advertising: No
   - Check "Issue a new key for Product Search API" → select "Basic" tier
   - Agree to Terms of Service and click "Register Application"
3. **Copy your API key** — a 24-character alphanumeric string shown on the My API Keys page
4. **Set the environment variable** `ELEMENT14_API_KEY` before running the scripts:
   ```bash
   export ELEMENT14_API_KEY=your_api_key_here
   ```
   If credentials are stored in a central secrets file (e.g., `~/.config/secrets.env`), load them first:
   ```bash
   export $(grep -v '^#' ~/.config/secrets.env | grep -v '^$' | xargs)
   ```

## Product Search API

**Base URL:** `https://api.element14.com/catalog/products`

All requests use GET with query parameters. Authentication is via `callInfo.apiKey`.

### Search Modes

The `term` parameter supports three search types:

| Mode | Format | Example |
|------|--------|---------|
| **Keyword** | `any:<keywords>` | `term=any:100nF 0402 X7R` |
| **MPN** | `manuPartNum:<mpn>` | `term=manuPartNum:GRM155R71C104KA88D` |
| **Distributor PN** | `id:<sku>` | `term=id:94AK6874` |

### Full Example

```
GET https://api.element14.com/catalog/products
  ?term=manuPartNum:GRM155R71C104KA88D
  &storeInfo.id=www.newark.com
  &resultsSettings.offset=0
  &resultsSettings.numberOfResults=10
  &resultsSettings.responseGroup=medium
  &callInfo.responseDataFormat=JSON
  &callInfo.apiKey=YOUR_KEY
```

### Response Groups

| Group | Fields |
|-------|--------|
| `small` | SKU, displayName, brandName, MPN, attributes |
| `medium` | + datasheets[], prices[], stock |
| `large` | + images, related products, country of origin |
| `prices` | Tiered pricing only |
| `inventory` | Stock levels by warehouse/region |

### Response Format

With `responseGroup=medium`, the response looks like:

```json
{
  "manufacturerPartNumberSearchReturn": {
    "numberOfResults": 5,
    "products": [
      {
        "sku": "94AK6874",
        "displayName": "Murata GRM155R71C104KA88D",
        "translatedManufacturerPartNumber": "GRM155R71C104KA88D",
        "brandName": "Murata Electronics",
        "datasheets": [
          {
            "type": "TechnicalDataSheet",
            "description": "Datasheet",
            "url": "https://www.farnell.com/datasheets/74273.pdf"
          }
        ],
        "prices": [
          {
            "from": 1,
            "to": 9,
            "cost": 0.156
          }
        ],
        "stock": {
          "level": 45000,
          "leastLeadTime": 0,
          "status": 4,
          "statusMessage": "In Stock"
        },
        "attributes": [
          {"attributeLabel": "Capacitance", "attributeUnit": "", "attributeValue": "100nF"},
          {"attributeLabel": "Voltage Rating", "attributeUnit": "V", "attributeValue": "16"}
        ],
        "rohsStatusCode": "YES"
      }
    ]
  }
}
```

Key fields:
- `sku` — Newark/Farnell/element14 part number
- `translatedManufacturerPartNumber` — MPN
- `brandName` — manufacturer
- `datasheets[].url` — **direct PDF URL** (farnell.com CDN, no bot protection)
- `datasheets[].type` — usually `TechnicalDataSheet`
- `prices[]` — tiered pricing with `from`, `to`, `cost`
- `stock.level` — quantity in stock
- `stock.statusMessage` — human-readable availability
- `attributes[]` — parametric specs (label, unit, value)
- `rohsStatusCode` — RoHS compliance (`YES`/`NO`)

### Store IDs

Common store IDs for the `storeInfo.id` parameter:

| Store ID | Region |
|----------|--------|
| `www.newark.com` | US (default) |
| `uk.farnell.com` | UK |
| `www.farnell.com` | EU |
| `au.element14.com` | Australia |
| `sg.element14.com` | Singapore |
| `in.element14.com` | India |

### Rate Limits

No documented rate limits beyond the courtesy usage allowance. Be respectful — use 0.5s delays between calls.

### Filters

Add to query parameters:
- `resultsSettings.refinements.filter=rohsCompliant` — RoHS parts only
- `resultsSettings.refinements.filter=inStock` — in-stock only

### Pagination

- `resultsSettings.offset` — starting index (0-based)
- `resultsSettings.numberOfResults` — max 50 per page
- Only the first 100 results are reliably pageable

## Datasheet Download & Sync

element14's farnell.com CDN serves datasheet PDFs directly — no bot protection, no special headers needed. Datasheet URLs come from the API response (`datasheets[].url`).

### Datasheet Directory Sync

Use `sync_datasheets_element14.py` to maintain a `datasheets/` directory alongside a KiCad project. Same workflow and `manifest.json` format as the DigiKey, Mouser, and LCSC skills.

```bash
# Sync datasheets for a KiCad project
python3 <skill-path>/scripts/sync_datasheets_element14.py <file.kicad_sch>

# Preview what would be downloaded
python3 <skill-path>/scripts/sync_datasheets_element14.py <file.kicad_sch> --dry-run

# Retry previously failed downloads
python3 <skill-path>/scripts/sync_datasheets_element14.py <file.kicad_sch> --force

# Use a specific store (default: www.newark.com)
python3 <skill-path>/scripts/sync_datasheets_element14.py <file.kicad_sch> --store uk.farnell.com

# Custom output directory
python3 <skill-path>/scripts/sync_datasheets_element14.py <file.kicad_sch> -o ./my-datasheets

# Parallel downloads (3 workers)
python3 <skill-path>/scripts/sync_datasheets_element14.py <file.kicad_sch> --parallel 3

# Batch mode — sync from a plain MPN list (no KiCad project required)
python3 <skill-path>/scripts/sync_datasheets_element14.py --mpn-list mpns.txt --output ./datasheets
```

**MPN-list batch mode** (KH-312) — when you have a list of MPNs but no
KiCad project to point at. One MPN per line; blank lines and `#`
comments (full-line and inline) are skipped; generic values are filtered
via `is_real_mpn()` and de-duplicated. Output defaults to `./datasheets/`
in the current working directory when `--output` is omitted. Note:
`ELEMENT14_API_KEY` is checked unconditionally at startup, so
`--dry-run` still requires the env var to be set even though no
network calls are made.

The script:
- **Runs the kicad schematic analyzer** to extract components, MPNs, and distributor PNs
- **Accepts any identifier** — MPN, Newark/Farnell PN, or other distributor PNs from KiCad symbol properties
- **Prefers MPN search** (`manuPartNum:`) for exact match — falls back to keyword search
- **Downloads from farnell.com CDN** — direct PDF URLs, no bot protection
- **Writes `manifest.json` manifest** — same format as DigiKey/Mouser/LCSC skills
- **Verifies PDF content** — checks MPN, manufacturer, and description keywords
- **Rate-limited** — 0.5s between API calls (configurable with `--delay`)
- **Saves progress incrementally** — safe to interrupt

### Single Datasheet Download

Use `fetch_datasheet_element14.py` for one-off downloads.

```bash
# Search by MPN
python3 <skill-path>/scripts/fetch_datasheet_element14.py --search "GRM155R71C104KA88D" -o datasheet.pdf

# Search by Newark/Farnell part number
python3 <skill-path>/scripts/fetch_datasheet_element14.py --search "94AK6874" -o datasheet.pdf

# Direct URL download
python3 <skill-path>/scripts/fetch_datasheet_element14.py "https://www.farnell.com/datasheets/74273.pdf" -o datasheet.pdf

# JSON output
python3 <skill-path>/scripts/fetch_datasheet_element14.py --search "GRM155R71C104KA88D" --json
```

The script:
- **OS-agnostic** — uses `requests` → `urllib` → `playwright` fallback chain
- **Validates PDF headers** — rejects HTML error pages
- **Falls back to alternative manufacturer sources** when element14 URL fails
- **Exit codes**: 0 = success, 1 = download failed, 2 = search/API error
- **Dependencies**:
  - `pip install requests` (recommended; urllib fallback works fine for element14)
  - `pip install playwright && playwright install chromium` (optional; rarely needed)

## Web Search Fallback

If the API is unavailable, search by fetching product pages directly:

```
https://www.newark.com/search?st=<query>
https://uk.farnell.com/search?st=<query>
```

## Tips

- Use `responseGroup=medium` — includes datasheets and pricing without the overhead of `large`
- Use `manuPartNum:` prefix for exact MPN matches; `any:` for keyword search
- Cross-reference using `translatedManufacturerPartNumber` (MPN) across DigiKey/Mouser/LCSC
- Useful for international users where DigiKey/Mouser shipping is expensive

© aklofas · MIT · aklofas/kicad-happy

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой